PageSourceSearch

https://evds3.tcmb.gov.tr/assets/charts-vendor-CjfLd3I7.js

js tcmb.gov.tr collected 2026-09-24 08:43:20 UTC 287,758 bytes, 3 lines download raw bytes

1import{r as te,c as qt,g as Zt}from"./react-vendor-oJ9U2YUK.js";var Kt={exports:{}};(function(It,Pt){(function(Y,yt){It.exports=yt(te)})(typeof self<"u"?self:qt,function(Y){return function(yt){function K(lt){if(et[lt])return et[lt].exports;var ht=et[lt]={i:lt,l:!1,exports:{}};return yt[lt].call(ht.exports,ht,ht.exports,K),ht.l=!0,ht.exports}var et={};return K.m=yt,K.c=et,K.d=function(lt,ht,dt){K.o(lt,ht)||Object.defineProperty(lt,ht,{configurable:!1,enumerable:!0,get:dt})},K.n=function(lt){var ht=lt&&lt.__esModule?function(){return lt.default}:function(){return lt};return K.d(ht,"a",ht),ht},K.o=function(lt,ht){return Object.prototype.hasOwnProperty.call(lt,ht)},K.p="",K(K.s=0)}([function(yt,K,et){function lt(){return lt=Object.assign?Object.assign.bind():function(d){for(var x=1;x<arguments.length;x++){var v=arguments[x];for(var S in v)Object.prototype.hasOwnProperty.call(v,S)&&(d[S]=v[S])}return d},lt.apply(this,arguments)}function ht(d){return q(d)||at(d)||nt(d)||dt()}function dt(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
2In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}
2function nt(d,x){{if(typeof d=="string")return $(d,x);var v=Object.prototype.toString.call(d).slice(8,-1);return v==="Object"&&d.constructor&&(v=d.constructor.name),v==="Map"||v==="Set"?Array.from(d):v==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(v)?$(d,x):void 0}}function at(d){if(typeof Symbol<"u"&&d[Symbol.iterator]!=null||d["@@iterator"]!=null)return Array.from(d)}function q(d){if(Array.isArray(d))return $(d)}function $(d,x){(x==null||x>d.length)&&(x=d.length);for(var v=0,S=new Array(x);v<x;v++)S[v]=d[v];return S}function V(d){"@babel/helpers - typeof";return(V=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(x){return typeof x}:function(x){return x&&typeof Symbol=="function"&&x.constructor===Symbol&&x!==Symbol.prototype?"symbol":typeof x})(d)}Object.defineProperty(K,"__esModule",{value:!0}),et.d(K,"HighchartsReact",function(){return P});var C=et(1),B=et.n(C),j=typeof window<"u"?C.useLayoutEffect:C.useEffect,P=Object(C.memo)(Object(C.forwardRef)(function(d,x){var v=Object(C.useRef)(),S=Object(C.useRef)(),u=Object(C.useRef)(d.constructorType),M=Object(C.useRef)(d.highcharts);return j(function(){function G(){var k=d.highcharts||(typeof window>"u"?"undefined":V(window))==="object"&&window.Highcharts,o=d.constructorType||"chart";k?k[o]?d.options?S.current=k[o](v.current,d.options,d.callback):console.warn('The "options" property was not passed.'):console.warn('The "constructorType" property is incorrect or some required module is not imported.'):console.warn('The "highcharts" property was not passed.')}if(S.current){if(d.allowChartUpdate!==!1)if(d.constructorType!==u.current||d.highcharts!==M.current)u.current=d.constructorType,M.current=d.highcharts,G();else if(!d.immutable&&S.current){var O;(O=S.current).update.apply(O,[d.options].concat(ht(d.updateArgs||[!0,!0])))}else G()}else G()},[d.options,d.allowChartUpdate,d.updateArgs,d.containerProps,d.highcharts,d.constructorType]),j(function(){return function(){S.current&&(S.current.destroy(),S.current=null)}},[]),Object(C.useImperativeHandle)(x,function(){return{get chart(){return S.current},container:v}},[]),B.a.createElement("div",lt({},d.containerProps,{ref:v}))}));K.default=P},function(yt,K){yt.exports=Y}])})})(Kt);var ee=Kt.exports;const re=Zt(ee);var _t={exports:{}};(function(It){(function(Pt,Y){It.exports?(Y.default=Y,It.exports=Pt&&Pt.document?Y(Pt):Y):(Pt.Highcharts&&Pt.Highcharts.error(16,!0),Pt.Highcharts=Y(Pt))})(typeof window<"u"?window:qt,function(Pt){var Y={};function yt(K,et,lt,ht){!K.hasOwnProperty(et)&&(K[et]=ht.apply(null,lt),Pt&&typeof CustomEvent=="function"&&Pt.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:et,module:K[et]}})))}return yt(Y,"Core/Globals.js",[],function(){var K,et;return(et=K||(K={})).SVG_NS="http://www.w3.org/2000/svg",et.product="Highcharts",et.version="11.4.8",et.win=Pt!==void 0?Pt:{},et.doc=et.win.document,et.svg=et.doc&&et.doc.createElementNS&&!!et.doc.createElementNS(et.SVG_NS,"svg").createSVGRect,et.userAgent=et.win.navigator&&et.win.navigator.userAgent||"",et.isChrome=et.win.chrome,et.isFirefox=et.userAgent.indexOf("Firefox")!==-1,et.isMS=/(edge|msie|trident)/i.test(et.userAgent)&&!et.win.opera,et.isSafari=!et.isChrome&&et.userAgent.indexOf("Safari")!==-1,et.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(et.userAgent),et.isWebKit=et.userAgent.indexOf("AppleWebKit")!==-1,et.deg2rad=2*Math.PI/360,et.hasBidiBug=et.isFirefox&&4>parseInt(et.userAgent.split("Firefox/")[1],10),et.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],et.noop=function(){},et.supportsPassiveEvents=function(){let lt=!1;if(!et.isMS){let ht=Object.defineProperty({},"passive",{get:function(){lt=!0}});et.win.addEventListener&&et.win.removeEventListener&&(et.win.addEventListener("testPassive",et.noop,ht),et.win.removeEventListener("testPassive",et.noop,ht))}return lt}(),et.charts=[],et.composed=[],et.dateFormats={},et.seriesTypes={},et.symbolSizes={},et.chartCount=0,K}),yt(Y,"Core/Utilities.js",[Y["Core/Globals.js"]],function(K){let et,{charts:lt,doc:ht,win:dt}=K;function nt(e,t,r,a){let m=t?"Highcharts error":"Highcharts warning";e===32&&(e=`${m}: Deprecated member`);let b=j(e),h=b?`${m} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(a!==void 0){let T="";b&&(h+="?"),k(a,function(F,f){T+=`
3 - ${f}: ${F}`,b&&(h+=encodeURI(f)+"="+encodeURI(F))}),h+=T}g(K,"displayError",{chart:r,code:e,message:h,params:a},function(){if(t)throw Error(h);dt.console&&nt.messages.indexOf(h)===-1&&console.warn(h)}),nt.messages.push(h)}function at(e,t){return parseInt(e,t||10)}function q(e){return typeof e=="string"}function $(e){let t=Object.prototype.toString.call(e);return t==="[object Array]"||t==="[object Array Iterator]"}function V(e,t){return!!e&&typeof e=="object"&&(!t||!$(e))}function C(e){return V(e)&&typeof e.nodeType=="number"}function B(e){let t=e&&e.constructor;return!!(V(e,!0)&&!C(e)&&t&&t.name&&t.name!=="Object")}function j(e){return typeof e=="number"&&!isNaN(e)&&e<1/0&&e>-1/0}function P(e){return e!=null}function d(e,t,r){let a,m=q(t)&&!P(r),b=(h,T)=>{P(h)?e.setAttribute(T,h):m?(a=e.getAttribute(T))||T!=="class"||(a=e.getAttribute(T+"Name")):e.removeAttribute(T)};return q(t)?b(r,t):k(t,b),a}function x(e){return $(e)?e:[e]}function v(e,t){let r;for(r in e||(e={}),t)e[r]=t[r];return e}function S(){let e=arguments,t=e.length;for(let r=0;r<t;r++){let a=e[r];if(a!=null)return a}}function u(e,t){v(e.style,t)}function M(e){return Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function G(e,t){return e>1e14?e:parseFloat(e.toPrecision(t||14))}nt.messages=[],Math.easeInOutSine=function(e){return-.5*(Math.cos(Math.PI*e)-1)};let O=Array.prototype.find?function(e,t){return e.find(t)}:function(e,t){let r,a=e.length;for(r=0;r<a;r++)if(t(e[r],r))return e[r]};function k(e,t,r){for(let a in e)Object.hasOwnProperty.call(e,a)&&t.call(r||e[a],e[a],a,e)}function o(e,t,r){function a(h,T){let F=e.removeEventListener;F&&F.call(e,h,T,!1)}function m(h){let T,F;e.nodeName&&(t?(T={})[t]=!0:T=h,k(T,function(f,L){if(h[L])for(F=h[L].length;F--;)a(L,h[L][F].fn)}))}let b=typeof e=="function"&&e.prototype||e;if(Object.hasOwnProperty.call(b,"hcEvents")){let h=b.hcEvents;if(t){let T=h[t]||[];r?(h[t]=T.filter(function(F){return r!==F.fn}),a(t,r)):(m(h),h[t]=[])}else m(h),delete b.hcEvents}}function g(e,t,r,a){if(r=r||{}
3,ht.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==K)){let m=ht.createEvent("Events");m.initEvent(t,!0,!0),r=v(m,r),e.dispatchEvent?e.dispatchEvent(r):e.fireEvent(t,r)}else if(e.hcEvents){r.target||v(r,{preventDefault:function(){r.defaultPrevented=!0},target:e,type:t});let m=[],b=e,h=!1;for(;b.hcEvents;)Object.hasOwnProperty.call(b,"hcEvents")&&b.hcEvents[t]&&(m.length&&(h=!0),m.unshift.apply(m,b.hcEvents[t])),b=Object.getPrototypeOf(b);h&&m.sort((T,F)=>T.order-F.order),m.forEach(T=>{T.fn.call(e,r)===!1&&r.preventDefault()})}a&&!r.defaultPrevented&&a.call(e,r)}k({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,t){K[t]=function(r){return nt(32,!1,void 0,{[`Highcharts.${t}`]:`use Array.${e}`}),Array.prototype[e].apply(r,[].slice.call(arguments,1))}});let s=function(){let e=Math.random().toString(36).substring(2,9)+"-",t=0;return function(){return"highcharts-"+(et?"":e)+t++}}();return dt.jQuery&&(dt.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new K[q(e[0])?e.shift():"Chart"](this[0],e[0],e[1]),this):lt[d(this[0],"data-highcharts-chart")]}),{addEvent:function(e,t,r,a={}){let m=typeof e=="function"&&e.prototype||e;Object.hasOwnProperty.call(m,"hcEvents")||(m.hcEvents={});let b=m.hcEvents;K.Point&&e instanceof K.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let h=e.addEventListener;h&&h.call(e,t,r,!!K.supportsPassiveEvents&&{passive:a.passive===void 0?t.indexOf("touch")!==-1:a.passive,capture:!1}),b[t]||(b[t]=[]);let T={fn:r,order:typeof a.order=="number"?a.order:1/0};return b[t].push(T),b[t].sort((F,f)=>F.order-f.order),function(){o(e,t,r)}},arrayMax:function(e){let t=e.length,r=e[0];for(;t--;)e[t]>r&&(r=e[t]);return r},arrayMin:function(e){let t=e.length,r=e[0];for(;t--;)e[t]<r&&(r=e[t]);return r},attr:d,clamp:function(e,t,r){return e>t?e<r?e:r:t},clearTimeout:function(e){P(e)&&clearTimeout(e)},correctFloat:G,createElement:function(e,t,r,a,m){let b=ht.createElement(e);return t&&v(b,t),m&&u(b,{padding:"0",border:"none",margin:"0"}),r&&u(b,r),a&&a.appendChild(b),b},crisp:(e,t=0,r)=>{let a=t%2/2,m=r?-1:1;return(Math.round(e*m-a)+a)*m},css:u,defined:P,destroyObjectProperties:function(e,t,r){k(e,function(a,m){a!==t&&(a!=null&&a.destroy)&&a.destroy(),(a!=null&&a.destroy||!r)&&delete e[m]})},diffObjects:function(e,t,r,a){let m={};return function b(h,T,F,f){let L=r?T:h;k(h,function(I,W){if(!f&&a&&a.indexOf(W)>-1&&T[W]){I=x(I),F[W]=[];for(let Q=0;Q<Math.max(I.length,T[W].length);Q++)T[W][Q]&&(I[Q]===void 0?F[W][Q]=T[W][Q]:(F[W][Q]={},b(I[Q],T[W][Q],F[W][Q],f+1)))}else V(I,!0)&&!I.nodeType?(F[W]=$(I)?[]:{},b(I,T[W]||{},F[W],f+1),Object.keys(F[W]).length!==0||W==="colorAxis"&&f===0||delete F[W]):(h[W]!==T[W]||W in h&&!(W in T))&&W!=="__proto__"&&W!=="constructor"&&(F[W]=L[W])})}(e,t,m,0),m},discardElement:function(e){e&&e.parentElement&&e.parentElement.removeChild(e)},erase:function(e,t){let r=e.length;for(;r--;)if(e[r]===t){e.splice(r,1);break}},error:nt,extend:v,extendClass:function(e,t){let r=function(){};return r.prototype=new e,v(r.prototype,t),r},find:O,fireEvent:g,getClosestDistance:function(e,t){let r,a,m,b=!t;return e.forEach(h=>{if(h.length>1)for(m=h.length-1;m>0;m--)(a=h[m]-h[m-1])<0&&!b?(t==null||t(),t=void 0):a&&(r===void 0||a<r)&&(r=a)}),r},getMagnitude:M,getNestedProperty:function(e,t){let r=e.split(".");for(;r.length&&P(t);){let a=r.shift();if(a===void 0||a==="__proto__")return;if(a==="this"){let b;return V(t)&&(b=t["@this"]),b??t}let m=t[a];if(!P(m)||typeof m=="function"||typeof m.nodeType=="number"||m===dt)return;t=m}return t},getStyle:function e(t,r,a){let m;if(r==="width"){let h=Math.min(t.offsetWidth,t.scrollWidth),T=t.getBoundingClientRect&&t.getBoundingClientRect().width;return T<h&&T>=h-1&&(h=Math.floor(T)),Math.max(0,h-(e(t,"padding-left",!0)||0)-(e(t,"padding-right",!0)||0))}if(r==="height")return Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-(e(t,"padding-top",!0)||0)-(e(t,"padding-bottom",!0)||0));let b=dt.getComputedStyle(t,void 0);return b&&(m=b.getPropertyValue(r),S(a,r!=="opacity")&&(m=at(m))),m},inArray:function(e,t,r){return nt(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),t.indexOf(e,r)},insertItem:function(e,t){let r,a=e.options.index,m=t.length;for(r=e.options.isInternal?m:0;r<m+1;r++)if(!t[r]||j(a)&&a<S(t[r].options.index,t[r]._i)||t[r].options.isInternal){t.splice(r,0,e);break}return r},isArray:$,isClass:B,isDOMElement:C,isFunction:function(e){return typeof e=="function"},isNumber:j,isObject:V,isString:q,keys:function(e){return nt(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(e)},merge:function(){let e,t=arguments,r={},a=function(b,h){return typeof b!="object"&&(b={}),k(h,function(T,F){F!=="__proto__"&&F!=="constructor"&&(!V(T,!0)||B(T)||C(T)?b[F]=h[F]:b[F]=a(b[F]||{},T))}),b};t[0]===!0&&(r=t[1],t=Array.prototype.slice.call(t,2));let m=t.length;for(e=0;e<m;e++)r=a(r,t[e]);return r},normalizeTickInterval:function(e,t,r,a,m){let b,h=e;r=S(r,M(e));let T=e/r;for(!t&&(t=m?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],a===!1&&(r===1?t=t.filter(function(F){return F%1==0}
3):r<=.1&&(t=[1/r]))),b=0;b<t.length&&(h=t[b],(!m||!(h*r>=e))&&(m||!(T<=(t[b]+(t[b+1]||t[b]))/2)));b++);return G(h*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:k,offset:function(e){let t=ht.documentElement,r=e.parentElement||e.parentNode?e.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(dt.pageYOffset||t.scrollTop)-(t.clientTop||0),left:r.left+(dt.pageXOffset||t.scrollLeft)-(t.clientLeft||0),width:r.width,height:r.height}},pad:function(e,t,r){return Array((t||2)+1-String(e).replace("-","").length).join(r||"0")+e},pick:S,pInt:at,pushUnique:function(e,t){return 0>e.indexOf(t)&&!!e.push(t)},relativeLength:function(e,t,r){return/%$/.test(e)?t*parseFloat(e)/100+(r||0):parseFloat(e)},removeEvent:o,replaceNested:function(e,...t){let r,a;do for(a of(r=e,t))e=e.replace(a[0],a[1]);while(e!==r);return e},splat:x,stableSort:function(e,t){let r,a,m=e.length;for(a=0;a<m;a++)e[a].safeI=a;for(e.sort(function(b,h){return(r=t(b,h))===0?b.safeI-h.safeI:r}),a=0;a<m;a++)delete e[a].safeI},syncTimeout:function(e,t,r){return t>0?setTimeout(e,t,r):(e.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:s,useSerialIds:function(e){return et=S(e,et)},wrap:function(e,t,r){let a=e[t];e[t]=function(){let m=arguments,b=this;return r.apply(this,[function(){return a.apply(b,arguments.length?arguments:m)}].concat([].slice.call(arguments)))}}}}),yt(Y,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),yt(Y,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),yt(Y,"Core/Time.js",[Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(K,et){let{win:lt}=K,{defined:ht,error:dt,extend:nt,isNumber:at,isObject:q,merge:$,objectEach:V,pad:C,pick:B,splat:j,timeUnits:P}=et,d=K.isSafari&&lt.Intl&&lt.Intl.DateTimeFormat.prototype.formatRange,x=K.isSafari&&lt.Intl&&!lt.Intl.DateTimeFormat.prototype.formatRange;class v{constructor(u){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=lt.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(u)}get(u,M){if(this.variableTimezone||this.timezoneOffset){let G=M.getTime(),O=G-this.getTimezoneOffset(M);M.setTime(O);let k=M["getUTC"+u]();return M.setTime(G),k}return this.useUTC?M["getUTC"+u]():M["get"+u]()}set(u,M,G){if(this.variableTimezone||this.timezoneOffset){if(u==="Milliseconds"||u==="Seconds"||u==="Minutes"&&this.getTimezoneOffset(M)%36e5==0)return M["setUTC"+u](G);let O=this.getTimezoneOffset(M),k=M.getTime()-O;M.setTime(k),M["setUTC"+u](G);let o=this.getTimezoneOffset(M);return k=M.getTime()+o,M.setTime(k)}return this.useUTC||d&&u==="FullYear"?M["setUTC"+u](G):M["set"+u](G)}update(u={}){let M=B(u.useUTC,!0);this.options=u=$(!0,this.options,u),this.Date=u.Date||lt.Date||Date,this.useUTC=M,this.timezoneOffset=M&&u.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=M&&!!(u.getTimezoneOffset||u.timezone)}makeTime(u,M,G,O,k,o){let g,s,e;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),s=this.getTimezoneOffset(g),g+=s,s!==(e=this.getTimezoneOffset(g))?g+=e-s:s-36e5!==this.getTimezoneOffset(g-36e5)||x||(g-=36e5)):g=new this.Date(u,M,B(G,1),B(O,0),B(k,0),B(o,0)).getTime(),g}timezoneOffsetFunction(){let u=this,M=this.options,G=M.getTimezoneOffset;return this.useUTC?M.timezone?O=>{try{let k=`shortOffset,${M.timezone||""}`,[o,g,s,e,t=0]=(v.formatCache[k]=v.formatCache[k]||Intl.DateTimeFormat("en",{timeZone:M.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-(36e5*(s+t/60));if(at(r))return r}catch{dt(34)}return 0}:this.useUTC&&G?O=>6e4*G(O.valueOf()):()=>6e4*(u.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(u,M,G){if(!ht(M)||isNaN(M))return K.defaultOptions.lang&&K.defaultOptions.lang.invali
3dDate||"";u=B(u,"%Y-%m-%d %H:%M:%S");let O=this,k=new this.Date(M),o=this.get("Hours",k),g=this.get("Day",k),s=this.get("Date",k),e=this.get("Month",k),t=this.get("FullYear",k),r=K.defaultOptions.lang,a=r&&r.weekdays,m=r&&r.shortWeekdays;return V(nt({a:m?m[g]:a[g].substr(0,3),A:a[g],d:C(s),e:C(s,2," "),w:g,b:r.shortMonths[e],B:r.months[e],m:C(e+1),o:e+1,y:t.toString().substr(2,2),Y:t,H:C(o),k:o,I:C(o%12||12),l:o%12||12,M:C(this.get("Minutes",k)),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:C(this.get("Seconds",k)),L:C(Math.floor(M%1e3),3)},K.dateFormats),function(b,h){for(;u.indexOf("%"+h)!==-1;)u=u.replace("%"+h,typeof b=="function"?b.call(O,M):b)}),G?u.substr(0,1).toUpperCase()+u.substr(1):u}resolveDTLFormat(u){return q(u,!0)?u:{main:(u=j(u))[0],from:u[1],to:u[2]}}getTimeTicks(u,M,G,O){let k,o,g,s,e=this,t=e.Date,r=[],a={},m=new t(M),b=u.unitRange,h=u.count||1;if(O=B(O,1),ht(M)){e.set("Milliseconds",m,b>=P.second?0:h*Math.floor(e.get("Milliseconds",m)/h)),b>=P.second&&e.set("Seconds",m,b>=P.minute?0:h*Math.floor(e.get("Seconds",m)/h)),b>=P.minute&&e.set("Minutes",m,b>=P.hour?0:h*Math.floor(e.get("Minutes",m)/h)),b>=P.hour&&e.set("Hours",m,b>=P.day?0:h*Math.floor(e.get("Hours",m)/h)),b>=P.day&&e.set("Date",m,b>=P.month?1:Math.max(1,h*Math.floor(e.get("Date",m)/h))),b>=P.month&&(e.set("Month",m,b>=P.year?0:h*Math.floor(e.get("Month",m)/h)),o=e.get("FullYear",m)),b>=P.year&&(o-=o%h,e.set("FullYear",m,o)),b===P.week&&(s=e.get("Day",m),e.set("Date",m,e.get("Date",m)-s+O+(s<O?-7:0))),o=e.get("FullYear",m);let T=e.get("Month",m),F=e.get("Date",m),f=e.get("Hours",m);M=m.getTime(),(e.variableTimezone||!e.useUTC)&&ht(G)&&(g=G-M>4*P.month||e.getTimezoneOffset(M)!==e.getTimezoneOffset(G));let L=m.getTime();for(k=1;L<G;)r.push(L),b===P.year?L=e.makeTime(o+k*h,0):b===P.month?L=e.makeTime(o,T+k*h):g&&(b===P.day||b===P.week)?L=e.makeTime(o,T,F+k*h*(b===P.day?1:7)):g&&b===P.hour&&h>1?L=e.makeTime(o,T,F,f+k*h):L+=b*h,k++;r.push(L),b<=P.hour&&r.length<1e4&&r.forEach(function(I){I%18e5==0&&e.dateFormat("%H%M%S%L",I)==="000000000"&&(a[I]="day")})}return r.info=nt(u,{higherRanks:a,totalRange:b*h}),r}getDateFormat(u,M,G,O){let k=this.dateFormat("%m-%d %H:%M:%S.%L",M),o="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},s="millisecond",e=s;for(s in P){if(u===P.week&&+this.dateFormat("%w",M)===G&&k.substr(6)===o.substr(6)){s="week";break}if(P[s]>u){s=e;break}if(g[s]&&k.substr(g[s])!==o.substr(g[s]))break;s!=="week"&&(e=s)}return this.resolveDTLFormat(O[s]).main}}return v.formatCache={},v}),yt(Y,"Core/Defaults.js",[Y["Core/Chart/ChartDefaults.js"],Y["Core/Globals.js"],Y["Core/Color/Palettes.js"],Y["Core/Time.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht,dt){let{isTouchDevice:nt}=et,{fireEvent:at,merge:q}=dt,$={colors:lt.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:K,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:C=>Math.sqrt(1-Math.pow(C-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:nt?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};$.chart.styledMode=!1;let V=new ht($.time);return{defaultOptions:$,defaultTime:V,getOptions:function(){return $},setOptions:function(C){return at(et,"setOptions",{options:C}),q(!0,$,C),(C.time||C.global)&&(et.time?et.time.update(q($.global,$.time,C.global,C.time)):et.time=V),$}}}),yt(Y,"Core/Color/Color.js",[Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(K,et){let{isNumber:lt,merge:ht,pInt:dt}=et;class nt{static parse(q){return q?new nt(q):nt.None}constructor(q){let $,V,C,B;this.rgba=[NaN,NaN,NaN,NaN],this.input=q;let j=K.Color;if(j&&j!==nt)return new j(q);if(typeof q=="object"&&q.stops!==void 0)this.stops=q.stops.map(P=>new nt(P[1]));
3else if(typeof q=="string"){if(this.input=q=nt.names[q.toLowerCase()]||q,q.charAt(0)==="#"){let P=q.length,d=parseInt(q.substr(1),16);P===7?V=[(16711680&d)>>16,(65280&d)>>8,255&d,1]:P===4&&(V=[(3840&d)>>4|(3840&d)>>8,(240&d)>>4|240&d,(15&d)<<4|15&d,1])}if(!V)for(C=nt.parsers.length;C--&&!V;)($=(B=nt.parsers[C]).regex.exec(q))&&(V=B.parse($))}V&&(this.rgba=V)}get(q){let $=this.input,V=this.rgba;if(typeof $=="object"&&this.stops!==void 0){let C=ht($);return C.stops=[].slice.call(C.stops),this.stops.forEach((B,j)=>{C.stops[j]=[C.stops[j][0],B.get(q)]}),C}return V&&lt(V[0])?q!=="rgb"&&(q||V[3]!==1)?q==="a"?`${V[3]}`:"rgba("+V.join(",")+")":"rgb("+V[0]+","+V[1]+","+V[2]+")":$}brighten(q){let $=this.rgba;if(this.stops)this.stops.forEach(function(V){V.brighten(q)});else if(lt(q)&&q!==0)for(let V=0;V<3;V++)$[V]+=dt(255*q),$[V]<0&&($[V]=0),$[V]>255&&($[V]=255);return this}setOpacity(q){return this.rgba[3]=q,this}tweenTo(q,$){let V=this.rgba,C=q.rgba;if(!lt(V[0])||!lt(C[0]))return q.input||"none";let B=C[3]!==1||V[3]!==1;return(B?"rgba(":"rgb(")+Math.round(C[0]+(V[0]-C[0])*(1-$))+","+Math.round(C[1]+(V[1]-C[1])*(1-$))+","+Math.round(C[2]+(V[2]-C[2])*(1-$))+(B?","+(C[3]+(V[3]-C[3])*(1-$)):"")+")"}}return nt.names={white:"#ffffff",black:"#000000"},nt.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(at){return[dt(at[1]),dt(at[2]),dt(at[3]),parseFloat(at[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(at){return[dt(at[1]),dt(at[2]),dt(at[3]),1]}}],nt.None=new nt(""),nt}),yt(Y,"Core/Animation/Fx.js",[Y["Core/Color/Color.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(K,et,lt){let{parse:ht}=K,{win:dt}=et,{isNumber:nt,objectEach:at}=lt;class q{constructor(V,C,B){this.pos=NaN,this.options=C,this.elem=V,this.prop=B}dSetter(){let V=this.paths,C=V&&V[0],B=V&&V[1],j=this.now||0,P=[];if(j!==1&&C&&B)if(C.length===B.length&&j<1)for(let d=0;d<B.length;d++){let x=C[d],v=B[d],S=[];for(let u=0;u<v.length;u++){let M=x[u],G=v[u];nt(M)&&nt(G)&&!(v[0]==="A"&&(u===4||u===5))?S[u]=M+j*(G-M):S[u]=G}P.push(S)}else P=B;else P=this.toD||[];this.elem.attr("d",P,void 0,!0)}update(){let V=this.elem,C=this.prop,B=this.now,j=this.options.step;this[C+"Setter"]?this[C+"Setter"]():V.attr?V.element&&V.attr(C,B,null,!0):V.style[C]=B+this.unit,j&&j.call(V,B,this)}run(V,C,B){let j=this,P=j.options,d=function(S){return!d.stopped&&j.step(S)},x=dt.requestAnimationFrame||function(S){setTimeout(S,13)},v=function(){for(let S=0;S<q.timers.length;S++)q.timers[S]()||q.timers.splice(S--,1);q.timers.length&&x(v)};V!==C||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=V,this.end=C,this.unit=B,this.now=this.start,this.pos=0,d.elem=this.elem,d.prop=this.prop,d()&&q.timers.push(d)===1&&x(v)):(delete P.curAnim[this.prop],P.complete&&Object.keys(P.curAnim).length===0&&P.complete.call(this.elem))}step(V){let C,B,j=+new Date,P=this.options,d=this.elem,x=P.complete,v=P.duration,S=P.curAnim;return d.attr&&!d.element?C=!1:V||j>=v+this.startTime?(this.now=this.end,this.pos=1,this.update(),S[this.prop]=!0,B=!0,at(S,function(u){u!==!0&&(B=!1)}),B&&x&&x.call(d),C=!1):(this.pos=P.easing((j-this.startTime)/v),this.now=this.start+(this.end-this.start)*this.pos,this.update(),C=!0),C}initPath(V,C,B){let j=V.startX,P=V.endX,d=B.slice(),x=V.isArea,v=x?2:1,S=C&&B.length>C.length&&B.hasStackedCliffs,u,M,G,O,k=C&&C.slice();if(!k||S)return[d,d];function o(s,e){for(;s.length<M;){let t=s[0],r=e[M-s.length];if(r&&t[0]==="M"&&(r[0]==="C"?s[0]=["C",t[1],t[2],t[1],t[2],t[1],t[2]]:s[0]=["L",t[1],t[2]]),s.unshift(t),x){let a=s.pop();s.push(s[s.length-1],a)}}}function g(s){for(;s.length<M;){let e=s[Math.floor(s.length/v)-1].slice();if(e[0]==="C"&&(e[1]=e[5],e[2]=e[6]),x){let t=s[Math.floor(s.length/v)].slice();s.splice(s.length/2,0,e,t)}else s.push(e)}}if(j&&P&&P.length){for(G=0;G<j.length;G++){if(j[G]===P[0]){u=G;break}if(j[0]===P[P.length-j.length+G]){u=G,O=!0;break}if(j[j.length-1]===P[P.length-j.length+G]){u=j.length-G;break}}u===void 0&&(k=[])}
3return k.length&&nt(u)&&(M=d.length+u*v,O?(o(k,d),g(d)):(o(d,k),g(k))),[k,d]}fillSetter(){q.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,ht(this.start).tweenTo(ht(this.end),this.pos),void 0,!0)}}return q.timers=[],q}),yt(Y,"Core/Animation/AnimationUtilities.js",[Y["Core/Animation/Fx.js"],Y["Core/Utilities.js"]],function(K,et){let{defined:lt,getStyle:ht,isArray:dt,isNumber:nt,isObject:at,merge:q,objectEach:$,pick:V}=et;function C(j){return at(j)?q({duration:500,defer:0},j):{duration:j?500:0,defer:0}}function B(j,P){let d=K.timers.length;for(;d--;)K.timers[d].elem!==j||P&&P!==K.timers[d].prop||(K.timers[d].stopped=!0)}return{animate:function(j,P,d){let x,v="",S,u,M;at(d)||(M=arguments,d={duration:M[2],easing:M[3],complete:M[4]}),nt(d.duration)||(d.duration=400),d.easing=typeof d.easing=="function"?d.easing:Math[d.easing]||Math.easeInOutSine,d.curAnim=q(P),$(P,function(G,O){B(j,O),u=new K(j,d,O),S=void 0,O==="d"&&dt(P.d)?(u.paths=u.initPath(j,j.pathArray,P.d),u.toD=P.d,x=0,S=1):j.attr?x=j.attr(O):(x=parseFloat(ht(j,O))||0,O!=="opacity"&&(v="px")),S||(S=G),typeof S=="string"&&S.match("px")&&(S=S.replace(/px/g,"")),u.run(x,S,v)})},animObject:C,getDeferredAnimation:function(j,P,d){let x=C(P),v=d?[d]:j.series,S=0,u=0;return v.forEach(M=>{let G=C(M.options.animation);S=at(P)&&lt(P.defer)?x.defer:Math.max(S,G.duration+G.defer),u=Math.min(x.duration,G.duration)}),j.renderer.forExport&&(S=0),{defer:Math.max(0,S-u),duration:Math.min(S,u)}},setAnimation:function(j,P){P.renderer.globalAnimation=V(j,P.options.chart.animation,!0)},stop:B}}),yt(Y,"Core/Renderer/HTML/AST.js",[Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(K,et){let{SVG_NS:lt,win:ht}=K,{attr:dt,createElement:nt,css:at,error:q,isFunction:$,isString:V,objectEach:C,splat:B}=et,{trustedTypes:j}=ht,P=j&&$(j.createPolicy)&&j.createPolicy("highcharts",{createHTML:S=>S}),d=P?P.createHTML(""):"",x=function(){try{return!!new DOMParser().parseFromString(d,"text/html")}catch{return!1}}();class v{static filterUserAttributes(u){return C(u,(M,G)=>{let O=!0;v.allowedAttributes.indexOf(G)===-1&&(O=!1),["background","dynsrc","href","lowsrc","src"].indexOf(G)!==-1&&(O=V(M)&&v.allowedReferences.some(k=>M.indexOf(k)===0)),O||(q(33,!1,void 0,{"Invalid attribute in config":`${G}`}),delete u[G]),V(M)&&u[G]&&(u[G]=M.replace(/</g,"&lt;"))}),u}static parseStyle(u){return u.split(";").reduce((M,G)=>{let O=G.split(":").map(o=>o.trim()),k=O.shift();return k&&O.length&&(M[k.replace(/-([a-z])/g,o=>o[1].toUpperCase())]=O.join(":")),M},{})}static setElementHTML(u,M){u.innerHTML=v.emptyHTML,M&&new v(M).addToDOM(u)}constructor(u){this.nodes=typeof u=="string"?this.parseMarkup(u):u}addToDOM(u){return function M(G,O){let k;return B(G).forEach(function(o){let g,s=o.tagName,e=o.textContent?K.doc.createTextNode(o.textContent):void 0,t=v.bypassHTMLFiltering;if(s)if(s==="#text")g=e;else if(v.allowedTags.indexOf(s)!==-1||t){let r=s==="svg"?lt:O.namespaceURI||lt,a=K.doc.createElementNS(r,s),m=o.attributes||{};C(o,function(b,h){h!=="tagName"&&h!=="attributes"&&h!=="children"&&h!=="style"&&h!=="textContent"&&(m[h]=b)}),dt(a,t?m:v.filterUserAttributes(m)),o.style&&at(a,o.style),e&&a.appendChild(e),M(o.children||[],a),g=a}else q(33,!1,void 0,{"Invalid tagName in config":s});g&&O.appendChild(g),k=g}),k}(this.nodes,u)}parseMarkup(u){let M,G=[];if(u=u.trim().replace(/ style=(["'])/g," data-style=$1"),x)M=new DOMParser().parseFromString(P?P.createHTML(u):u,"text/html");else{let k=nt("div");k.innerHTML=u,M={body:k}}let O=(k,o)=>{let g=k.nodeName.toLowerCase(),s={tagName:g};g==="#text"&&(s.textContent=k.textContent||"");let e=k.attributes;if(e){let t={};[].forEach.call(e,r=>{r.name==="data-style"?s.style=v.parseStyle(r.value):t[r.name]=r.value}),s.attributes=t}if(k.childNodes.length){let t=[];[].forEach.call(k.childNodes,r=>{O(r,t)}),t.length&&(s.children=t)}o.push(s)};return[].forEach.call(M.body.childNodes,k=>O(k,G)),G}}return v.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","
3summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],v.allowedReferences=["https://","http://","mailto:","/","../","./","#"],v.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],v.emptyHTML=d,v.bypassHTMLFiltering=!1,v}),yt(Y,"Core/Templating.js",[Y["Core/Defaults.js"],Y["Core/Utilities.js"]],function(K,et){let{defaultOptions:lt,defaultTime:ht}=K,{extend:dt,getNestedProperty:nt,isArray:at,isNumber:q,isObject:$,pick:V,pInt:C}=et,B={add:(d,x)=>d+x,divide:(d,x)=>x!==0?d/x:"",eq:(d,x)=>d==x,each:function(d){let x=arguments[arguments.length-1];return!!at(d)&&d.map((v,S)=>j(x.body,dt($(v)?v:{"@this":v},{"@index":S,"@first":S===0,"@last":S===d.length-1}))).join("")},ge:(d,x)=>d>=x,gt:(d,x)=>d>x,if:d=>!!d,le:(d,x)=>d<=x,lt:(d,x)=>d<x,multiply:(d,x)=>d*x,ne:(d,x)=>d!=x,subtract:(d,x)=>d-x,unless:d=>!d};function j(d="",x,v){let S=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,u=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,M=[],G=/f$/,O=/\.(\d)/,k=lt.lang,o=v&&v.time||ht,g=v&&v.numberFormatter||P,s=(m="")=>{let b;return m==="true"||m!=="false"&&((b=Number(m)).toString()===m?b:nt(m,x))},e,t,r=0,a;for(;(e=S.exec(d))!==null;){let m=u.exec(e[1]);m&&(e=m,a=!0),t&&t.isBlock||(t={ctx:x,expression:e[1],find:e[0],isBlock:e[1].charAt(0)==="#",start:e.index,startInner:e.index+e[0].length,length:e[0].length});let b=e[1].split(" ")[0].replace("#","");B[b]&&(t.isBlock&&b===t.fn&&r++,t.fn||(t.fn=b));let h=e[1]==="else";if(t.isBlock&&t.fn&&(e[1]===`/${t.fn}`||h))if(r)!h&&r--;else{let T=t.startInner,F=d.substr(T,e.index-T);t.body===void 0?(t.body=F,t.startInner=e.index+e[0].length):t.elseBody=F,t.find+=F+e[0],h||(M.push(t),t=void 0)}else t.isBlock||M.push(t);if(m&&!(t!=null&&t.isBlock))break}return M.forEach(m=>{let b,h,{body:T,elseBody:F,expression:f,fn:L}=m;if(L){let I=[m],W=f.split(" ");for(h=B[L].length;h--;)I.unshift(s(W[h+1]));b=B[L].apply(x,I),m.isBlock&&typeof b=="boolean"&&(b=j(b?T:F,x,v))}else{let I=f.split(":");if(b=s(I.shift()||""),I.length&&typeof b=="number"){let W=I.join(":");if(G.test(W)){let Q=parseInt((W.match(O)||["","-1"])[1],10);b!==null&&(b=g(b,Q,k.decimalPoint,W.indexOf(",")>-1?k.thousandsSep:""))}else b=o.dateFormat(W,b)}}d=d.replace(m.find,V(b,""))}),a?j(d,x,v):d}function P(d,x,v,S){let u,M;d=+d||0,x=+x;let G=lt.lang,O=(d.toString().split(".")[1]||"").split("e")[0].length,k=d.toString().split("e"),o=x;x===-1?x=Math.min(O,20):q(x)?x&&k[1]&&k[1]<0&&((M=x+ +k[1])>=0?(k[0]=(+k[0]).toExponential(M).split("e")[0],x=M):(k[0]=k[0].split(".")[0]||0,d=x<20?(k[0]*Math.pow(10,k[1])).toFixed(x):0,k[1]=0)):x=2;let g=(Math.abs(k[1]?k[0]:d)+Math.pow(10,-Math.max(x,O)-1)).toFixed(x),s=String(C(g)),e=s.length>3?s.length%3:0;return v=V(v,G.decimalPoint),S=V(S,G.thousandsSep),u=(d<0?"-":"")+(e?s.substr(0,e)+S:""),0>+k[1]&&!o?u="0":u+=s.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+S),x?u+=v+g.slice(-x):+u==0&&(u="0"),k[1]&&+u!=0&&(u+="e"+k[1]),u}return{dateFormat:function(d,x,v){return ht.dateFormat(d,x,v)},format:j,helpers:B,numberFormat:P}}),yt(Y,"Core/Renderer/RendererRegistry.js",[Y["Core/Globals.js"]],function(K){var et,lt;let ht;return(lt=et||(et={})).rendererTypes={},lt.getRendererType=function(dt=ht){return lt.rendererTypes[dt]||lt.rendererTypes[ht]},lt.registerRendererType=function(dt,nt,at){lt.rendererTypes[dt]=nt,(!ht||at)&&(ht=dt,K.Renderer=nt)},et}),yt(Y,"Core/Renderer/RendererUtilities.js",[Y["Core/Utilities.js"]],function(K){var et;let{clamp:lt,pick:ht,pushUnique:dt,stableSort:nt}=K;return(et||(et={})).distribute=function at(q,$,V){let C=q,B=C.reducedLen||$,j=(s,e)=>s.target-e.target,P=[],d=q.length,x=[],v=P.push,S,u,M,G=!0,O,k,o=0,g;for(S=d;S--;)o+=q[S].size;if(o>B){for(nt(q,(s,e)=>(e.rank||0)-(s.rank||0)),M=(g=q[0].rank===q[q.length-1].rank)?d/2:-1,u=g?M:d-1;M&&o>B;
3)O=q[S=Math.floor(u)],dt(x,S)&&(o-=O.size),u+=M,g&&u>=q.length&&(M/=2,u=M);x.sort((s,e)=>e-s).forEach(s=>v.apply(P,q.splice(s,1)))}for(nt(q,j),q=q.map(s=>({size:s.size,targets:[s.target],align:ht(s.align,.5)}));G;){for(S=q.length;S--;)O=q[S],k=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=lt(k-O.size*O.align,0,$-O.size);for(S=q.length,G=!1;S--;)S>0&&q[S-1].pos+q[S-1].size>q[S].pos&&(q[S-1].size+=q[S].size,q[S-1].targets=q[S-1].targets.concat(q[S].targets),q[S-1].align=.5,q[S-1].pos+q[S-1].size>$&&(q[S-1].pos=$-q[S-1].size),q.splice(S,1),G=!0)}return v.apply(C,P),S=0,q.some(s=>{let e=0;return(s.targets||[]).some(()=>(C[S].pos=s.pos+e,V!==void 0&&Math.abs(C[S].pos-C[S].target)>V?(C.slice(0,S+1).forEach(t=>delete t.pos),C.reducedLen=(C.reducedLen||$)-.1*$,C.reducedLen>.1*$&&at(C,$,V),!0):(e+=C[S].size,S++,!1)))}),nt(C,j),C},et}),yt(Y,"Core/Renderer/SVG/SVGElement.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Color/Color.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht){let{animate:dt,animObject:nt,stop:at}=K,{deg2rad:q,doc:$,svg:V,SVG_NS:C,win:B}=lt,{addEvent:j,attr:P,createElement:d,crisp:x,css:v,defined:S,erase:u,extend:M,fireEvent:G,isArray:O,isFunction:k,isObject:o,isString:g,merge:s,objectEach:e,pick:t,pInt:r,pushUnique:a,replaceNested:m,syncTimeout:b,uniqueKey:h}=ht;class T{_defaultGetter(f){let L=t(this[f+"Value"],this[f],this.element?this.element.getAttribute(f):null,0);return/^-?[\d\.]+$/.test(L)&&(L=parseFloat(L)),L}_defaultSetter(f,L,I){I.setAttribute(L,f)}add(f){let L,I=this.renderer,W=this.element;return f&&(this.parentGroup=f),this.textStr!==void 0&&this.element.nodeName==="text"&&I.buildText(this),this.added=!0,(!f||f.handleZ||this.zIndex)&&(L=this.zIndexSetter()),L||(f?f.element:I.box).appendChild(W),this.onAdd&&this.onAdd(),this}addClass(f,L){let I=L?"":this.attr("class")||"";return(f=(f||"").split(/ /g).reduce(function(W,Q){return I.indexOf(Q)===-1&&W.push(Q),W},I?[I]:[]).join(" "))!==I&&this.attr("class",f),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(f,L,I,W=!0){let Q,l,n,y,D={},i=this.renderer,p=i.alignedObjects,c=!!f;f?(this.alignOptions=f,this.alignByTranslate=L,this.alignTo=I):(f=this.alignOptions||{},L=this.alignByTranslate,I=this.alignTo);let A=!I||g(I)?I||"renderer":void 0;A&&(c&&a(p,this),I=void 0);let w=t(I,i[A],i),R=f.align,H=f.verticalAlign;return Q=(w.x||0)+(f.x||0),l=(w.y||0)+(f.y||0),R==="right"?n=1:R==="center"&&(n=2),n&&(Q+=((w.width||0)-(f.width||0))/n),D[L?"translateX":"x"]=Math.round(Q),H==="bottom"?y=1:H==="middle"&&(y=2),y&&(l+=((w.height||0)-(f.height||0))/y),D[L?"translateY":"y"]=Math.round(l),W&&(this[this.placed?"animate":"attr"](D),this.placed=!0),this.alignAttr=D,this}alignSetter(f){let L={left:"start",center:"middle",right:"end"};L[f]&&(this.alignValue=f,this.element.setAttribute("text-anchor",L[f]))}animate(f,L,I){let W=nt(t(L,this.renderer.globalAnimation,!0)),Q=W.defer;return $.hidden&&(W.duration=0),W.duration!==0?(I&&(W.complete=I),b(()=>{this.element&&dt(this,f,W)},Q)):(this.attr(f,void 0,I||W.complete),e(f,function(l,n){W.step&&W.step.call(this,l,{prop:n,pos:1,elem:this})},this)),this}applyTextOutline(f){let L=this.element;f.indexOf("contrast")!==-1&&(f=f.replace(/contrast/g,this.renderer.getContrast(L.style.fill)));let I=f.split(" "),W=I[I.length-1],Q=I[0];if(Q&&Q!=="none"&&lt.svg){this.fakeTS=!0,Q=Q.replace(/(^[\d\.]+)(.*?)$/g,function(i,p,c){return 2*Number(p)+c}),this.removeTextOutline();let l=$.createElementNS(C,"tspan");P(l,{class:"highcharts-text-outline",fill:W,stroke:W,"stroke-width":Q,"stroke-linejoin":"round"});let n=L.querySelector("textPath")||L;[].forEach.call(n.childNodes,i=>{let p=i.cloneNode(!0);p.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(c=>p.removeAttribute(c)),l.appendChild(p)});let y=0;[].forEach.call(n.querySelectorAll("text tspan"),i=>{y+=Number(i.getAttribute("dy"))});let D=$.createElementNS(C,"tspan");D.textContent="​",P(D,{x:Number(L.getAttribute("x")),dy:-y}),l.appendChild(D),n.insertBefore(l,n.firstChild)}}attr(f,L,I,W){let{element:Q}=this,l=T.symbolCustomAttribs,n,y,D=this,i;return typeof f=="string"&&L!==void 0&&(n=f,(f={})[n]=L),typeof f=="string"?D=(this[f+"Getter"]||this._defaultGetter).call(this,f,Q):(e(f,function(p,c){i=!1,W||at(this,c),this.symbolName&&l.indexOf(c)!==-1&&(y||(this.symbolAttr(f),y=!0),i=!0),this.rotation&&(c==="x"||c==="y")&&(this.doTransform=!0),i||(this[c+"Setter"]||this._defaultSetter).call(this,p,c,Q)},this),this.afterSetters()),I&&I.call(this),D}clip(f){if(f&&!f.clipPath){let L=h()+"-",I=this.renderer.createElement("clipPath").attr({id:L}).add(this.renderer.defs);M(f,{clipPath:I,id:L,count:0}),f.add(I)}return this.attr("clip-path",f?`url(${this.renderer.url}#${f.id})`:"none")}crisp(f,L){L=Math.round(L||f.strokeWidth||0);let I=f.x||this.x||0,W=f.y||this.y||0,Q=(f.width||this.width||0)+I,l=(f.height||this.height||0)+W,n=x(I,L),y=x(W,L);return M(f,{x:n,y,width:x(Q,L)-n,height:x(l,L)-y}),S(f.strokeWidth)&&(f.strokeWidth=L),f}complexColor(f,L,I){let W=this.renderer,Q,l,n,y,D,i,p,c,A,w,R=[],H;G(this.renderer,"complexColor",{args:arguments},function(){if(f.radialGradient?l="radialGradient":f.linearGradient&&(l="linearGradient"),l){if(n=f[l],D=W.gradients,i=f.stops,A=I.radialReference,O(n)&&(f[l]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),l==="radialGradient"&&A&&!S(n.gradientUnits)&&(y=n,n=s(n,W.getRadialAttr(A,y),{gradientUnits:"userSpaceOnUse"})),e(n,function(U,Z){Z!=="id"&&R.push(Z,U)}),e(i,function(U){R.push(U)}),D[R=R.join(",")])w=D[R].attr("id");else{n.id=w=h();let U=D[R]=W.createElement(l).attr(n).add(W.defs);
3U.radAttr=y,U.stops=[],i.forEach(function(Z){Z[1].indexOf("rgba")===0?(p=(Q=et.parse(Z[1])).get("rgb"),c=Q.get("a")):(p=Z[1],c=1);let rt=W.createElement("stop").attr({offset:Z[0],"stop-color":p,"stop-opacity":c}).add(U);U.stops.push(rt)})}H="url("+W.url+"#"+w+")",I.setAttribute(L,H),I.gradient=R,f.toString=function(){return H}}})}css(f){let L=this.styles,I={},W=this.element,Q,l=!L;if(L&&e(f,function(n,y){L&&L[y]!==n&&(I[y]=n,l=!0)}),l){L&&(f=M(L,I)),f.width===null||f.width==="auto"?delete this.textWidth:W.nodeName.toLowerCase()==="text"&&f.width&&(Q=this.textWidth=r(f.width)),M(this.styles,f),Q&&!V&&this.renderer.forExport&&delete f.width;let n=s(f);W.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(y=>n&&delete n[y]),n.color&&(n.fill=n.color)),v(W,n)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),f.textOutline&&this.applyTextOutline(f.textOutline)),this}dashstyleSetter(f){let L,I=this["stroke-width"];if(I==="inherit"&&(I=1),f=f&&f.toLowerCase()){let W=f.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(L=W.length;L--;)W[L]=""+r(W[L])*t(I,NaN);f=W.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",f)}}destroy(){var y;let f=this,L=f.element||{},I=f.renderer,W=L.ownerSVGElement,Q=L.nodeName==="SPAN"&&f.parentGroup||void 0,l,n;if(L.onclick=L.onmouseout=L.onmouseover=L.onmousemove=L.point=null,at(f),f.clipPath&&W){let D=f.clipPath;[].forEach.call(W.querySelectorAll("[clip-path],[CLIP-PATH]"),function(i){i.getAttribute("clip-path").indexOf(D.element.id)>-1&&i.removeAttribute("clip-path")}),f.clipPath=D.destroy()}if(f.connector=(y=f.connector)==null?void 0:y.destroy(),f.stops){for(n=0;n<f.stops.length;n++)f.stops[n].destroy();f.stops.length=0,f.stops=void 0}for(f.safeRemoveChild(L);Q&&Q.div&&Q.div.childNodes.length===0;)l=Q.parentGroup,f.safeRemoveChild(Q.div),delete Q.div,Q=l;f.alignOptions&&u(I.alignedObjects,f),e(f,function(D,i){f[i]&&f[i].parentGroup===f&&f[i].destroy&&f[i].destroy(),delete f[i]})}dSetter(f,L,I){O(f)&&(typeof f[0]=="string"&&(f=this.renderer.pathToSegments(f)),this.pathArray=f,f=f.reduce((W,Q,l)=>Q&&Q.join?(l?W+" ":"")+Q.join(" "):(Q||"").toString(),"")),/(NaN| {2}|^$)/.test(f)&&(f="M 0 0"),this[L]!==f&&(I.setAttribute(L,f),this[L]=f)}fillSetter(f,L,I){typeof f=="string"?I.setAttribute(L,f):f&&this.complexColor(f,L,I)}hrefSetter(f,L,I){I.setAttributeNS("http://www.w3.org/1999/xlink",L,f)}getBBox(f,L){let I,W,Q,l,{alignValue:n,element:y,renderer:D,styles:i,textStr:p}=this,{cache:c,cacheKeys:A}=D,w=y.namespaceURI===this.SVG_NS,R=t(L,this.rotation,0),H=D.styledMode?y&&T.prototype.getStyle.call(y,"font-size"):i.fontSize;if(S(p)&&((l=p.toString()).indexOf("<")===-1&&(l=l.replace(/\d/g,"0")),l+=["",D.rootFontSize,H,R,this.textWidth,n,i.textOverflow,i.fontWeight].join(",")),l&&!f&&(I=c[l]),!I||I.polygon){if(w||D.forExport){try{Q=this.fakeTS&&function(Z){let rt=y.querySelector(".highcharts-text-outline");rt&&v(rt,{display:Z})},k(Q)&&Q("none"),I=y.getBBox?M({},y.getBBox()):{width:y.offsetWidth,height:y.offsetHeight,x:0,y:0},k(Q)&&Q("")}catch{}(!I||I.width<0)&&(I={x:0,y:0,width:0,height:0})}else I=this.htmlGetBBox();W=I.height,w&&(I.height=W={"11px,17":14,"13px,20":16}[`${H||""},${Math.round(W)}`]||W),R&&(I=this.getRotatedBox(I,R));let U={bBox:I};G(this,"afterGetBBox",U),I=U.bBox}if(l&&(p===""||I.height>0)){for(;A.length>250;)delete c[A.shift()];c[l]||A.push(l),c[l]=I}return I}getRotatedBox(f,L){let{x:I,y:W,width:Q,height:l}=f,{alignValue:n,translateY:y,rotationOriginX:D=0,rotationOriginY:i=0}=this,p={right:1,center:.5}[n||0]||0,c=Number(this.element.getAttribute("y")||0)-(y?0:W),A=L*q,w=(L-90)*q,R=Math.cos(A),H=Math.sin(A),U=Q*R,Z=Q*H,rt=Math.cos(w),it=Math.sin(w),[[z,E],[N,X]]=[D,i].map(vt=>[vt-vt*R,vt*H]),_=I+p*(Q-U)+z+X+c*rt,tt=_+U,J=tt-l*rt,st=J-U,ot=W+c-p*Z-E+N+c*it,ct=ot+Z,pt=ct-l*it,ut=pt-Z,mt=Math.min(_,tt,J,st),xt=Math.min(ot,ct,pt,ut),ft=Math.max(_,tt,J,st)-mt,gt=Math.max(ot,ct,pt,ut)-xt;return{x:mt,y:xt,width:ft,height:gt,polygon:[[_,ot],[tt,ct],[J,pt],[st,ut]]}}getStyle(f){return B.getComputedStyle(this.element||this,"").getPropertyValue(f)}hasClass(f){return(""+this.attr("class")).split(" ").indexOf(f)!==-1}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(f,L){this.onEvents={},this.opacity=1,this.SVG_NS=C,this.element=L==="span"||L==="body"?d(L):$.createElementNS(this.SVG_NS,L),this.renderer=f,this.styles={},G(this,"afterInit")}on(f,L){let{onEvents:I}=this;return I[f]&&I[f](),I[f]=j(this.element,f,L),this}opacitySetter(f,L,I){let W=Number(Number(f).toFixed(3));this.opacity=W,I.setAttribute(L,W)}reAlign(){var f;(f=this.alignOptions)!=null&&f.width&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(f){return this.attr("class",(""+this.attr("class")).replace(g(f)?RegExp(`(^| )${f}( |$)`):f," ").replace(/ +/g," ").trim())}removeTextOutline(){let f=this.element.querySelector("tspan.highcharts-text-outline");f&&this.safeRemoveChild(f)}safeRemoveChild(f){let L=f.parentNode;L&&L.removeChild(f)}setRadialReference(f){let L=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=f,L&&L.radAttr&&L.animate(this.renderer.getRadialAttr(f,L.radAttr)),this}shadow(f){var Q;let{renderer:L}
3=this,I=s(((Q=this.parentGroup)==null?void 0:Q.rotation)===90?{offsetX:-1,offsetY:-1}:{},o(f)?f:{}),W=L.shadowDefinition(I);return this.attr({filter:f?`url(${L.url}#${W})`:"none"})}show(f=!0){return this.attr({visibility:f?"inherit":"visible"})}"stroke-widthSetter"(f,L,I){this[L]=f,I.setAttribute(L,f)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let f=this.getStyle("stroke-width"),L=0,I;return/px$/.test(f)?L=r(f):f!==""&&(P(I=$.createElementNS(C,"rect"),{width:f,"stroke-width":0}),this.element.parentNode.appendChild(I),L=I.getBBox().width,I.parentNode.removeChild(I)),L}symbolAttr(f){let L=this;T.symbolCustomAttribs.forEach(function(I){L[I]=t(f[I],L[I])}),L.attr({d:L.renderer.symbols[L.symbolName](L.x,L.y,L.width,L.height,L)})}textSetter(f){f!==this.textStr&&(delete this.textPxLength,this.textStr=f,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(f){let L=this.element,I=L.getElementsByTagName("title")[0]||$.createElementNS(this.SVG_NS,"title");L.insertBefore?L.insertBefore(I,L.firstChild):L.appendChild(I),I.textContent=m(t(f,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){let f=this.element;return f.parentNode.appendChild(f),this}translate(f,L){return this.attr({translateX:f,translateY:L})}updateTransform(f="transform"){var c;let{element:L,matrix:I,rotation:W=0,rotationOriginX:Q,rotationOriginY:l,scaleX:n,scaleY:y,translateX:D=0,translateY:i=0}=this,p=["translate("+D+","+i+")"];S(I)&&p.push("matrix("+I.join(",")+")"),W&&(p.push("rotate("+W+" "+t(Q,L.getAttribute("x"),0)+" "+t(l,L.getAttribute("y")||0)+")"),((c=this.text)==null?void 0:c.element.tagName)==="SPAN"&&this.text.attr({rotation:W,rotationOriginX:(Q||0)-this.padding,rotationOriginY:(l||0)-this.padding})),(S(n)||S(y))&&p.push("scale("+t(n,1)+" "+t(y,1)+")"),p.length&&!(this.text||this).textPath&&L.setAttribute(f,p.join(" "))}visibilitySetter(f,L,I){f==="inherit"?I.removeAttribute(L):this[L]!==f&&I.setAttribute(L,f),this[L]=f}xGetter(f){return this.element.nodeName==="circle"&&(f==="x"?f="cx":f==="y"&&(f="cy")),this._defaultGetter(f)}zIndexSetter(f,L){let I=this.renderer,W=this.parentGroup,Q=(W||I).element||I.box,l=this.element,n=Q===I.box,y,D,i,p=!1,c,A=this.added,w;if(S(f)?(l.setAttribute("data-z-index",f),f=+f,this[L]===f&&(A=!1)):S(this[L])&&l.removeAttribute("data-z-index"),this[L]=f,A){for((f=this.zIndex)&&W&&(W.handleZ=!0),w=(y=Q.childNodes).length-1;w>=0&&!p;w--)c=!S(i=(D=y[w]).getAttribute("data-z-index")),D!==l&&(f<0&&c&&!n&&!w?(Q.insertBefore(l,y[w]),p=!0):(r(i)<=f||c&&(!S(f)||f>=0))&&(Q.insertBefore(l,y[w+1]),p=!0));p||(Q.insertBefore(l,y[n?3:0]),p=!0)}return p}}
3return T.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],T.prototype.strokeSetter=T.prototype.fillSetter,T.prototype.yGetter=T.prototype.xGetter,T.prototype.matrixSetter=T.prototype.rotationOriginXSetter=T.prototype.rotationOriginYSetter=T.prototype.rotationSetter=T.prototype.scaleXSetter=T.prototype.scaleYSetter=T.prototype.translateXSetter=T.prototype.translateYSetter=T.prototype.verticalAlignSetter=function(F,f){this[f]=F,this.doTransform=!0},T}),yt(Y,"Core/Renderer/SVG/SVGLabel.js",[Y["Core/Renderer/SVG/SVGElement.js"],Y["Core/Utilities.js"]],function(K,et){let{defined:lt,extend:ht,isNumber:dt,merge:nt,pick:at,removeEvent:q}=et;class $ extends K{constructor(C,B,j,P,d,x,v,S,u,M){let G;super(C,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=B,this.x=j,this.y=P,this.anchorX=x,this.anchorY=v,this.baseline=u,this.className=M,this.addClass(M==="button"?"highcharts-no-tooltip":"highcharts-label"),M&&this.addClass("highcharts-"+M),this.text=C.text(void 0,0,0,S).attr({zIndex:1}),typeof d=="string"&&((G=/^url\((.*?)\)$/.test(d))||this.renderer.symbols[d])&&(this.symbolKey=d),this.bBox=$.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=C.styledMode||G,this.deferredAttr={},this.alignFactor=0}alignSetter(C){let B={left:0,center:.5,right:1}[C];B!==this.alignFactor&&(this.alignFactor=B,this.bBox&&dt(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(C,B){this.anchorX=C,this.boxAttr(B,Math.round(C)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(C,B){this.anchorY=C,this.boxAttr(B,C-this.ySetting)}boxAttr(C,B){this.box?this.box.attr(C,B):this.deferredAttr[C]=B}css(C){if(C){let B={};C=nt(C),$.textProps.forEach(j=>{C[j]!==void 0&&(B[j]=C[j],delete C[j])}),this.text.css(B),"fontSize"in B||"fontWeight"in B?this.updateTextPadding():("width"in B||"textOverflow"in B)&&this.updateBoxSize()}return K.prototype.css.call(this,C)}destroy(){q(this.element,"mouseenter"),q(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),K.prototype.destroy.call(this)}fillSetter(C,B){C&&(this.needsBox=!0),this.fill=C,this.boxAttr(B,C)}getBBox(C,B){this.textStr&&this.bBox.width===0&&this.bBox.height===0&&this.updateBoxSize();let{padding:j,height:P=0,translateX:d=0,translateY:x=0,width:v=0}=this,S=at(this.paddingLeft,j),u=B??(this.rotation||0),M={width:v,height:P,x:d+this.bBox.x-S,y:x+this.bBox.y-j+this.baselineOffset};return u&&(M=this.getRotatedBox(M,u)),M}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(C){this.heightSetting=C,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:at(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&lt(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(C,B){dt(C)?C!==this[B]&&(this[B]=C,this.updateTextPadding()):this[B]=void 0}rSetter(C,B){this.boxAttr(B,C)}strokeSetter(C,B){this.stroke=C,this.boxAttr(B,C)}"stroke-widthSetter"(C,B){C&&(this.needsBox=!0),this["stroke-width"]=C,this.boxAttr(B,C)}"text-alignSetter"(C){this.textAlign=C}textSetter(C){C!==void 0&&this.text.attr({text:C}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let C,B=this.text,j={},P=this.padding,d=this.bBox=(!dt(this.widthSetting)||!dt(this.heightSetting)||this.textAlign)&&lt(B.textStr)?B.getBBox(void 0,0):$.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||d.height||0)+2*P;let x=this.renderer.fontMetrics(B);if(this.baselineOffset=P+Math.min((this.text.firstLineMetrics||x).b,d.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-x.h)/2),this.needsBox&&!B.textPath){if(!this.box){let v=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();v.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),v.add(this)}C=this.getCrispAdjust(),j.x=C,j.y=(this.baseline?-this.baselineOffset:0)+C,j.width=Math.round(this.width),j.height=Math.round(this.height),this.box.attr(ht(j,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let C=this.text;if(!C.textPath){this.updateBoxSize();let B=this.baseline?0:this.baselineOffset,j=at(this.paddingLeft,this.padding);lt(this.widthSetting)&&this.bBox&&(this.textAlign==="center"||this.textAlign==="right")&&(j+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(j!==C.x||B!==C.y)&&(C.attr("x",
3j),C.hasBoxWidthChanged&&(this.bBox=C.getBBox(!0)),B!==void 0&&C.attr("y",B)),C.x=j,C.y=B}}widthSetter(C){this.widthSetting=dt(C)?C:void 0,this.doUpdate=!0}getPaddedWidth(){let C=this.padding,B=at(this.paddingLeft,C),j=at(this.paddingRight,C);return(this.widthSetting||this.bBox.width||0)+B+j}xSetter(C){this.x=C,this.alignFactor&&(C-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(C),this.attr("translateX",this.xSetting)}ySetter(C){this.ySetting=this.y=Math.round(C),this.attr("translateY",this.ySetting)}}return $.emptyBBox={width:0,height:0,x:0,y:0},$.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],$}),yt(Y,"Core/Renderer/SVG/Symbols.js",[Y["Core/Utilities.js"]],function(K){let{defined:et,isNumber:lt,pick:ht}=K;function dt(q,$,V,C,B){let j=[];if(B){let P=B.start||0,d=ht(B.r,V),x=ht(B.r,C||V),v=2e-4/(B.borderRadius?1:Math.max(d,1)),S=Math.abs((B.end||0)-P-2*Math.PI)<v,u=(B.end||0)-(S?v:0),M=B.innerR,G=ht(B.open,S),O=Math.cos(P),k=Math.sin(P),o=Math.cos(u),g=Math.sin(u),s=ht(B.longArc,u-P-Math.PI<v?0:1),e=["A",d,x,0,s,ht(B.clockwise,1),q+d*o,$+x*g];e.params={start:P,end:u,cx:q,cy:$},j.push(["M",q+d*O,$+x*k],e),et(M)&&((e=["A",M,M,0,s,et(B.clockwise)?1-B.clockwise:0,q+M*O,$+M*k]).params={start:u,end:P,cx:q,cy:$},j.push(G?["M",q+M*o,$+M*g]:["L",q+M*o,$+M*g],e)),G||j.push(["Z"])}return j}function nt(q,$,V,C,B){return B&&B.r?at(q,$,V,C,B):[["M",q,$],["L",q+V,$],["L",q+V,$+C],["L",q,$+C],["Z"]]}function at(q,$,V,C,B){let j=(B==null?void 0:B.r)||0;return[["M",q+j,$],["L",q+V-j,$],["A",j,j,0,0,1,q+V,$+j],["L",q+V,$+C-j],["A",j,j,0,0,1,q+V-j,$+C],["L",q+j,$+C],["A",j,j,0,0,1,q,$+C-j],["L",q,$+j],["A",j,j,0,0,1,q+j,$],["Z"]]}return{arc:dt,callout:function(q,$,V,C,B){let j=Math.min(B&&B.r||0,V,C),P=j+6,d=B&&B.anchorX,x=B&&B.anchorY||0,v=at(q,$,V,C,{r:j});if(!lt(d)||d<V&&d>0&&x<C&&x>0)return v;if(q+d>V-P)if(x>$+P&&x<$+C-P)v.splice(3,1,["L",q+V,x-6],["L",q+V+6,x],["L",q+V,x+6],["L",q+V,$+C-j]);else if(d<V){let S=x<$+P,u=S?$:$+C;v.splice(S?2:5,0,["L",d,x],["L",q+V-j,u])}else v.splice(3,1,["L",q+V,C/2],["L",d,x],["L",q+V,C/2],["L",q+V,$+C-j]);else if(q+d<P)if(x>$+P&&x<$+C-P)v.splice(7,1,["L",q,x+6],["L",q-6,x],["L",q,x-6],["L",q,$+j]);else if(d>0){let S=x<$+P,u=S?$:$+C;v.splice(S?1:6,0,["L",d,x],["L",q+j,u])}else v.splice(7,1,["L",q,C/2],["L",d,x],["L",q,C/2],["L",q,$+j]);else x>C&&d<V-P?v.splice(5,1,["L",d+6,$+C],["L",d,$+C+6],["L",d-6,$+C],["L",q+j,$+C]):x<0&&d>P&&v.splice(1,1,["L",d-6,$],["L",d,$-6],["L",d+6,$],["L",V-j,$]);return v},circle:function(q,$,V,C){return dt(q+V/2,$+C/2,V/2,C/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(q,$,V,C){return[["M",q+V/2,$],["L",q+V,$+C/2],["L",q+V/2,$+C],["L",q,$+C/2],["Z"]]},rect:nt,roundedRect:at,square:nt,triangle:function(q,$,V,C){return[["M",q+V/2,$],["L",q+V,$+C],["L",q,$+C],["Z"]]},"triangle-down":function(q,$,V,C){return[["M",q,$],["L",q+V,$],["L",q+V/2,$+C],["Z"]]}}}),yt(Y,"Core/Renderer/SVG/TextBuilder.js",[Y["Core/Renderer/HTML/AST.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(K,et,lt){let{doc:ht,SVG_NS:dt,win:nt}=et,{attr:at,extend:q,fireEvent:$,isString:V,objectEach:C,pick:B}=lt;return class{constructor(j){let P=j.styles;this.renderer=j.renderer,this.svgElement=j,this.width=j.textWidth,this.textLineHeight=P&&P.lineHeight,this.textOutline=P&&P.textOutline,this.ellipsis=!!(P&&P.textOverflow==="ellipsis"),this.noWrap=!!(P&&P.whiteSpace==="nowrap")}buildSVG(){let j=this.svgElement,P=j.element,d=j.renderer,x=B(j.textStr,"").toString(),v=x.indexOf("<")!==-1,S=P.childNodes,u=!j.added&&d.box,M=[x,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,j.getStyle("font-size"),this.width].join(",");if(M!==j.textCache){j.textCache=M,delete j.actualWidth;for(let G=S.length;G--;)P.removeChild(S[G]);if(v||this.ellipsis||this.width||j.textPath||x.indexOf(" ")!==-1&&(!this.noWrap||/<br.*?>/g.test(x))){if(x!==""){u&&u.appendChild(P);let G=new K(x);this.modifyTree(G.nodes),G.addToDOM(P),this.modifyDOM(),this.ellipsis&&(P.textContent||"").indexOf("…")!==-1&&j.attr("title",this.unescapeEntities(j.textStr||"",["&lt;","&gt;"])),u&&u.removeChild(P)}}else P.appendChild(ht.createTextNode(this.unescapeEntities(x)));V(this.textOutline)&&j.applyTextOutline&&j.applyTextOutline(this.textOutline)}}modifyDOM(){let j,P=this.svgElement,d=at(P.element,"x");for(P.firstLineMetrics=void 0;(j=P.element.firstChild)&&/^[\s\u200B]*$/.test(j.textContent||" ");)P.element.removeChild(j);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(u,M)=>{u.nextSibling&&u.previousSibling&&(M===0&&u.previousSibling.nodeType===1&&(P.firstLineMetrics=P.renderer.fontMetrics(u.previousSibling)),at(u,{dy:this.getLineHeight(u.nextSibling),x:d}))});let x=this.width||0;if(!x)return;let v=(u,M)=>{let G=u.textContent||"",O=G.replace(/([^\^])-/g,"$1- ").split(" "),k=!this.noWrap&&(O.length>1||P.element.childNodes.length>1),o=this.getLineHeight(M),g=0,s=P.actualWidth;if(this.ellipsis)G&&this.truncate(u,G,void 0,0,Math.max(0,x-.8*o),(e,t)=>e.substring(0,t)+"…");else if(k){let e=[],t=[];for(;M.firstChild&&M.firstChild!==u;)t.push(M.firstChild),M.removeChild(M.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(e.push(u.textContent||""),u.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(u,void 0,O,g===0&&s||0,x,(r,a)=>O.slice(0,a).join(" ").replace(/- /g,"-")),s=P.actualWidth,g++;t.forEach(r=>{M.insertBefore(r,u)}),e.forEach(r=>{M.insertBefore(ht.createTextNode(r),u);let a=ht.createElementNS(dt,"tspan");a.textContent="​",at(a,{dy:o,x:d}),M.insertBefore(a,u)})}},S=u=>
3{[].slice.call(u.childNodes).forEach(M=>{M.nodeType===nt.Node.TEXT_NODE?v(M,u):(M.className.baseVal.indexOf("highcharts-br")!==-1&&(P.actualWidth=0),S(M))})};S(P.element)}getLineHeight(j){let P=j.nodeType===nt.Node.TEXT_NODE?j.parentElement:j;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(j){let P=(d,x)=>{let{attributes:v={},children:S,style:u={},tagName:M}=d,G=this.renderer.styledMode;if(M==="b"||M==="strong"?G?v.class="highcharts-strong":u.fontWeight="bold":(M==="i"||M==="em")&&(G?v.class="highcharts-emphasized":u.fontStyle="italic"),u&&u.color&&(u.fill=u.color),M==="br"){v.class="highcharts-br",d.textContent="​";let O=j[x+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else M==="a"&&S&&S.some(O=>O.tagName==="#text")&&(d.children=[{children:S,tagName:"tspan"}]);M!=="#text"&&M!=="a"&&(d.tagName="tspan"),q(d,{attributes:v,style:u}),S&&S.filter(O=>O.tagName!=="#text").forEach(P)};j.forEach(P),$(this.svgElement,"afterModifyTree",{nodes:j})}truncate(j,P,d,x,v,S){let u,M,G=this.svgElement,{rotation:O}=G,k=[],o=d?1:0,g=(P||d||"").length,s=g,e=function(t,r){let a=r||t,m=j.parentNode;if(m&&k[a]===void 0&&m.getSubStringLength)try{k[a]=x+m.getSubStringLength(0,d?a+1:a)}catch{}return k[a]};if(G.rotation=0,x+(M=e(j.textContent.length))>v){for(;o<=g;)s=Math.ceil((o+g)/2),d&&(u=S(d,s)),M=e(s,u&&u.length-1),o===g?o=g+1:M>v?g=s-1:o=s;g===0?j.textContent="":P&&g===P.length-1||(j.textContent=u||S(P||d,s))}d&&d.splice(0,s),G.actualWidth=M,G.rotation=O}unescapeEntities(j,P){return C(this.renderer.escapes,function(d,x){P&&P.indexOf(d)!==-1||(j=j.toString().replace(RegExp(d,"g"),x))}),j}}}),yt(Y,"Core/Renderer/SVG/SVGRenderer.js",[Y["Core/Renderer/HTML/AST.js"],Y["Core/Defaults.js"],Y["Core/Color/Color.js"],Y["Core/Globals.js"],Y["Core/Renderer/RendererRegistry.js"],Y["Core/Renderer/SVG/SVGElement.js"],Y["Core/Renderer/SVG/SVGLabel.js"],Y["Core/Renderer/SVG/Symbols.js"],Y["Core/Renderer/SVG/TextBuilder.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht,dt,nt,at,q,$,V){let C,{defaultOptions:B}=et,{charts:j,deg2rad:P,doc:d,isFirefox:x,isMS:v,isWebKit:S,noop:u,SVG_NS:M,symbolSizes:G,win:O}=ht,{addEvent:k,attr:o,createElement:g,crisp:s,css:e,defined:t,destroyObjectProperties:r,extend:a,isArray:m,isNumber:b,isObject:h,isString:T,merge:F,pick:f,pInt:L,replaceNested:I,uniqueKey:W}=V;class Q{constructor(n,y,D,i,p,c,A){let w,R,H=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),U=H.element;A||H.css(this.getStyle(i||{})),n.appendChild(U),o(n,"dir","ltr"),n.innerHTML.indexOf("xmlns")===-1&&o(U,"xmlns",this.SVG_NS),this.box=U,this.boxWrapper=H,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(d.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=c,this.forExport=p,this.styledMode=A,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=H.getStyle("font-size"),this.setSize(y,D,!1),x&&n.getBoundingClientRect&&((w=function(){e(n,{left:0,top:0}),R=n.getBoundingClientRect(),e(n,{left:Math.ceil(R.left)-R.left+"px",top:Math.ceil(R.top)-R.top+"px"})})(),this.unSubPixelFix=k(O,"resize",w))}definition(n){return new K([n]).addToDOM(this.defs.element)}getReferenceURL(){if((x||S)&&d.getElementsByTagName("base").length){if(!t(C)){let n=W(),y=new K([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:n},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${n})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(d.body);e(y,{position:"fixed",top:0,left:0,zIndex:9e5});let D=d.elementFromPoint(6,6);C=(D&&D.id)==="hitme",d.body.removeChild(y)}if(C)return I(O.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(n){return this.style=a({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},n),this.style}setStyle(n){this.boxWrapper.css(this.getStyle(n))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let n=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),r(this.gradients||{}),this.gradients=null,this.defs=n.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(n){return new this.Element(this,n)}getRadialAttr(n,y){return{cx:n[0]-n[2]/2+(y.cx||0)*n[2],cy:n[1]-n[2]/2+(y.cy||0)*n[2],r:(y.r||0)*n[2]}}shadowDefinition(n){let y=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(n).map(i=>`${i}-${n[i]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),D=F({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},n);return this.defs.element.querySelector(`#${y}`)||this.definition({tagName:"filter",attributes:{id:y,filterUnits:D.filterUnits},children:this.getShadowFilterContent(D)}),y}getShadowFilterContent(n){return[{tagName:"feDropShadow",attributes:{dx:n.offsetX,dy:n.offsetY,"flood-color":n.color,"flood-opacity":Math.min(5*n.opacity,1),stdDeviation:n.width/2}}]}buildText(n){new $(n).buildSVG()}getContrast(n){let y=lt.parse(n).rgba.map(i=>{let p=i/255;return p<=.03928?p/12.92:Math.pow((p+.055)/1.055,2.4)}
vendor: 2,879 bytes, line 3
3),D=.2126*y[0]+.7152*y[1]+.0722*y[2];return 1.05/(D+.05)>(D+.05)/.05?"#FFFFFF":"#000000"}button(n,y,D,i,p={},c,A,w,R,H){let U=this.label(n,y,D,R,void 0,void 0,H,void 0,"button"),Z=this.styledMode,rt=arguments,it=0;p=F(B.global.buttonTheme,p),Z&&(delete p.fill,delete p.stroke,delete p["stroke-width"]);let z=p.states||{},E=p.style||{};delete p.states,delete p.style;let N=[K.filterUserAttributes(p)],X=[E];return Z||["hover","select","disabled"].forEach((_,tt)=>{N.push(F(N[0],K.filterUserAttributes(rt[tt+5]||z[_]||{}))),X.push(N[tt+1].style),delete N[tt+1].style}),k(U.element,v?"mouseover":"mouseenter",function(){it!==3&&U.setState(1)}),k(U.element,v?"mouseout":"mouseleave",function(){it!==3&&U.setState(it)}),U.setState=(_=0)=>{if(_!==1&&(U.state=it=_),U.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][_]),!Z){U.attr(N[_]);let tt=X[_];h(tt)&&U.css(tt)}},U.attr(N[0]),!Z&&(U.css(a({cursor:"default"},E)),H&&U.text.css({pointerEvents:"none"})),U.on("touchstart",_=>_.stopPropagation()).on("click",function(_){it!==3&&i.call(U,_)})}crispLine(n,y){let[D,i]=n;return t(D[1])&&D[1]===i[1]&&(D[1]=i[1]=s(D[1],y)),t(D[2])&&D[2]===i[2]&&(D[2]=i[2]=s(D[2],y)),n}path(n){let y=this.styledMode?{}:{fill:"none"};return m(n)?y.d=n:h(n)&&a(y,n),this.createElement("path").attr(y)}circle(n,y,D){let i=h(n)?n:n===void 0?{}:{x:n,y,r:D},p=this.createElement("circle");return p.xSetter=p.ySetter=function(c,A,w){w.setAttribute("c"+A,c)},p.attr(i)}arc(n,y,D,i,p,c){let A;h(n)?(y=(A=n).y,D=A.r,i=A.innerR,p=A.start,c=A.end,n=A.x):A={innerR:i,start:p,end:c};let w=this.symbol("arc",n,y,D,D,A);return w.r=D,w}rect(n,y,D,i,p,c){let A=h(n)?n:n===void 0?{}:{x:n,y,r:p,width:Math.max(D||0,0),height:Math.max(i||0,0)},w=this.createElement("rect");return this.styledMode||(c!==void 0&&(A["stroke-width"]=c,a(A,w.crisp(A))),A.fill="none"),w.rSetter=function(R,H,U){w.r=R,o(U,{rx:R,ry:R})},w.rGetter=function(){return w.r||0},w.attr(A)}roundedRect(n){return this.symbol("roundedRect").attr(n)}setSize(n,y,D){this.width=n,this.height=y,this.boxWrapper.animate({width:n,height:y},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:f(D,!0)?void 0:0}),this.alignElements()}g(n){let y=this.createElement("g");return n?y.attr({class:"highcharts-"+n}):y}image(n,y,D,i,p,c){let A={preserveAspectRatio:"none"};b(y)&&(A.x=y),b(D)&&(A.y=D),b(i)&&(A.width=i),b(p)&&(A.height=p);let w=this.createElement("image").attr(A),R=function(H){w.attr({href:n}),c.call(w,H)};if(c){w.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let H=new O.Image;k(H,"load",R),H.src=n,H.complete&&R({})}else w.attr({href:n});return w}symbol(n,y,D,i,p,c){let A,w,R,H,U=this,Z=/^url\((.*?)\)$/,rt=Z.test(n),it=!rt&&(this.symbols[n]?n:"circle"),z=it&&this.symbols[it];
3if(z)typeof y=="number"&&(w=z.call(this.symbols,y||0,D||0,i||0,p||0,c)),A=this.path(w),U.styledMode||A.attr("fill","none"),a(A,{symbolName:it||void 0,x:y,y:D,width:i,height:p}),c&&a(A,c);else if(rt){R=n.match(Z)[1];let E=A=this.image(R);E.imgwidth=f(c&&c.width,G[R]&&G[R].width),E.imgheight=f(c&&c.height,G[R]&&G[R].height),H=N=>N.attr({width:N.width,height:N.height}),["width","height"].forEach(N=>{E[`${N}Setter`]=function(X,_){this[_]=X;let{alignByTranslate:tt,element:J,width:st,height:ot,imgwidth:ct,imgheight:pt}=this,ut=_==="width"?ct:pt,mt=1;c&&c.backgroundSize==="within"&&st&&ot&&ct&&pt?(mt=Math.min(st/ct,ot/pt),o(J,{width:Math.round(ct*mt),height:Math.round(pt*mt)})):J&&ut&&J.setAttribute(_,ut),!tt&&ct&&pt&&this.translate(((st||0)-ct*mt)/2,((ot||0)-pt*mt)/2)}}),t(y)&&E.attr({x:y,y:D}),E.isImg=!0,E.symbolUrl=n,t(E.imgwidth)&&t(E.imgheight)?H(E):(E.attr({width:0,height:0}),g("img",{onload:function(){let N=j[U.chartIndex];this.width===0&&(e(this,{position:"absolute",top:"-999em"}),d.body.appendChild(this)),G[R]={width:this.width,height:this.height},E.imgwidth=this.width,E.imgheight=this.height,E.element&&H(E),this.parentNode&&this.parentNode.removeChild(this),U.imgCount--,U.imgCount||!N||N.hasLoaded||N.onload()},src:R}),this.imgCount++)}return A}clipRect(n,y,D,i){return this.rect(n,y,D,i,0)}text(n,y,D,i){let p={};if(i&&(this.allowHTML||!this.forExport))return this.html(n,y,D);p.x=Math.round(y||0),D&&(p.y=Math.round(D)),t(n)&&(p.text=n);let c=this.createElement("text").attr(p);return i&&(!this.forExport||this.allowHTML)||(c.xSetter=function(A,w,R){let H=R.getElementsByTagName("tspan"),U=R.getAttribute(w);for(let Z=0,rt;Z<H.length;Z++)(rt=H[Z]).getAttribute(w)===U&&rt.setAttribute(w,A);R.setAttribute(w,A)}),c}fontMetrics(n){let y=L(nt.prototype.getStyle.call(n,"font-size")||0),D=y<24?y+3:Math.round(1.2*y),i=Math.round(.8*D);return{h:D,b:i,f:y}}rotCorr(n,y,D){let i=n;return y&&D&&(i=Math.max(i*Math.cos(y*P),4)),{x:-n/3*Math.sin(y*P),y:i}}pathToSegments(n){let y=[],D=[],i={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let p=0;p<n.length;p++)T(D[0])&&b(n[p])&&D.length===i[D[0].toUpperCase()]&&n.splice(p,0,D[0].replace("M","L").replace("m","l")),typeof n[p]=="string"&&(D.length&&y.push(D.slice(0)),D.length=0),D.push(n[p]);return y.push(D.slice(0)),y}label(n,y,D,i,p,c,A,w,R){return new at(this,n,y,D,i,p,c,A,w,R)}alignElements(){this.alignedObjects.forEach(n=>n.align())}}return a(Q.prototype,{Element:nt,SVG_NS:M,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:q,draw:u}),dt.registerRendererType("svg",Q,!0),Q}),yt(Y,"Core/Renderer/HTML/HTMLElement.js",[Y["Core/Renderer/HTML/AST.js"],Y["Core/Globals.js"],Y["Core/Renderer/SVG/SVGElement.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht){let{composed:dt}=et,{attr:nt,css:at,createElement:q,defined:$,extend:V,pInt:C,pushUnique:B}=ht;function j(v,S,u){var G;let M=((G=this.div)==null?void 0:G.style)||u.style;lt.prototype[`${S}Setter`].call(this,v,S,u),M&&(M[S]=v)}let P=(v,S)=>{var u;if(!v.div){let M=nt(v.element,"class"),G=v.css,O=q("div",M?{className:M}:void 0,{position:"absolute",left:`${v.translateX||0}px`,top:`${v.translateY||0}px`,...v.styles,display:v.display,opacity:v.opacity,visibility:v.visibility},((u=v.parentGroup)==null?void 0:u.div)||S);v.classSetter=(k,o,g)=>{g.setAttribute("class",k),O.className=k},v.translateXSetter=v.translateYSetter=(k,o)=>{v[o]=k,O.style[o==="translateX"?"left":"top"]=`${k}px`,v.doTransform=!0},v.opacitySetter=v.visibilitySetter=j,v.css=k=>(G.call(v,k),k.cursor&&(O.style.cursor=k.cursor),k.pointerEvents&&(O.style.pointerEvents=k.pointerEvents),v),v.on=function(){return lt.prototype.on.apply({element:O,onEvents:v.onEvents},arguments),v},v.div=O}return v.div};class d extends lt{static compose(S){B(dt,this.compose)&&(S.prototype.html=function(u,M,G){return new d(this,"span").attr({text:u,x:Math.round(M),y:Math.round(G)})})}constructor(S,u){super(S,u),this.css({position:"absolute",...S.styledMode?{}:{fontFamily:S.style.fontFamily,fontSize:S.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(S,u,M){this.xCorr=-S*M,this.yCorr=-u}css(S){let u,{element:M}=this,G=M.tagName==="SPAN"&&S&&"width"in S,O=G&&S.width;return G&&(delete S.width,this.textWidth=C(O)||void 0,u=!0),(S==null?void 0:S.textOverflow)==="ellipsis"&&(S.whiteSpace="nowrap",S.overflow="hidden"),V(this.styles,S),at(M,S),u&&this.updateTransform(),this}htmlGetBBox(){let{element:S}=this;return{x:S.offsetLeft,y:S.offsetTop,width:S.offsetWidth,height:S.offsetHeight}}updateTransform(){var b;if(!this.added){this.alignOnAdd=!0;return}let{element:S,renderer:u,rotation:M,rotationOriginX:G,rotationOriginY:O,styles:k,textAlign:o="left",textWidth:g,translateX:s=0,translateY:e=0,x:t=0,y:r=0}=this,a={left:0,center:.5,right:1}[o],m=k.whiteSpace;if(at(S,{marginLeft:`${s}px`,marginTop:`${e}px`}),S.tagName==="SPAN"){let h=[M,o,S.innerHTML,g,this.textAlign].join(","),T=-(((b=this.parentGroup)==null?void 0:b.padding)*1)||0,F,f=!1;
3if(g!==this.oldTextWidth){let l=this.textPxLength?this.textPxLength:(at(S,{width:"",whiteSpace:m||"nowrap"}),S.offsetWidth),n=g||0;(n>this.oldTextWidth||l>n)&&(/[ \-]/.test(S.textContent||S.innerText)||S.style.textOverflow==="ellipsis")&&(at(S,{width:l>n||M?g+"px":"auto",display:"block",whiteSpace:m||"normal"}),this.oldTextWidth=g,f=!0)}this.hasBoxWidthChanged=f,h!==this.cTT&&(F=u.fontMetrics(S).b,$(M)&&(M!==(this.oldRotation||0)||o!==this.oldAlign)&&this.setSpanRotation(M,T,T),this.getSpanCorrection(!$(M)&&this.textPxLength||S.offsetWidth,F,a));let{xCorr:L=0,yCorr:I=0}=this,W=(G??t)-L-t-T,Q=(O??r)-I-r-T;at(S,{left:`${t+L}px`,top:`${r+I}px`,transformOrigin:`${W}px ${Q}px`}),this.cTT=h,this.oldRotation=M,this.oldAlign=o}}setSpanRotation(S,u,M){at(this.element,{transform:`rotate(${S}deg)`,transformOrigin:`${u}% ${M}px`})}add(S){let u,M=this.renderer.box.parentNode,G=[];if(this.parentGroup=S,S&&!(u=S.div)){let O=S;for(;O;)G.push(O),O=O.parentGroup;for(let k of G.reverse())u=P(k,M)}return(u||M).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(S){S!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,K.setElementHTML(this.element,S??""),this.textStr=S,this.doTransform=!0)}alignSetter(S){this.alignValue=this.textAlign=S,this.doTransform=!0}xSetter(S,u){this[u]=S,this.doTransform=!0}}let x=d.prototype;return x.visibilitySetter=x.opacitySetter=j,x.ySetter=x.rotationSetter=x.rotationOriginXSetter=x.rotationOriginYSetter=x.xSetter,d}),yt(Y,"Core/Axis/AxisDefaults.js",[],function(){var K,et;return(et=K||(K={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},et.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:lt}=this.axis.chart;return lt(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},K}),yt(Y,"Core/Foundation.js",[Y["Core/Utilities.js"]],function(K){var et;let{addEvent:lt,isFunction:ht,objectEach:dt,removeEvent:nt}=K;return(et||(et={})).registerEventOptions=function(at,q){at.eventOptions=at.eventOptions||{},dt(q.events,function($,V){at.eventOptions[V]!==$&&(at.eventOptions[V]&&(nt(at,V,at.eventOptions[V]),delete at.eventOptions[V]),ht($)&&(at.eventOptions[V]=$,lt(at,V,$,{order:0})))})},et}),yt(Y,"Core/Axis/Tick.js",[Y["Core/Templating.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(K,et,lt){let{deg2rad:ht}=et,{clamp:dt,correctFloat:nt,defined:at,destroyObjectProperties:q,extend:$,fireEvent:V,isNumber:C,merge:B,objectEach:j,pick:P}=lt;return class{constructor(d,x,v,S,u){this.isNew=!0,this.isNewLabel=!0,this.axis=d,this.pos=x,this.type=v||"",this.parameters=u||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,V(this,"init"),v||S||this.addLabel()}
3addLabel(){let d=this,x=d.axis,v=x.options,S=x.chart,u=x.categories,M=x.logarithmic,G=x.names,O=d.pos,k=P(d.options&&d.options.labels,v.labels),o=x.tickPositions,g=O===o[0],s=O===o[o.length-1],e=(!k.step||k.step===1)&&x.tickInterval===1,t=o.info,r=d.label,a,m,b,h=this.parameters.category||(u?P(u[O],G[O],O):O);M&&C(h)&&(h=nt(M.lin2log(h))),x.dateTime&&(t?a=(m=S.time.resolveDTLFormat(v.dateTimeLabelFormats[!v.grid&&t.higherRanks[O]||t.unitName])).main:C(h)&&(a=x.dateTime.getXDateFormat(h,v.dateTimeLabelFormats||{}))),d.isFirst=g,d.isLast=s;let T={axis:x,chart:S,dateTimeLabelFormat:a,isFirst:g,isLast:s,pos:O,tick:d,tickPositionInfo:t,value:h};V(this,"labelFormat",T);let F=I=>k.formatter?k.formatter.call(I,I):k.format?(I.text=x.defaultLabelFormatter.call(I),K.format(k.format,I,S)):x.defaultLabelFormatter.call(I),f=F.call(T,T),L=m&&m.list;L?d.shortenLabel=function(){for(b=0;b<L.length;b++)if($(T,{dateTimeLabelFormat:L[b]}),r.attr({text:F.call(T,T)}),r.getBBox().width<x.getSlotWidth(d)-2*(k.padding||0))return;r.attr({text:""})}:d.shortenLabel=void 0,e&&x._addedPlotLB&&d.moveLabel(f,k),at(r)||d.movedLabel?r&&r.textStr!==f&&!e&&(!r.textWidth||k.style.width||r.styles.width||r.css({width:null}),r.attr({text:f}),r.textPxLength=r.getBBox().width):(d.label=r=d.createLabel(f,k),d.rotation=0)}createLabel(d,x,v){let S=this.axis,u=S.chart,M=at(d)&&x.enabled?u.renderer.text(d,v==null?void 0:v.x,v==null?void 0:v.y,x.useHTML).add(S.labelGroup):void 0;return M&&(u.styledMode||M.css(B(x.style)),M.textPxLength=M.getBBox().width),M}destroy(){q(this,this.axis)}getPosition(d,x,v,S){let u=this.axis,M=u.chart,G=S&&M.oldChartHeight||M.chartHeight,O={x:d?nt(u.translate(x+v,void 0,void 0,S)+u.transB):u.left+u.offset+(u.opposite?(S&&M.oldChartWidth||M.chartWidth)-u.right-u.left:0),y:d?G-u.bottom+u.offset-(u.opposite?u.height:0):nt(G-u.translate(x+v,void 0,void 0,S)-u.transB)};return O.y=dt(O.y,-1e9,1e9),V(this,"afterGetPosition",{pos:O}),O}getLabelPosition(d,x,v,S,u,M,G,O){let k,o,g=this.axis,s=g.transA,e=g.isLinked&&g.linkedParent?g.linkedParent.reversed:g.reversed,t=g.staggerLines,r=g.tickRotCorr||{x:0,y:0},a=S||g.reserveSpaceDefault?0:-g.labelOffset*(g.labelAlign==="center"?.5:1),m=u.distance,b={};return k=g.side===0?v.rotation?-m:-v.getBBox().height:g.side===2?r.y+m:Math.cos(v.rotation*ht)*(r.y-v.getBBox(!1,0).height/2),at(u.y)&&(k=g.side===0&&g.horiz?u.y+k:u.y),d=d+P(u.x,[0,1,0,-1][g.side]*m)+a+r.x-(M&&S?M*s*(e?-1:1):0),x=x+k-(M&&!S?M*s*(e?1:-1):0),t&&(o=G/(O||1)%t,g.opposite&&(o=t-o-1),x+=o*(g.labelOffset/t)),b.x=d,b.y=Math.round(x),V(this,"afterGetLabelPosition",{pos:b,tickmarkOffset:M,index:G}),b}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(d,x,v,S,u=!1,M){return M.crispLine([["M",d,x],["L",d+(u?0:-v),x+(u?v:0)]],S)}handleOverflow(d){let x=this.axis,v=x.options.labels,S=d.x,u=x.chart.chartWidth,M=x.chart.spacing,G=P(x.labelLeft,Math.min(x.pos,M[3])),O=P(x.labelRight,Math.max(x.isRadial?0:x.pos+x.len,u-M[1])),k=this.label,o=this.rotation,g={left:0,center:.5,right:1}[x.labelAlign||k.attr("align")],s=k.getBBox().width,e=x.getSlotWidth(this),t={},r=e,a=1,m,b,h;o||v.overflow!=="justify"?o<0&&S-g*s<G?h=Math.round(S/Math.cos(o*ht)-G):o>0&&S+g*s>O&&(h=Math.round((u-S)/Math.cos(o*ht))):(m=S-g*s,b=S+(1-g)*s,m<G?r=d.x+r*(1-g)-G:b>O&&(r=O-d.x+r*g,a=-1),(r=Math.min(e,r))<e&&x.labelAlign==="center"&&(d.x+=a*(e-r-g*(e-Math.min(s,r)))),(s>r||x.autoRotation&&(k.styles||{}).width)&&(h=r)),h&&(this.shortenLabel?this.shortenLabel():(t.width=Math.floor(h)+"px",(v.style||{}).textOverflow||(t.textOverflow="ellipsis"),k.css(t)))}moveLabel(d,x){let v=this,S=v.label,u=v.axis,M=!1,G;S&&S.textStr===d?(v.movedLabel=S,M=!0,delete v.label):j(u.ticks,function(O){M||O.isNew||O===v||!O.label||O.label.textStr!==d||(v.movedLabel=O.label,M=!0,O.labelPos=v.movedLabel.xy,delete O.label)}),!M&&(v.labelPos||S)&&(G=v.labelPos||S.xy,v.movedLabel=v.createLabel(d,x,G),v.movedLabel&&v.movedLabel.attr({opacity:0}))}render(d,x,v){let S=this.axis,u=S.horiz,M=this.pos,G=P(this.tickmarkOffset,S.tickmarkOffset),O=this.getPosition(u,M,G,x),k=O.x,o=O.y,g=S.pos,s=g+S.len,e=u?k:o;!S.chart.polar&&this.isNew&&(nt(e)<g||e>s)&&(v=0);let t=P(v,this.label&&this.label.newOpacity,1);v=P(v,1),this.isActive=!0,this.renderGridLine(x,v),this.renderMark(O,v),this.renderLabel(O,x,t,d),this.isNew=!1,V(this,"afterRe
3nder")}renderGridLine(d,x){let v=this.axis,S=v.options,u={},M=this.pos,G=this.type,O=P(this.tickmarkOffset,v.tickmarkOffset),k=v.chart.renderer,o=this.gridLine,g,s=S.gridLineWidth,e=S.gridLineColor,t=S.gridLineDashStyle;this.type==="minor"&&(s=S.minorGridLineWidth,e=S.minorGridLineColor,t=S.minorGridLineDashStyle),o||(v.chart.styledMode||(u.stroke=e,u["stroke-width"]=s||0,u.dashstyle=t),G||(u.zIndex=1),d&&(x=0),this.gridLine=o=k.path().attr(u).addClass("highcharts-"+(G?G+"-":"")+"grid-line").add(v.gridGroup)),o&&(g=v.getPlotLinePath({value:M+O,lineWidth:o.strokeWidth(),force:"pass",old:d,acrossPanes:!1}))&&o[d||this.isNew?"attr":"animate"]({d:g,opacity:x})}renderMark(d,x){let v=this.axis,S=v.options,u=v.chart.renderer,M=this.type,G=v.tickSize(M?M+"Tick":"tick"),O=d.x,k=d.y,o=P(S[M!=="minor"?"tickWidth":"minorTickWidth"],!M&&v.isXAxis?1:0),g=S[M!=="minor"?"tickColor":"minorTickColor"],s=this.mark,e=!s;G&&(v.opposite&&(G[0]=-G[0]),s||(this.mark=s=u.path().addClass("highcharts-"+(M?M+"-":"")+"tick").add(v.axisGroup),v.chart.styledMode||s.attr({stroke:g,"stroke-width":o})),s[e?"attr":"animate"]({d:this.getMarkPath(O,k,G[0],s.strokeWidth(),v.horiz,u),opacity:x}))}renderLabel(d,x,v,S){let u=this.axis,M=u.horiz,G=u.options,O=this.label,k=G.labels,o=k.step,g=P(this.tickmarkOffset,u.tickmarkOffset),s=d.x,e=d.y,t=!0;O&&C(s)&&(O.xy=d=this.getLabelPosition(s,e,O,M,k,g,S,o),(!this.isFirst||this.isLast||G.showFirstLabel)&&(!this.isLast||this.isFirst||G.showLastLabel)?!M||k.step||k.rotation||x||v===0||this.handleOverflow(d):t=!1,o&&S%o&&(t=!1),t&&C(d.y)?(d.opacity=v,O[this.isNewLabel?"attr":"animate"](d).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let d=this.label,x=this.axis;d&&!this.isNew&&(d.animate({opacity:0}
3,void 0,d.destroy),delete this.label),x.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),yt(Y,"Core/Axis/Axis.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Axis/AxisDefaults.js"],Y["Core/Color/Color.js"],Y["Core/Defaults.js"],Y["Core/Foundation.js"],Y["Core/Globals.js"],Y["Core/Axis/Tick.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht,dt,nt,at,q){let{animObject:$}=K,{xAxis:V,yAxis:C}=et,{defaultOptions:B}=ht,{registerEventOptions:j}=dt,{deg2rad:P}=nt,{arrayMax:d,arrayMin:x,clamp:v,correctFloat:S,defined:u,destroyObjectProperties:M,erase:G,error:O,extend:k,fireEvent:o,getClosestDistance:g,insertItem:s,isArray:e,isNumber:t,isString:r,merge:a,normalizeTickInterval:m,objectEach:b,pick:h,relativeLength:T,removeEvent:F,splat:f,syncTimeout:L}=q,I=(Q,l)=>m(l,void 0,void 0,h(Q.options.allowDecimals,l<.5||Q.tickAmount!==void 0),!!Q.tickAmount);k(B,{xAxis:V,yAxis:a(V,C)});class W{constructor(l,n,y){this.init(l,n,y)}init(l,n,y=this.coll){let D=y==="xAxis",i=this.isZAxis||(l.inverted?!D:D);this.chart=l,this.horiz=i,this.isXAxis=D,this.coll=y,o(this,"init",{userOptions:n}),this.opposite=h(n.opposite,this.opposite),this.side=h(n.side,this.side,i?this.opposite?0:2:this.opposite?1:3),this.setOptions(n);let p=this.options,c=p.labels;this.type??(this.type=p.type||"linear"),this.uniqueNames??(this.uniqueNames=p.uniqueNames??!0),o(this,"afterSetType"),this.userOptions=n,this.minPixelPadding=0,this.reversed=h(p.reversed,this.reversed),this.visible=p.visible,this.zoomEnabled=p.zoomEnabled,this.hasNames=this.type==="category"||p.categories===!0,this.categories=e(p.categories)&&p.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=u(p.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=p.minRange||p.maxZoom,this.range=p.range,this.offset=p.offset||0,this.max=void 0,this.min=void 0;let A=h(p.crosshair,f(l.options.tooltip.crosshairs)[D?0:1]);this.crosshair=A===!0?{}:A,l.axes.indexOf(this)===-1&&(D?l.axes.splice(l.xAxis.length,0,this):l.axes.push(this),s(this,l[this.coll])),l.orderItems(this.coll),this.series=this.series||[],l.inverted&&!this.isZAxis&&D&&!u(this.reversed)&&(this.reversed=!0),this.labelRotation=t(c.rotation)?c.rotation:void 0,j(this,p),o(this,"afterInit")}setOptions(l){let n=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=a(n,B[this.coll],l),o(this,"afterSetOptions",{userOptions:l})}defaultLabelFormatter(){let l=this.axis,{numberFormatter:n}=this.chart,y=t(this.value)?this.value:NaN,D=l.chart.time,i=l.categories,p=this.dateTimeLabelFormat,c=B.lang,A=c.numericSymbols,w=c.numericSymbolMagnitude||1e3,R=l.logarithmic?Math.abs(y):l.tickInterval,H=A&&A.length,U,Z;if(i)Z=`${this.value}`;else if(p)Z=D.dateFormat(p,y);else if(H&&A&&R>=1e3)for(;H--&&Z===void 0;)R>=(U=Math.pow(w,H+1))&&10*y%U==0&&A[H]!==null&&y!==0&&(Z=n(y/U,-1)+A[H]);return Z===void 0&&(Z=Math.abs(y)>=1e4?n(y,-1):n(y,-1,void 0,"")),Z}getSeriesExtremes(){let l,n=this;o(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1,n.dataMin=n.dataMax=n.threshold=void 0,n.softThreshold=!n.isXAxis,n.series.forEach(y=>{if(y.reserveSpace()){let D=y.options,i,p=D.threshold,c,A;if(n.hasVisibleSeries=!0,n.positiveValuesOnly&&0>=(p||0)&&(p=void 0),n.isXAxis)(i=y.xData)&&i.length&&(i=n.logarithmic?i.filter(w=>w>0):i,c=(l=y.getXExtremes(i)).min,A=l.max,t(c)||c instanceof Date||(i=i.filter(t),c=(l=y.getXExtremes(i)).min,A=l.max),i.length&&(n.dataMin=Math.min(h(n.dataMin,c),c),n.dataMax=Math.max(h(n.dataMax,A),A)));else{let w=y.applyExtremes();t(w.dataMin)&&(c=w.dataMin,n.dataMin=Math.min(h(n.dataMin,c),c)),t(w.dataMax)&&(A=w.dataMax,n.dataMax=Math.max(h(n.dataMax,A),A)),u(p)&&(n.threshold=p),(!D.softThreshold||n.positiveValuesOnly)&&(n.softThreshold=!1)}}})}),o(this,"afterGetSeriesExtremes")}translate(l,n,y,D,i,p){var it;let c=this.linkedParent||this,A=D&&c.old?c.old.min:c.min;if(!t(A))return NaN;let w=c.minPixelPadding,R=(c.isOrdinal||((it=c.brokenAxis)==null?void 0:it.hasBreaks)||c.logarithmic&&i)&&c.lin2val,H=1,U=0,Z=D&&c.old?c.old.transA:c.transA,rt=0;return Z||(Z=c.transA),y&&(H*=-1,U=c.len),c.reversed&&(H*=-1,U-=H*(c.sector||c.len)),n?(rt=(l=l*H+U-w)/Z+A,R&&(rt=c.lin2val(rt))):(R&&(l=c.val2lin(l)),rt=H*(l-A)*Z+U+H*w+(t(p)?Z*p:0),c.isRadial||(rt=S(rt))),rt}toPixels(l,n){return this.translate(l,!1,!this.horiz,void 0,!0)+(n?0:this.pos)}toValue(l,n){return this.translate(l-(n?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(l){let n=this,y=n.chart,D=n.left,i=n.top,p=l.old,c=l.value,A=l.lineWidth,w=p&&y.oldCh
3artHeight||y.chartHeight,R=p&&y.oldChartWidth||y.chartWidth,H=n.transB,U=l.translatedValue,Z=l.force,rt,it,z,E,N;function X(tt,J,st){return Z!=="pass"&&(tt<J||tt>st)&&(Z?tt=v(tt,J,st):N=!0),tt}let _={value:c,lineWidth:A,old:p,force:Z,acrossPanes:l.acrossPanes,translatedValue:U};return o(this,"getPlotLinePath",_,function(tt){rt=z=(U=v(U=h(U,n.translate(c,void 0,void 0,p)),-1e9,1e9))+H,it=E=w-U-H,t(U)?n.horiz?(it=i,E=w-n.bottom+(n.options.isInternal?0:y.scrollablePixelsY||0),rt=z=X(rt,D,D+n.width)):(rt=D,z=R-n.right+(y.scrollablePixelsX||0),it=E=X(it,i,i+n.height)):(N=!0,Z=!1),tt.path=N&&!Z?void 0:y.renderer.crispLine([["M",rt,it],["L",z,E]],A||1)}),_.path}getLinearTickPositions(l,n,y){let D,i,p,c=S(Math.floor(n/l)*l),A=S(Math.ceil(y/l)*l),w=[];if(S(c+l)===c&&(p=20),this.single)return[n];for(D=c;D<=A&&(w.push(D),(D=S(D+l,p))!==i);)i=D;return w}getMinorTickInterval(){let{minorTicks:l,minorTickInterval:n}=this.options;return l===!0?h(n,"auto"):l!==!1?n:void 0}getMinorTickPositions(){let l=this.options,n=this.tickPositions,y=this.minorTickInterval,D=this.pointRangePadding||0,i=(this.min||0)-D,p=(this.max||0)+D,c=p-i,A=[],w;if(c&&c/y<this.len/3){let R=this.logarithmic;if(R)this.paddedTicks.forEach(function(H,U,Z){U&&A.push.apply(A,R.getLogTickPositions(y,Z[U-1],Z[U],!0))});else if(this.dateTime&&this.getMinorTickInterval()==="auto")A=A.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(y),i,p,l.startOfWeek));else for(w=i+(n[0]-i)%y;w<=p&&w!==A[0];w+=y)A.push(w)}return A.length!==0&&this.trimTicks(A),A}adjustForMinRange(){let l=this.options,n=this.logarithmic,{max:y,min:D,minRange:i}=this,p,c,A,w;this.isXAxis&&i===void 0&&!n&&(i=u(l.min)||u(l.max)||u(l.floor)||u(l.ceiling)?null:Math.min(5*(g(this.series.map(R=>{var H;return(R.xIncrement?(H=R.xData)==null?void 0:H.slice(0,2):R.xData)||[]}))||0),this.dataMax-this.dataMin)),t(y)&&t(D)&&t(i)&&y-D<i&&(c=this.dataMax-this.dataMin>=i,p=(i-y+D)/2,A=[D-p,h(l.min,D-p)],c&&(A[2]=n?n.log2lin(this.dataMin):this.dataMin),w=[(D=d(A))+i,h(l.max,D+i)],c&&(w[2]=n?n.log2lin(this.dataMax):this.dataMax),(y=x(w))-D<i&&(A[0]=y-i,A[1]=h(l.min,y-i),D=d(A))),this.minRange=i,this.min=D,this.max=y}getClosest(){let l,n;if(this.categories)n=1;else{let y=[];this.series.forEach(function(D){var p;let i=D.closestPointRange;((p=D.xData)==null?void 0:p.length)===1?y.push(D.xData[0]):!D.noSharedTooltip&&u(i)&&D.reserveSpace()&&(n=u(n)?Math.min(n,i):i)}),y.length&&(y.sort((D,i)=>D-i),l=g([y]))}return l&&n?Math.min(l,n):l||n}nameToX(l){let n=e(this.options.categories),y=n?this.categories:this.names,D=l.options.x,i;return l.series.requireSorting=!1,u(D)||(D=this.uniqueNames&&y?n?y.indexOf(l.name):h(y.keys[l.name],-1):l.series.autoIncrement()),D===-1?!n&&y&&(i=y.length):i=D,i!==void 0?(this.names[i]=l.name,this.names.keys[l.name]=i):l.x&&(i=l.x),i}updateNames(){let l=this,n=this.names;n.length>0&&(Object.keys(n.keys).forEach(function(y){delete n.keys[y]}),n.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(y=>{y.xIncrement=null,(!y.points||y.isDirtyData)&&(l.max=Math.max(l.max,y.xData.length-1),y.processData(),y.generatePoints()),y.data.forEach(function(D,i){let p;D!=null&&D.options&&D.name!==void 0&&(p=l.nameToX(D))!==void 0&&p!==D.x&&(D.x=p,y.xData[i]=p)})}))}setAxisTranslation(){let l=this,n=l.max-l.min,y=l.linkedParent,D=!!l.categories,i=l.isXAxis,p=l.axisPointRange||0,c,A=0,w=0,R,H=l.transA;(i||D||p)&&(c=l.getClosest(),y?(A=y.minPointOffset,w=y.pointRangePadding):l.series.forEach(function(U){let Z=D?1:i?h(U.options.pointRange,c,0):l.axisPointRange||0,rt=U.options.pointPlacement;if(p=Math.max(p,Z),!l.single||D){let it=U.is("xrange")?!i:i;A=Math.max(A,it&&r(rt)?0:Z/2),w=Math.max(w,it&&rt==="on"?0:Z)}}),R=l.ordinal&&l.ordinal.slope&&c?l.ordinal.slope/c:1,l.minPointOffset=A*=R,l.pointRangePadding=w*=R,l.pointRange=Math.min(p,l.single&&D?1:n),i&&c&&(l.closestPointRange=c)),l.translationSlope=l.transA=H=l.staticScale||l.len/(n+w||1),l.transB=l.horiz?l.left:l.bottom,l.minPixelPadding=H*A,o(this,"afterSetAxisTranslation")}minFromRange(){let{max:l,min:n}=this;return t(l)&&t(n)&&l-n||void 0}setTickInterval(l){var ft,gt,vt,bt;let{categories:n,chart:y,dataMax:D,dataMin:i,dateTime:p,isXAxis:c,logarithmic:A,options:w,softThreshold:R}=this,H=t(this.threshold)?this.threshold:void 0,U=this.minRange||0,{ceiling:Z,floor:rt,linkedTo:it,softMax:z,softMin:E}=w,N=t(it)&&((ft=y[this.coll])==null?void 0:ft[it]),X=w.tickPixelInterval,_=w.maxPadding,tt=w.minPadding,J=0,st,ot=t(w.tickInterval)&&w.tickInterval>=0?w.tickInterval:void 0,ct,pt,ut,mt;if(p||n||N||this.getTickAmount(),ut=h(this.userMin,w.min),mt=h(this.userMax,w.max),N?(this.linkedParent=N,st=N.getExtremes(),this.min=h(st.min,st.dataMin),this.max=h(st.max,st.dataMax),this.type!==N.type&&O(11,!0,y)):(R&&u(H)&&t(D)&&t(i)&&(i>=H?(ct=H,tt=0):D<=H&&(pt=H,_=0)),this.min=h(ut,ct,i),this.max=h(mt,pt,D)),t(this.max)&&t(this.min)&&(A&&(this.positiveValuesOnly&&!l&&0>=Math.min(this.min,h(i,this.min))&&O(10,!0,y),this.min=S(A.log2lin(this.min),16),this.max=S(A.log2lin(this.max),16)),this.range&&t(i)&&(this.userMin=this.min=ut=Math.max(i,this.minFromRange()||0),this.userMax=mt=this.max,this.range=void 0)),o(this,"foundExtremes"),this.adjustForMinRange(),t(this.min)&&t(this.max)){if(!t(this.userMin)&&t(E)&&E<this.min&&(this.min=ut=E),!t(this.userMax)&&t(z)&&z>this.max&&(this.max=mt=z),n||this.axisPointRange||(gt=this.stacking)!=null&&gt.usePercentage||N||!(J=this.max-this.min)||(!u(ut)&&tt&&(this.min-=J*tt),u(mt)||!_||(this.max+=J*_)),!t(this.userMin)&&t(rt)&&(this.min=Math.max(this.min,rt)),!t(this.userMax)&&t(Z)&&(this.max=Math.min(this.max,Z)),R&&t(i)&&t(
3D)){let St=H||0;!u(ut)&&this.min<St&&i>=St?this.min=w.minRange?Math.min(St,this.max-U):St:!u(mt)&&this.max>St&&D<=St&&(this.max=w.minRange?Math.max(St,this.min+U):St)}!y.polar&&this.min>this.max&&(u(w.min)?this.max=this.min:u(w.max)&&(this.min=this.max)),J=this.max-this.min}if(this.min!==this.max&&t(this.min)&&t(this.max)?N&&!ot&&X===N.options.tickPixelInterval?this.tickInterval=ot=N.tickInterval:this.tickInterval=h(ot,this.tickAmount?J/Math.max(this.tickAmount-1,1):void 0,n?1:J*X/Math.max(this.len,X)):this.tickInterval=1,c&&!l){let St=this.min!==((vt=this.old)==null?void 0:vt.min)||this.max!==((bt=this.old)==null?void 0:bt.max);this.series.forEach(function(Ct){var kt;Ct.forceCrop=(kt=Ct.forceCropping)==null?void 0:kt.call(Ct),Ct.processData(St)}),o(this,"postProcessData",{hasExtremesChanged:St})}this.setAxisTranslation(),o(this,"initialAxisTranslation"),this.pointRange&&!ot&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let xt=h(w.minTickInterval,p&&!this.series.some(St=>St.noSharedTooltip)?this.closestPointRange:0);!ot&&this.tickInterval<xt&&(this.tickInterval=xt),p||A||ot||(this.tickInterval=I(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){var R,H;let l=this.options,n=l.tickPositions,y=l.tickPositioner,D=this.getMinorTickInterval(),i=!this.isPanning,p=i&&l.startOnTick,c=i&&l.endOnTick,A=[],w;if(this.tickmarkOffset=this.categories&&l.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.single=this.min===this.max&&u(this.min)&&!this.tickAmount&&(this.min%1==0||l.allowDecimals!==!1),n)A=n.slice();else if(t(this.min)&&t(this.max)){if(!((R=this.ordinal)!=null&&R.positions)&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))A=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)A=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,l.units),this.min,this.max,l.startOfWeek,(H=this.ordinal)==null?void 0:H.positions,this.closestPointRange,!0);else if(this.logarithmic)A=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let U=this.tickInterval,Z=U;for(;Z<=2*U&&(A=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&A.length>this.tickAmount);)this.tickInterval=I(this,Z*=1.1)}A.length>this.len&&(A=[A[0],A[A.length-1]])[0]===A[1]&&(A.length=1),y&&(this.tickPositions=A,(w=y.apply(this,[this.min,this.max]))&&(A=w))}this.tickPositions=A,this.minorTickInterval=D==="auto"&&this.tickInterval?this.tickInterval/l.minorTicksPerMajor:D,this.paddedTicks=A.slice(0),this.trimTicks(A,p,c),!this.isLinked&&t(this.min)&&t(this.max)&&(this.single&&A.length<2&&!this.categories&&!this.series.some(U=>U.is("heatmap")&&U.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),n||w||this.adjustTickAmount()),o(this,"afterSetTickPositions")}trimTicks(l,n,y){let D=l[0],i=l[l.length-1],p=!this.isOrdinal&&this.minPointOffset||0;if(o(this,"trimTicks"),!this.isLinked){if(n&&D!==-1/0)this.min=D;else for(;this.min-p>l[0];)l.shift();if(y)this.max=i;else for(;this.max+p<l[l.length-1];)l.pop();l.length===0&&u(D)&&!this.options.tickPositions&&l.push((i+D)/2)}}alignToOthers(){let l,n=this,y=n.chart,D=[this],i=n.options,p=y.options.chart,c=this.coll==="yAxis"&&p.alignThresholds,A=[];if(n.thresholdAlignment=void 0,(p.alignTicks!==!1&&i.alignTicks||c)&&i.startOnTick!==!1&&i.endOnTick!==!1&&!n.logarithmic){let w=H=>{let{horiz:U,options:Z}=H;return[U?Z.left:Z.top,Z.width,Z.height,Z.pane].join(",")},R=w(this);y[this.coll].forEach(function(H){let{series:U}=H;U.length&&U.some(Z=>Z.visible)&&H!==n&&w(H)===R&&(l=!0,D.push(H))})}if(l&&c){D.forEach(R=>{let H=R.getThresholdAlignment(n);t(H)&&A.push(H)});let w=A.length>1?A.reduce((R,H)=>R+=H,0)/A.length:void 0;D.forEach(R=>{R.thresholdAlignment=w})}return l}getThresholdAlignment(l){if((!t(this.dataMin)||this!==l&&this.series.some(n=>n.isDirty||n.isDirtyData))&&this.getSeriesExtremes(),t(this.threshold)){let n=v((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(n=1-n),n}}getTickAmount(){let l=this.options,n=l.tickPixelInterval,y=l.tickAmount;u(l.tickInterval)||y||!(this.len<n)||this.isRadial||this.logarithmic||!l.startOnTick||!l.endOnTick||(y=2),!y&&this.alignToOthers()&&(y=Math.ceil(this.len/n)+1),y<4&&(this.finalTickAmt=y,y=5),this.tickAmount=y}adjustTickAmount(){let l=this,{finalTickAmt:n,max:y,min:D,options:i,tickPositions:p,tickAmount:c,thresholdAlignment:A}=l,w=p==null?void 0:p.length,R=h(l.threshold,l.softThreshold?0:null),H,U,Z=l.tickInterval,rt,it=()=>p.push(S(p[p.length-1]+Z)),z=()=>p.unshift(S(p[0]-Z));if(t(A)&&(rt=A<.5?Math.ceil(A*(c-1)):Math.floor(A*(c-1)),i.reversed&&(rt=c-1-rt)),l.hasData()&&t(D)&&t(y)){let E=()=>{l.transA*=(w-1)/(c-1),l.min=i.startOnTick?p[0]:Math.min(D,p[0]),l.max=i.endOnTick?p[p.length-1]:Math.max(y,p[p.length-1])};if(t(rt)&&t(l.threshold)){for(;p[rt]!==R||p.length!==c||p[0]>D||p[p.length-1]<y;){for(p.length=0,p.push(l.threshold);p.length<c;)p[rt]===void 0||p[rt]>l.threshold?z():it();if(Z>8*l.tickInterval)break;Z*=2}E()}else if(w<c){for(;p.length<c;)p.length%2||D===R?it():z();E()}if(u(n)){for(U=H=p.length;U--;)(n===3&&U%2==1||n<=2&&U>0&&U<H-1)&&p.splice(U,1);l.finalTickAmt=void 0}}}setScale(){var p,c;let{coll:l,stacking:n}=this,y=!1,D=!1;
3this.series.forEach(A=>{y=y||A.isDirtyData||A.isDirty,D=D||A.xAxis&&A.xAxis.isDirty||!1}),this.setAxisSize();let i=this.len!==(this.old&&this.old.len);i||y||D||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(n&&l==="yAxis"&&n.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),n&&l==="xAxis"&&n.buildStacks(),this.isDirty||(this.isDirty=i||this.min!==((p=this.old)==null?void 0:p.min)||this.max!==((c=this.old)==null?void 0:c.max))):n&&n.cleanStacks(),y&&delete this.allExtremes,o(this,"afterSetScale")}setExtremes(l,n,y=!0,D,i){this.series.forEach(p=>{delete p.kdTree}),o(this,"setExtremes",i=k(i,{min:l,max:n}),p=>{this.userMin=p.min,this.userMax=p.max,this.eventArgs=p,y&&this.chart.redraw(D)})}setAxisSize(){let l=this.chart,n=this.options,y=n.offsets||[0,0,0,0],D=this.horiz,i=this.width=Math.round(T(h(n.width,l.plotWidth-y[3]+y[1]),l.plotWidth)),p=this.height=Math.round(T(h(n.height,l.plotHeight-y[0]+y[2]),l.plotHeight)),c=this.top=Math.round(T(h(n.top,l.plotTop+y[0]),l.plotHeight,l.plotTop)),A=this.left=Math.round(T(h(n.left,l.plotLeft+y[3]),l.plotWidth,l.plotLeft));this.bottom=l.chartHeight-p-c,this.right=l.chartWidth-i-A,this.len=Math.max(D?i:p,0),this.pos=D?A:c}getExtremes(){let l=this.logarithmic;return{min:l?S(l.lin2log(this.min)):this.min,max:l?S(l.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(l){let n=this.logarithmic,y=n?n.lin2log(this.min):this.min,D=n?n.lin2log(this.max):this.max;return l===null||l===-1/0?l=y:l===1/0?l=D:y>l?l=y:D<l&&(l=D),this.translate(l,0,1,0,1)}autoLabelAlign(l){let n=(h(l,0)-90*this.side+720)%360,y={align:"center"};return o(this,"autoLabelAlign",y,function(D){n>15&&n<165?D.align="right":n>195&&n<345&&(D.align="left")}),y.align}tickSize(l){let n=this.options,y=h(n[l==="tick"?"tickWidth":"minorTickWidth"],l==="tick"&&this.isXAxis&&!this.categories?1:0),D=n[l==="tick"?"tickLength":"minorTickLength"],i;y&&D&&(n[l+"Position"]==="inside"&&(D=-D),i=[D,y]);let p={tickSize:i};return o(this,"afterTickSize",p),p.tickSize}labelMetrics(){let l=this.chart.renderer,n=this.ticks,y=n[Object.keys(n)[0]]||{};return this.chart.renderer.fontMetrics(y.label||y.movedLabel||l.box)}unsquish(){let l=this.options.labels,n=l.padding||0,y=this.horiz,D=this.tickInterval,i=this.len/(((this.categories?1:0)+this.max-this.min)/D),p=l.rotation,c=S(.8*this.labelMetrics().h),A=Math.max(this.max-this.min,0),w=function(rt){let it=(rt+2*n)/(i||1);return(it=it>1?Math.ceil(it):1)*D>A&&rt!==1/0&&i!==1/0&&A&&(it=Math.ceil(A/D)),S(it*D)},R=D,H,U=Number.MAX_VALUE,Z;if(y){if(!l.staggerLines&&(t(p)?Z=[p]:i<l.autoRotationLimit&&(Z=l.autoRotation)),Z){let rt,it;for(let z of Z)(z===p||z&&z>=-90&&z<=90)&&(it=(rt=w(Math.abs(c/Math.sin(P*z))))+Math.abs(z/360))<U&&(U=it,H=z,R=rt)}}else R=w(.75*c);return this.autoRotation=Z,this.labelRotation=h(H,t(p)?p:0),l.step?D:R}getSlotWidth(l){let n=this.chart,y=this.horiz,D=this.options.labels,i=Math.max(this.tickPositions.length-(this.categories?0:1),1),p=n.margin[3];if(l&&t(l.slotWidth))return l.slotWidth;if(y&&D.step<2)return D.rotation?0:(this.staggerLines||1)*this.len/i;if(!y){let c=D.style.width;if(c!==void 0)return parseInt(String(c),10);if(p)return p-n.spacing[3]}return .33*n.chartWidth}renderUnsquish(){let l=this.chart,n=l.renderer,y=this.tickPositions,D=this.ticks,i=this.options.labels,p=i.style,c=this.horiz,A=this.getSlotWidth(),w=Math.max(1,Math.round(A-(c?2*(i.padding||0):i.distance||0))),R={},H=this.labelMetrics(),U=p.textOverflow,Z,rt,it=0,z,E;if(r(i.rotation)||(R.rotation=i.rotation||0),y.forEach(function(N){let X=D[N];X.movedLabel&&X.replaceMovedLabel(),X&&X.label&&X.label.textPxLength>it&&(it=X.label.textPxLength)}),this.maxLabelLength=it,this.autoRotation)it>w&&it>H.h?R.rotation=this.labelRotation:this.labelRotation=0;else if(A&&(Z=w,!U))for(rt="clip",E=y.length;!c&&E--;)(z=D[y[E]].label)&&(z.styles.textOverflow==="ellipsis"?z.css({textOverflow:"clip"}):z.textPxLength>A&&z.css({width:A+"px"}),z.getBBox().height>this.len/y.length-(H.h-H.f)&&(z.specificTextOverflow="ellipsis"));R.rotation&&(Z=it>
3.5*l.chartHeight?.33*l.chartHeight:it,U||(rt="ellipsis")),this.labelAlign=i.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(R.align=this.labelAlign),y.forEach(function(N){let X=D[N],_=X&&X.label,tt=p.width,J={};_&&(_.attr(R),X.shortenLabel?X.shortenLabel():Z&&!tt&&p.whiteSpace!=="nowrap"&&(Z<_.textPxLength||_.element.tagName==="SPAN")?(J.width=Z+"px",U||(J.textOverflow=_.specificTextOverflow||rt),_.css(J)):!_.styles.width||J.width||tt||_.css({width:null}),delete _.specificTextOverflow,X.rotation=R.rotation)},this),this.tickRotCorr=n.rotCorr(H.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(l){return l.hasData()})||this.options.showEmpty&&u(this.min)&&u(this.max)}addTitle(l){let n,y=this.chart.renderer,D=this.horiz,i=this.opposite,p=this.options.title,c=this.chart.styledMode;this.axisTitle||((n=p.textAlign)||(n=(D?{low:"left",middle:"center",high:"right"}:{low:i?"right":"left",middle:"center",high:i?"left":"right"})[p.align]),this.axisTitle=y.text(p.text||"",0,0,p.useHTML).attr({zIndex:7,rotation:p.rotation||0,align:n}).addClass("highcharts-axis-title"),c||this.axisTitle.css(a(p.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),c||p.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[l?"show":"hide"](l)}generateTick(l){let n=this.ticks;n[l]?n[l].addLabel():n[l]=new at(this,l)}createGroups(){let{axisParent:l,chart:n,coll:y,options:D}=this,i=n.renderer,p=(c,A,w)=>i.g(c).attr({zIndex:w}).addClass(`highcharts-${y.toLowerCase()}${A} `+(this.isRadial?`highcharts-radial-axis${A} `:"")+(D.className||"")).add(l);this.axisGroup||(this.gridGroup=p("grid","-grid",D.gridZIndex),this.axisGroup=p("axis","",D.zIndex),this.labelGroup=p("axis-labels","-labels",D.labels.zIndex))}getOffset(){let l=this,{chart:n,horiz:y,options:D,side:i,ticks:p,tickPositions:c,coll:A}=l,w=n.inverted&&!l.isZAxis?[1,0,3,2][i]:i,R=l.hasData(),H=D.title,U=D.labels,Z=t(D.crossing),rt=n.axisOffset,it=n.clipOffset,z=[-1,1,1,-1][i],E,N=0,X,_=0,tt=0,J,st;if(l.showAxis=E=R||D.showEmpty,l.staggerLines=l.horiz&&U.staggerLines||void 0,l.createGroups(),R||l.isLinked?(c.forEach(function(ot){l.generateTick(ot)}),l.renderUnsquish(),l.reserveSpaceDefault=i===0||i===2||{1:"left",3:"right"}[i]===l.labelAlign,h(U.reserveSpace,!Z&&null,l.labelAlign==="center"||null,l.reserveSpaceDefault)&&c.forEach(function(ot){tt=Math.max(p[ot].getLabelSize(),tt)}),l.staggerLines&&(tt*=l.staggerLines),l.labelOffset=tt*(l.opposite?-1:1)):b(p,function(ot,ct){ot.destroy(),delete p[ct]}),H!=null&&H.text&&H.enabled!==!1&&(l.addTitle(E),E&&!Z&&H.reserveSpace!==!1&&(l.titleOffset=N=l.axisTitle.getBBox()[y?"height":"width"],_=u(X=H.offset)?0:h(H.margin,y?5:10))),l.renderLine(),l.offset=z*h(D.offset,rt[i]?rt[i]+(D.margin||0):0),l.tickRotCorr=l.tickRotCorr||{x:0,y:0},st=i===0?-l.labelMetrics().h:i===2?l.tickRotCorr.y:0,J=Math.abs(tt)+_,tt&&(J-=st,J+=z*(y?h(U.y,l.tickRotCorr.y+z*U.distance):h(U.x,z*U.distance))),l.axisTitleMargin=h(X,J),l.getMaxLabelDimensions&&(l.maxLabelDimensions=l.getMaxLabelDimensions(p,c)),A!=="colorAxis"&&it){let ot=this.tickSize("tick");rt[i]=Math.max(rt[i],(l.axisTitleMargin||0)+N+z*l.offset,J,c&&c.length&&ot?ot[0]+z*l.offset:0);let ct=!l.axisLine||D.offset?0:l.axisLine.strokeWidth()/2;it[w]=Math.max(it[w],ct)}o(this,"afterGetOffset")}getLinePath(l){let n=this.chart,y=this.opposite,D=this.offset,i=this.horiz,p=this.left+(y?this.width:0)+D,c=n.chartHeight-this.bottom-(y?this.height:0)+D;return y&&(l*=-1),n.renderer.crispLine([["M",i?this.left:p,i?c:this.top],["L",i?n.chartWidth-this.right:p,i?c:n.chartHeight-this.bottom]],l)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(l){let n=this.horiz,y=this.left,D=this.top,i=this.len,p=this.options.title,c=n?y:D,A=this.opposite,w=this.offset,R=p.x,H=p.y,U=this.chart.renderer.fontMetrics(l),Z=l?Math.max(l.getBBox(!1,0).height-U.h-1,0):0,rt={low:c+(n?0:i),middle:c+i/2,high:c+(n?i:0)}[p.align],it=(n?D+this.height:y)+(n?1:-1)*(A?-1:1)*(this.axisTitleMargin||0)+[-Z,Z,U.f,-Z][this.side],z={x:n?rt+R:it+(A?this.width:0)+w+R,y:n?it+H-(A?this.height:0)+w:rt+H};return o(this,"afterGetTitlePosition",{titlePosition:z}),z}renderMinorTick(l,n){let y=this.minorTicks;y[l]||(y[l]=new at(this,l,"minor")),n&&y[l].isNew&&y[l].render(null,!0),y[l].render(null,!1,1)}renderTick(l,n,y){let D=this.isLinked,i=this.ticks;(!D||l>=this.min&&l<=this.max||this.grid&&this.grid.isColumn)&&(i[l]||(i[l]=new at(this,l)),y&&i[l].isNew&&i[l].render(n,!0,-1),i[l].render(n))}
3render(){let l,n,y=this,D=y.chart,i=y.logarithmic,p=D.renderer,c=y.options,A=y.isLinked,w=y.tickPositions,R=y.axisTitle,H=y.ticks,U=y.minorTicks,Z=y.alternateBands,rt=c.stackLabels,it=c.alternateGridColor,z=c.crossing,E=y.tickmarkOffset,N=y.axisLine,X=y.showAxis,_=$(p.globalAnimation);if(y.labelEdge.length=0,y.overlap=!1,[H,U,Z].forEach(function(tt){b(tt,function(J){J.isActive=!1})}),t(z)){let tt=this.isXAxis?D.yAxis[0]:D.xAxis[0],J=[1,-1,-1,1][this.side];if(tt){let st=tt.toPixels(z,!0);y.horiz&&(st=tt.len-st),y.offset=J*st}}if(y.hasData()||A){let tt=y.chart.hasRendered&&y.old&&t(y.old.min);y.minorTickInterval&&!y.categories&&y.getMinorTickPositions().forEach(function(J){y.renderMinorTick(J,tt)}),w.length&&(w.forEach(function(J,st){y.renderTick(J,st,tt)}),E&&(y.min===0||y.single)&&(H[-1]||(H[-1]=new at(y,-1,null,!0)),H[-1].render(-1))),it&&w.forEach(function(J,st){n=w[st+1]!==void 0?w[st+1]+E:y.max-E,st%2==0&&J<y.max&&n<=y.max+(D.polar?-E:E)&&(Z[J]||(Z[J]=new nt.PlotLineOrBand(y,{})),l=J+E,Z[J].options={from:i?i.lin2log(l):l,to:i?i.lin2log(n):n,color:it,className:"highcharts-alternate-grid"},Z[J].render(),Z[J].isActive=!0)}),y._addedPlotLB||(y._addedPlotLB=!0,(c.plotLines||[]).concat(c.plotBands||[]).forEach(function(J){
3y.addPlotBandOrLine(J)}))}[H,U,Z].forEach(function(tt){let J=[],st=_.duration;b(tt,function(ot,ct){ot.isActive||(ot.render(ct,!1,0),ot.isActive=!1,J.push(ct))}),L(function(){let ot=J.length;for(;ot--;)tt[J[ot]]&&!tt[J[ot]].isActive&&(tt[J[ot]].destroy(),delete tt[J[ot]])},tt!==Z&&D.hasRendered&&st?st:0)}),N&&(N[N.isPlaced?"animate":"attr"]({d:this.getLinePath(N.strokeWidth())}),N.isPlaced=!0,N[X?"show":"hide"](X)),R&&X&&(R[R.isNew?"attr":"animate"](y.getTitlePosition(R)),R.isNew=!1),rt&&rt.enabled&&y.stacking&&y.stacking.renderStackTotals(),y.old={len:y.len,max:y.max,min:y.min,transA:y.transA,userMax:y.userMax,userMin:y.userMin},y.isDirty=!1,o(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(l){l.render()})),this.series.forEach(function(l){l.isDirty=!0})}getKeepProps(){return this.keepProps||W.keepProps}destroy(l){let n=this,y=n.plotLinesAndBands,D=this.eventOptions;if(o(this,"destroy",{keepEvents:l}),l||F(n),[n.ticks,n.minorTicks,n.alternateBands].forEach(function(i){M(i)}),y){let i=y.length;for(;i--;)y[i].destroy()}for(let i in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(p){n[p]&&(n[p]=n[p].destroy())}),n.plotLinesAndBandsGroups)n.plotLinesAndBandsGroups[i]=n.plotLinesAndBandsGroups[i].destroy();b(n,function(i,p){n.getKeepProps().indexOf(p)===-1&&delete n[p]}),this.eventOptions=D}drawCrosshair(l,n){let y=this.crosshair,D=h(y&&y.snap,!0),i=this.chart,p,c,A,w=this.cross,R;if(o(this,"drawCrosshair",{e:l,point:n}),l||(l=this.cross&&this.cross.e),y&&(u(n)||!D)!==!1){if(D?u(n)&&(c=h(this.coll!=="colorAxis"?n.crosshairPos:null,this.isXAxis?n.plotX:this.len-n.plotY)):c=l&&(this.horiz?l.chartX-this.pos:this.len-l.chartY+this.pos),u(c)&&(R={value:n&&(this.isXAxis?n.x:h(n.stackY,n.y)),translatedValue:c},i.polar&&k(R,{isCrosshair:!0,chartX:l&&l.chartX,chartY:l&&l.chartY,point:n}),p=this.getPlotLinePath(R)||null),!u(p)){this.hideCrosshair();return}A=this.categories&&!this.isRadial,w||(this.cross=w=i.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(A?"category ":"thin ")+(y.className||"")).attr({zIndex:h(y.zIndex,2)}).add(),!i.styledMode&&(w.attr({stroke:y.color||(A?lt.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":h(y.width,1)}).css({"pointer-events":"none"}),y.dashStyle&&w.attr({dashstyle:y.dashStyle}))),w.show().attr({d:p}),A&&!y.width&&w.attr({"stroke-width":this.transA}),this.cross.e=l}else this.hideCrosshair();o(this,"afterDrawCrosshair",{e:l,point:n})}hideCrosshair(){this.cross&&this.cross.hide(),o(this,"afterHideCrosshair")}update(l,n){let y=this.chart;l=a(this.userOptions,l),this.destroy(!0),this.init(y,l),y.isDirtyBox=!0,h(n,!0)&&y.redraw()}remove(l){let n=this.chart,y=this.coll,D=this.series,i=D.length;for(;i--;)D[i]&&D[i].remove(!1);G(n.axes,this),G(n[y]||[],this),n.orderItems(y),this.destroy(),n.isDirtyBox=!0,h(l,!0)&&n.redraw()}setTitle(l,n){this.update({title:l},n)}setCategories(l,n){this.update({categories:l},n)}}return W.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],W}),yt(Y,"Core/Axis/DateTimeAxis.js",[Y["Core/Utilities.js"]],function(K){var et;let{addEvent:lt,getMagnitude:ht,normalizeTickInterval:dt,timeUnits:nt}=K;return function(at){function q(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function $(){if(this.type!=="datetime"){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new V(this))}at.compose=function(C){return C.keepProps.includes("dateTime")||(C.keepProps.push("dateTime"),C.prototype.getTimeTicks=q,lt(C,"afterSetType",$)),C};class V{constructor(B){this.axis=B}normalizeTimeTickInterval(B,j){let P=j||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],d=P[P.length-1],x=nt[d[0]],v=d[1],S;for(S=0;S<P.length&&(x=nt[(d=P[S])[0]],v=d[1],!P[S+1]||!(B<=(x*v[v.length-1]+nt[P[S+1][0]])/2));S++);x===nt.year&&B<5*x&&(v=[1,2,5]);let u=dt(B/x,v,d[0]==="year"?Math.max(ht(B/x),1):1);return{unitRange:x,count:u,unitName:d[0]}}getXDateFormat(B,j){let{axis:P}=this,d=P.chart.time;return P.closestPointRange?d.getDateFormat(P.closestPointRange,B,P.options.startOfWeek,j)||d.resolveDTLFormat(j.year).main:d.resolveDTLFormat(j.day).main}}at.Additions=V}(et||(et={})),et}),yt(Y,"Core/Axis/LogarithmicAxis.js",[Y["Core/Utilities.js"]],function(K){var et;let{addEvent:lt,normalizeTickInterval:ht,pick:dt}=K;return function(nt){function at(){this.type!=="logarithmic"?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new $(this))}function q(){let V=this.logarithmic;V&&(this.lin2val=function(C){return V.lin2log(C)},this.val2lin=function(C){return V.log2lin(C)})}nt.compose=function(V){return V.keepProps.includes("logarithmic")||(V.keepProps.push("logarithmic"),lt(V,"afterSetType",at),lt(V,"afterInit",q)),V};class ${constructor(C){this.axis=C}getLogTickPositions(C,B,j,P){let d=this.axis,x=d.len,v=d.options,S=[];if(P||(this.minorAutoInterval=void 0),C>=.5)C=Math.round(C),S=d.getLinearTickPositions(C,B,j);else if(C>=.08){let u,M,G,O,k,o,g,s=Math.floor(B);for(u=C>.3?[1,2,4]:C>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],M=s;M<j+1&&!g;M++)for(G=0,O=u.length;G<O&&!g;G++)(k=this.log2lin(this.lin2log(M)*u[G]))>B&&(!P||o<=j)&&o!==void 0&&S.push(o),o>j&&(g=!0),o=k}else{let u=this.lin2log(B),M=this.lin2log(j),G=P?d.getMinorTickInterval():v.tickInterval,O=v.tickPixelInterval/(P?5:1),k=P?x/d.tickPositions.length:x;C=ht(C=dt(G==="auto"?null:G,this.minorAutoInterval,(M-u)*O/(k||1))),S=d.getLinearTickPositions(C,u,M).map(this.log2lin),P||(this.minorAutoInterval=C/5)}return P||(d.tickInterval=C),S}lin2log(C){return Math.pow(10,C)}log2lin(C){return Math.log(C)/Math.LN10}}nt.Additions=$}(et||(et={})),et}),yt(Y,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[Y["Core/Utilities.js"]],function(K){var et;let{erase:lt,extend:ht,isNumber:dt}=K;return function(nt){let at;function q(d){return this.addPlotBandOrLine(d,"plotBands")}function $(d,x){let v=this.userOptions,S=new at(this,d);
3if(this.visible&&(S=S.render()),S){if(this._addedPlotLB||(this._addedPlotLB=!0,(v.plotLines||[]).concat(v.plotBands||[]).forEach(u=>{this.addPlotBandOrLine(u)})),x){let u=v[x]||[];u.push(d),v[x]=u}this.plotLinesAndBands.push(S)}return S}function V(d){return this.addPlotBandOrLine(d,"plotLines")}function C(d,x,v){v=v||this.options;let S=this.getPlotLinePath({value:x,force:!0,acrossPanes:v.acrossPanes}),u=[],M=this.horiz,G=!dt(this.min)||!dt(this.max)||d<this.min&&x<this.min||d>this.max&&x>this.max,O=this.getPlotLinePath({value:d,force:!0,acrossPanes:v.acrossPanes}),k,o=1,g;if(O&&S)for(G&&(g=O.toString()===S.toString(),o=0),k=0;k<O.length;k+=2){let s=O[k],e=O[k+1],t=S[k],r=S[k+1];(s[0]==="M"||s[0]==="L")&&(e[0]==="M"||e[0]==="L")&&(t[0]==="M"||t[0]==="L")&&(r[0]==="M"||r[0]==="L")&&(M&&t[1]===s[1]?(t[1]+=o,r[1]+=o):M||t[2]!==s[2]||(t[2]+=o,r[2]+=o),u.push(["M",s[1],s[2]],["L",e[1],e[2]],["L",r[1],r[2]],["L",t[1],t[2]],["Z"])),u.isFlat=g}return u}function B(d){this.removePlotBandOrLine(d)}function j(d){let x=this.plotLinesAndBands,v=this.options,S=this.userOptions;if(x){let u=x.length;for(;u--;)x[u].id===d&&x[u].destroy();[v.plotLines||[],S.plotLines||[],v.plotBands||[],S.plotBands||[]].forEach(function(M){for(u=M.length;u--;)(M[u]||{}).id===d&&lt(M,M[u])})}}function P(d){this.removePlotBandOrLine(d)}nt.compose=function(d,x){let v=x.prototype;return v.addPlotBand||(at=d,ht(v,{addPlotBand:q,addPlotLine:V,addPlotBandOrLine:$,getPlotBandPath:C,removePlotBand:B,removePlotLine:P,removePlotBandOrLine:j})),x}}(et||(et={})),et}),yt(Y,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[Y["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],Y["Core/Utilities.js"]],function(K,et){let{addEvent:lt,arrayMax:ht,arrayMin:dt,defined:nt,destroyObjectProperties:at,erase:q,fireEvent:$,merge:V,objectEach:C,pick:B}=et;class j{static compose(d,x){return lt(d,"afterInit",function(){this.labelCollectors.push(()=>{var S;let v=[];for(let u of this.axes)for(let{label:M,options:G}of u.plotLinesAndBands)M&&!((S=G==null?void 0:G.label)!=null&&S.allowOverlap)&&v.push(M);return v})}),K.compose(j,x)}constructor(d,x){this.axis=d,this.options=x,this.id=x.id}render(){$(this,"render");let{axis:d,options:x}=this,{horiz:v,logarithmic:S}=d,{color:u,events:M,zIndex:G=0}=x,O={},k=d.chart.renderer,o=x.to,g=x.from,s=x.value,e=x.borderWidth,t=x.label,{label:r,svgElem:a}=this,m=[],b,h=nt(g)&&nt(o),T=nt(s),F=!a,f={class:"highcharts-plot-"+(h?"band ":"line ")+(x.className||"")},L=h?"bands":"lines";if(!d.chart.styledMode&&(T?(f.stroke=u||"#999999",f["stroke-width"]=B(x.width,1),x.dashStyle&&(f.dashstyle=x.dashStyle)):h&&(f.fill=u||"#e6e9ff",e&&(f.stroke=x.borderColor,f["stroke-width"]=e))),O.zIndex=G,L+="-"+G,(b=d.plotLinesAndBandsGroups[L])||(d.plotLinesAndBandsGroups[L]=b=k.g("plot-"+L).attr(O).add()),a||(this.svgElem=a=k.path().attr(f).add(b)),nt(s))m=d.getPlotLinePath({value:(S==null?void 0:S.log2lin(s))??s,lineWidth:a.strokeWidth(),acrossPanes:x.acrossPanes});else{if(!(nt(g)&&nt(o)))return;m=d.getPlotBandPath((S==null?void 0:S.log2lin(g))??g,(S==null?void 0:S.log2lin(o))??o,x)}return!this.eventsAdded&&M&&(C(M,(I,W)=>{a==null||a.on(W,Q=>{M[W].apply(this,[Q])})}),this.eventsAdded=!0),(F||!a.d)&&(m!=null&&m.length)?a.attr({d:m}):a&&(m?(a.show(),a.animate({d:m})):a.d&&(a.hide(),r&&(this.label=r=r.destroy()))),t&&(nt(t.text)||nt(t.formatter))&&(m!=null&&m.length)&&d.width>0&&d.height>0&&!m.isFlat?(t=V({align:v&&h?"center":void 0,x:v?!h&&4:10,verticalAlign:!v&&h?"middle":void 0,y:v?h?16:10:h?6:-4,rotation:v&&!h?90:0,...h?{inside:!0}:{}},t),this.renderLabel(t,m,h,G)):r&&r.hide(),this}renderLabel(d,x,v,S){var t;let u=this.axis,M=u.chart.renderer,G=d.inside,O=this.label;O||(this.label=O=M.text(this.getLabelText(d),0,0,d.useHTML).attr({align:d.textAlign||d.align,rotation:d.rotation,class:"highcharts-plot-"+(v?"band":"line")+"-label "+(d.className||""),zIndex:S}),u.chart.styledMode||O.css(V({fontSize:"0.8em",textOverflow:v&&!G?"":"ellipsis"},d.style)),O.add());let k=x.xBounds||[x[0][1],x[1][1],v?x[2][1]:x[0][1]],o=x.yBounds||[x[0][2],x[1][2],v?x[2][2]:x[0][2]],g=dt(k),s=dt(o),e=ht(k)-g;
3O.align(d,!1,{x:g,y:s,width:e,height:ht(o)-s}),(!O.alignValue||O.alignValue==="left"||nt(G))&&O.css({width:(((t=d.style)==null?void 0:t.width)||(v&&G?e:O.rotation===90?u.height-(O.alignAttr.y-u.top):(d.clip?u.width:u.chart.chartWidth)-(O.alignAttr.x-u.left)))+"px"}),O.show(!0)}getLabelText(d){return nt(d.formatter)?d.formatter.call(this):d.text}destroy(){q(this.axis.plotLinesAndBands,this),delete this.axis,at(this)}}return j}),yt(Y,"Core/Tooltip.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Templating.js"],Y["Core/Globals.js"],Y["Core/Renderer/RendererUtilities.js"],Y["Core/Renderer/RendererRegistry.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht,dt,nt){var at;let{animObject:q}=K,{format:$}=et,{composed:V,doc:C,isSafari:B}=lt,{distribute:j}=ht,{addEvent:P,clamp:d,css:x,discardElement:v,extend:S,fireEvent:u,isArray:M,isNumber:G,isString:O,merge:k,pick:o,pushUnique:g,splat:s,syncTimeout:e}=nt;class t{constructor(a,m,b){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=a,this.init(a,m),this.pointer=b}bodyFormatter(a){return a.map(function(m){let b=m.series.tooltipOptions;return(b[(m.point.formatPrefix||"point")+"Formatter"]||m.point.tooltipFormatter).call(m.point,b[(m.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(a){this.chart.series.forEach(function(m){let b=m&&m.tt;b&&(!b.isActive||a?m.tt=b.destroy():b.isActive=!1)})}defaultFormatter(a){let m,b=this.points||s(this);return(m=(m=[a.tooltipFooterHeaderFormatter(b[0])]).concat(a.bodyFormatter(b))).push(a.tooltipFooterHeaderFormatter(b[0],!0)),m}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),v(this.container)),nt.clearTimeout(this.hideTimer)}getAnchor(a,m){let b,{chart:h,pointer:T}=this,F=h.inverted,f=h.plotTop,L=h.plotLeft;if((a=s(a))[0].series&&a[0].series.yAxis&&!a[0].series.yAxis.options.reversedStacks&&(a=a.slice().reverse()),this.followPointer&&m)m.chartX===void 0&&(m=T.normalize(m)),b=[m.chartX-L,m.chartY-f];else if(a[0].tooltipPos)b=a[0].tooltipPos;else{let I=0,W=0;a.forEach(function(Q){let l=Q.pos(!0);l&&(I+=l[0],W+=l[1])}),I/=a.length,W/=a.length,this.shared&&a.length>1&&m&&(F?I=m.chartX:W=m.chartY),b=[I-L,W-f]}return b.map(Math.round)}getClassName(a,m,b){let h=this.options,T=a.series,F=T.options;return[h.className,"highcharts-label",b&&"highcharts-tooltip-header",m?"highcharts-tooltip-box":"highcharts-tooltip",!b&&"highcharts-color-"+o(a.colorIndex,T.colorIndex),F&&F.className].filter(O).join(" ")}getLabel({anchorX:a,anchorY:m}={anchorX:0,anchorY:0}){let b=this,h=this.chart.styledMode,T=this.options,F=this.split&&this.allowShared,f=this.container,L=this.chart.renderer;if(this.label){let I=!this.label.hasClass("highcharts-label");(!F&&I||F&&!I)&&this.destroy()}if(!this.label){if(this.outside){let I=this.chart.options.chart.style,W=dt.getRendererType();this.container=f=lt.doc.createElement("div"),f.className="highcharts-tooltip-container",x(f,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(I&&I.zIndex||0)+3)}),this.renderer=L=new W(f,0,0,I,void 0,void 0,L.styledMode)}if(F?this.label=L.g("tooltip"):(this.label=L.label("",a,m,T.shape,void 0,void 0,T.useHTML,void 0,"tooltip").attr({padding:T.padding,r:T.borderRadius}),h||this.label.attr({fill:T.backgroundColor,"stroke-width":T.borderWidth||0}).css(T.style).css({pointerEvents:T.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),b.outside){let I=this.label;[I.xSetter,I.ySetter].forEach((W,Q)=>{I[Q?"ySetter":"xSetter"]=l=>{W.call(I,b.distance),I[Q?"y":"x"]=l,f&&(f.style[Q?"top":"left"]=`${l}px`)}})}this.label.attr({zIndex:8}).shadow(T.shadow).add()}return f&&!f.parentElement&&lt.doc.body.appendChild(f),this.label}getPlayingField(){let{body:a,documentElement:m}=C,{chart:b,distance:h,outside:T}=this;return{width:T?Math.max(a.scrollWidth,m.scrollWidth,a.offsetWidth,m.offsetWidth,m.clientWidth)-2*h:b.chartWidth,height:T?Math.max(a.scrollHeight,m.scrollHeight,a.offsetHeight,m.offsetHeight,m.clientHeight):b.chartHeight}}getPosition(a,m,b){var _,tt;let{distance:h,chart:T,outside:F,pointer:f}=this,{inverted:L,plotLeft:I,plotTop:W,polar:Q}=T,{plotX:l=0,plotY:n=0}=b,y={},D=L&&b.h||0,{height:i,width:p}=this.getPlayingField(),c=f.getChartPosition(),A=J=>J*c.scaleX,w=J=>J*c.scaleY,R=J=>{let st=J==="x";
3return[J,st?p:i,st?a:m].concat(F?[st?A(a):w(m),st?c.left-h+A(l+I):c.top-h+w(n+W),0,st?p:i]:[st?a:m,st?l+I:n+W,st?I:W,st?I+T.plotWidth:W+T.plotHeight])},H=R("y"),U=R("x"),Z,rt=!!b.negative;!Q&&((tt=(_=T.hoverSeries)==null?void 0:_.yAxis)!=null&&tt.reversed)&&(rt=!rt);let it=!this.followPointer&&o(b.ttBelow,!Q&&!L===rt),z=function(J,st,ot,ct,pt,ut,mt){let xt=F?J==="y"?w(h):A(h):h,ft=(ot-ct)/2,gt=ct<pt-h,vt=pt+h+ct<st,bt=pt-xt-ot+ft,St=pt+xt-ft;if(it&&vt)y[J]=St;else if(!it&&gt)y[J]=bt;else if(gt)y[J]=Math.min(mt-ct,bt-D<0?bt:bt-D);else{if(!vt)return!1;y[J]=Math.max(ut,St+D+ot>st?St:St+D)}},E=function(J,st,ot,ct,pt){if(pt<h||pt>st-h)return!1;pt<ot/2?y[J]=1:pt>st-ct/2?y[J]=st-ct-2:y[J]=pt-ot/2},N=function(J){[H,U]=[U,H],Z=J},X=()=>{z.apply(0,H)!==!1?E.apply(0,U)!==!1||Z||(N(!0),X()):Z?y.x=y.y=0:(N(!0),X())};return(L&&!Q||this.len>1)&&N(),X(),y}hide(a){let m=this;nt.clearTimeout(this.hideTimer),a=o(a,this.options.hideDelay),this.isHidden||(this.hideTimer=e(function(){let b=m.getLabel();m.getLabel().animate({opacity:0},{duration:a&&150,complete:()=>{b.hide(),m.container&&m.container.remove()}}),m.isHidden=!0},a))}init(a,m){this.chart=a,this.options=m,this.crosshairs=[],this.isHidden=!0,this.split=m.split&&!a.inverted&&!a.polar,this.shared=m.shared||this.split,this.outside=o(m.outside,!!(a.scrollablePixelsX||a.scrollablePixelsY))}shouldStickOnContact(a){return!!(!this.followPointer&&this.options.stickOnContact&&(!a||this.pointer.inClass(a.target,"highcharts-tooltip")))}move(a,m,b,h){let T=this,F=q(!T.isHidden&&T.options.animation),f=T.followPointer||(T.len||0)>1,L={x:a,y:m};f||(L.anchorX=b,L.anchorY=h),F.step=()=>T.drawTracker(),T.getLabel().animate(L,F)}refresh(a,m){let{chart:b,options:h,pointer:T,shared:F}=this,f=s(a),L=f[0],I=[],W=h.format,Q=h.formatter||this.defaultFormatter,l=b.styledMode,n={},y=this.allowShared;if(!h.enabled||!L.series)return;nt.clearTimeout(this.hideTimer),this.allowShared=!(!M(a)&&a.series&&a.series.noSharedTooltip),y=y&&!this.allowShared,this.followPointer=!this.split&&L.series.tooltipOptions.followPointer;let D=this.getAnchor(a,m),i=D[0],p=D[1];F&&this.allowShared?(T.applyInactiveState(f),f.forEach(function(w){w.setState("hover"),I.push(w.getLabelConfig())}),(n=L.getLabelConfig()).points=I):n=L.getLabelConfig(),this.len=I.length;let c=O(W)?$(W,n,b):Q.call(n,this),A=L.series;if(this.distance=o(A.tooltipOptions.distance,16),c===!1)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(c,f);else{let w=i,R=p;if(m&&T.isDirectTouch&&(w=m.chartX-b.plotLeft,R=m.chartY-b.plotTop),b.polar||A.options.clip===!1||f.some(H=>T.isDirectTouch||H.series.shouldShowTooltip(w,R))){let H=this.getLabel(y&&this.tt||{});(!h.style.width||l)&&H.css({width:(this.outside?this.getPlayingField():b.spacingBox).width+"px"}),H.attr({class:this.getClassName(L),text:c&&c.join?c.join(""):c}),this.outside&&H.attr({x:d(H.x||0,0,this.getPlayingField().width-(H.width||0))}),l||H.attr({stroke:h.borderColor||L.color||A.color||"#666666"}),this.updatePosition({plotX:i,plotY:p,negative:L.negative,ttBelow:L.ttBelow,h:D[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}u(this,"refresh")}renderSplit(a,m){var st;let b=this,{chart:h,chart:{chartWidth:T,chartHeight:F,plotHeight:f,plotLeft:L,plotTop:I,scrollablePixelsY:W=0,scrollablePixelsX:Q,styledMode:l},distance:n,options:y,options:{positioner:D},pointer:i}=b,{scrollLeft:p=0,scrollTop:c=0}=((st=h.scrollablePlotArea)==null?void 0:st.scrollingContainer)||{},A=b.outside&&typeof Q!="number"?C.documentElement.getBoundingClientRect():{left:p,right:p+T,top:c,bottom:c+F},w=b.getLabel(),R=this.renderer||h.renderer,H=!!(h.xAxis[0]&&h.xAxis[0].opposite),{left:U,top:Z}=i.getChartPosition(),rt=I+c,it=0,z=f-W;function E(ot,ct,pt,ut,mt=!0){let xt,ft;return pt?(xt=H?0:z,ft=d(ot-ut/2,A.left,A.right-ut-(b.outside?U:0))):(xt=ct-rt,ft=d(ft=mt?ot-ut-n:ot+n,mt?ft:A.left,A.right)),{x:ft,y:xt}}O(a)&&(a=[!1,a]);let N=a.slice(0,m.length+1).reduce(function(ot,ct,pt){if(ct!==!1&&ct!==""){let ut=m[pt-1]||{isHeader:!0,plotX:m[0].plotX,plotY:f,series:{}},mt=ut.isHeader,xt=mt?b:ut.series,ft=xt.tt=function(Ct,kt,wt){let Mt=Ct,{isHeader:Tt,series:Dt}=kt;if(!Mt){let Ot={padding:y.padding,r:y.borderRadius};l||(Ot.fill=y.backgroundColor,Ot["stroke-width"]=y.borderWidth??1),Mt=R.label("",0,0,y[Tt?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(b.getClassName(kt,!0,Tt)).attr(Ot).add(w)}return Mt.isActive=!0,Mt.attr({text:wt}),l||Mt.css(y.style).attr({stroke:y.borderColor||kt.color||Dt.color||"#333333"}),Mt}(xt.tt,ut,ct.toString()),gt=ft.getBBox(),vt=gt.width+ft.strokeWidth();mt&&(it=gt.height,z+=it,H&&(rt-=it));let{anchorX:bt,anchorY:St}=function(Ct){let kt,wt,{isHeader:Mt,plotX:Tt=0,plotY:Dt=0,series:Ot}=Ct;if(Mt)kt=Math.max(L+Tt,L),wt=I+f/2;else{let{xAxis:jt,yAxis:At}=Ot;kt=jt.pos+d(Tt,-n,jt.len+n),Ot.shouldShowTooltip(0,At.pos-I+Dt,{ignoreX:!0})&&(wt=At.pos+Dt)}return{anchorX:kt=d(kt,A.left-n,A.right+n),anchorY:wt}}(ut);if(typeof St=="number"){let Ct=gt.height+1,kt=D?D.call(b,vt,Ct,ut):E(bt,
3St,mt,vt);ot.push({align:D?0:void 0,anchorX:bt,anchorY:St,boxWidth:vt,point:ut,rank:o(kt.rank,mt?1:0),size:Ct,target:kt.y,tt:ft,x:kt.x})}else ft.isActive=!1}return ot},[]);!D&&N.some(ot=>{let{outside:ct}=b,pt=(ct?U:0)+ot.anchorX;return pt<A.left&&pt+ot.boxWidth<A.right||pt<U-A.left+ot.boxWidth&&A.right-pt>pt})&&(N=N.map(ot=>{let{x:ct,y:pt}=E(ot.anchorX,ot.anchorY,ot.point.isHeader,ot.boxWidth,!1);return S(ot,{target:pt,x:ct})})),b.cleanSplit(),j(N,z);let X={left:U,right:U};N.forEach(function(ot){let{x:ct,boxWidth:pt,isHeader:ut}=ot;!ut&&(b.outside&&U+ct<X.left&&(X.left=U+ct),!ut&&b.outside&&X.left+pt>X.right&&(X.right=U+ct))}),N.forEach(function(ot){let{x:ct,anchorX:pt,anchorY:ut,pos:mt,point:{isHeader:xt}}=ot,ft={visibility:mt===void 0?"hidden":"inherit",x:ct,y:(mt||0)+rt,anchorX:pt,anchorY:ut};if(b.outside&&ct<pt){let gt=U-X.left;gt>0&&(xt||(ft.x=ct+gt,ft.anchorX=pt+gt),xt&&(ft.x=(X.right-X.left)/2,ft.anchorX=pt+gt))}ot.tt.attr(ft)});let{container:_,outside:tt,renderer:J}=b;if(tt&&_&&J){let{width:ot,height:ct,x:pt,y:ut}=w.getBBox();J.setSize(ot+pt,ct+ut,!1),_.style.left=X.left+"px",_.style.top=Z+"px"}B&&w.attr({opacity:w.opacity===1?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let a=this.chart,m=this.label,b=this.shared?a.hoverPoints:a.hoverPoint;if(!m||!b)return;let h={x:0,y:0,width:0,height:0},T=this.getAnchor(b),F=m.getBBox();T[0]+=a.plotLeft-(m.translateX||0),T[1]+=a.plotTop-(m.translateY||0),h.x=Math.min(0,T[0]),h.y=Math.min(0,T[1]),h.width=T[0]<0?Math.max(Math.abs(T[0]),F.width-T[0]):Math.max(Math.abs(T[0]),F.width),h.height=T[1]<0?Math.max(Math.abs(T[1]),F.height-Math.abs(T[1])):Math.max(Math.abs(T[1]),F.height),this.tracker?this.tracker.attr(h):(this.tracker=m.renderer.rect(h).addClass("highcharts-tracker").add(m),a.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(a){return a.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(a,m){let b=a.series,h=b.tooltipOptions,T=b.xAxis,F=T&&T.dateTime,f={isFooter:m,labelConfig:a},L=h.xDateFormat,I=h[m?"footerFormat":"headerFormat"];return u(this,"headerFormatter",f,function(W){F&&!L&&G(a.key)&&(L=F.getXDateFormat(a.key,h.dateTimeLabelFormats)),F&&L&&(a.point&&a.point.tooltipDateKeys||["key"]).forEac
3h(function(Q){I=I.replace("{point."+Q+"}","{point."+Q+":"+L+"}")}),b.chart.styledMode&&(I=this.styledModeFormat(I)),W.text=$(I,{point:a,series:b},this.chart)}),f.text}update(a){this.destroy(),this.init(this.chart,k(!0,this.options,a))}updatePosition(a){let{chart:m,container:b,distance:h,options:T,pointer:F,renderer:f}=this,{height:L=0,width:I=0}=this.getLabel(),{left:W,top:Q,scaleX:l,scaleY:n}=F.getChartPosition(),y=(T.positioner||this.getPosition).call(this,I,L,a),D=(a.plotX||0)+m.plotLeft,i=(a.plotY||0)+m.plotTop,p;f&&b&&(T.positioner&&(y.x+=W-h,y.y+=Q-h),p=(T.borderWidth||0)+2*h+2,f.setSize(I+p,L+p,!1),(l!==1||n!==1)&&(x(b,{transform:`scale(${l}, ${n})`}),D*=l,i*=n),D+=W-y.x,i+=Q-y.y),this.move(Math.round(y.x),Math.round(y.y||0),D,i)}}return(at=t).compose=function(r){g(V,"Core.Tooltip")&&P(r,"afterInit",function(){let a=this.chart;a.options.tooltip&&(a.tooltip=new at(a,a.options.tooltip,this))})},t}),yt(Y,"Core/Series/Point.js",[Y["Core/Renderer/HTML/AST.js"],Y["Core/Animation/AnimationUtilities.js"],Y["Core/Defaults.js"],Y["Core/Templating.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht,dt){let{animObject:nt}=et,{defaultOptions:at}=lt,{format:q}=ht,{addEvent:$,crisp:V,erase:C,extend:B,fireEvent:j,getNestedProperty:P,isArray:d,isFunction:x,isNumber:v,isObject:S,merge:u,pick:M,syncTimeout:G,removeEvent:O,uniqueKey:k}=dt;class o{animateBeforeDestroy(){let s=this,e={x:s.startXPos,opacity:0},t=s.getGraphicalProps();t.singular.forEach(function(r){s[r]=s[r].animate(r==="dataLabel"?{x:s[r].startXPos,y:s[r].startYPos,opacity:0}:e)}),t.plural.forEach(function(r){s[r].forEach(function(a){a.element&&a.animate(B({x:s.startXPos},a.startYPos?{x:a.startXPos,y:a.startYPos}:{}))})})}applyOptions(s,e){let t=this.series,r=t.options.pointValKey||t.pointValKey;return B(this,s=o.prototype.optionsToObject.call(this,s)),this.options=this.options?B(this.options,s):s,s.group&&delete this.group,s.dataLabels&&delete this.dataLabels,r&&(this.y=o.prototype.getNestedProperty.call(this,r)),this.selected&&(this.state="select"),"name"in this&&e===void 0&&t.xAxis&&t.xAxis.hasNames&&(this.x=t.xAxis.nameToX(this)),this.x===void 0&&t?this.x=e??t.autoIncrement():v(s.x)&&t.options.relativeXValue&&(this.x=t.autoIncrement(s.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let s=this,e=s.series,t=e.chart,r=e.options.dataSorting,a=t.hoverPoints,m=nt(s.series.chart.renderer.globalAnimation),b=()=>{for(let h in(s.graphic||s.graphics||s.dataLabel||s.dataLabels)&&(O(s),s.destroyElements()),s)delete s[h]};s.legendItem&&t.legend.destroyItem(s),a&&(s.setState(),C(a,s),a.length||(t.hoverPoints=null)),s===t.hoverPoint&&s.onMouseOut(),r&&r.enabled?(this.animateBeforeDestroy(),G(b,m.duration)):b(),t.pointCount--}this.destroyed=!0}destroyElements(s){let e=this,t=e.getGraphicalProps(s);t.singular.forEach(function(r){e[r]=e[r].destroy()}),t.plural.forEach(function(r){e[r].forEach(function(a){a&&a.element&&a.destroy()}),delete e[r]})}firePointEvent(s,e,t){let r=this,a=this.series.options;r.manageEvent(s),s==="click"&&a.allowPointSelect&&(t=function(m){!r.destroyed&&r.select&&r.select(null,m.ctrlKey||m.metaKey||m.shiftKey)}),j(r,s,e,t)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(this.colorIndex!==void 0?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(s){let e,t,r=this,a=[],m={singular:[],plural:[]};for((s=s||{graphic:1,dataLabel:1}).graphic&&a.push("graphic","connector"),s.dataLabel&&a.push("dataLabel","dataLabelPath","dataLabelUpper"),t=a.length;t--;)r[e=a[t]]&&m.singular.push(e);return["graphic","dataLabel"].forEach(function(b){let h=b+"s";s[b]&&r[h]&&m.plural.push(h)}),m}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(s){return s?s.indexOf("custom.")===0?P(s,this.options):this[s]:void 0}getZone(){let s=this.series,e=s.zones,t=s.zoneAxis||"y",r,a=0;for(r=e[0];this[t]>=r.value;)r=e[++a];return this.nonZonedColor||(this.nonZonedColor=this.color),r&&r.color&&!this.options.color?this.color=r.color:this.color=this.nonZonedColor,r}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(s,e,t){this.formatPrefix="point",this.visible=!0,this.series=s,this.applyOptions(e,t),this.id??(this.id=k()),this.resolveColor(),s.chart.pointCount++,j(this,"afterInit")}isValid(){return(v(this.x)||this.x instanceof Date)&&v(this.y)}optionsToObject(s){let e=this.series,t=e.options.keys,r=t||e.pointArrayMap||["y"],a=r.length,m={},b,h=0,T=0;if(v(s)||s===null)m[r[0]]=s;else if(d(s))for(!t&&s.length>a&&((b=typeof s[0])=="string"?m.name=s[0]:b==="number"&&(m.x=s[0]),h++);T<a;)t&&s[h]===void 0||(r[T].indexOf(".")>0?o.prototype.setNestedProperty(m,s[h],r[T]):m[r[T]]=s[h]),h++,T++;else typeof s=="object"&&(m=s,s.dataLabels&&(e.hasDataLabels=()=>!0),s.marker&&(e._hasPointMarkers=!0));return m}pos(s,e=this.plotY){if(!this.destroyed){let{plotX:t,series:r}
3=this,{chart:a,xAxis:m,yAxis:b}=r,h=0,T=0;if(v(t)&&v(e))return s&&(h=m?m.pos:a.plotLeft,T=b?b.pos:a.plotTop),a.inverted&&m&&b?[b.len-e+T,m.len-t+h]:[t+h,e+T]}}resolveColor(){let s=this.series,e=s.chart.options.chart,t=s.chart.styledMode,r,a,m=e.colorCount,b;delete this.nonZonedColor,s.options.colorByPoint?(t||(r=(a=s.options.colors||s.chart.options.colors)[s.colorCounter],m=a.length),b=s.colorCounter,s.colorCounter++,s.colorCounter===m&&(s.colorCounter=0)):(t||(r=s.color),b=s.colorIndex),this.colorIndex=M(this.options.colorIndex,b),this.color=M(this.options.color,r)}setNestedProperty(s,e,t){return t.split(".").reduce(function(r,a,m,b){let h=b.length-1===m;return r[a]=h?e:S(r[a],!0)?r[a]:{},r[a]},s),s}shouldDraw(){return!this.isNull}tooltipFormatter(s){let e=this.series,t=e.tooltipOptions,r=M(t.valueDecimals,""),a=t.valuePrefix||"",m=t.valueSuffix||"";return e.chart.styledMode&&(s=e.chart.tooltip.styledModeFormat(s)),(e.pointArrayMap||["y"]).forEach(function(b){b="{point."+b,(a||m)&&(s=s.replace(RegExp(b+"}","g"),a+b+"}"+m)),s=s.replace(RegExp(b+"}","g"),b+":,."+r+"f}")}),q(s,{point:this,series:this.series},e.chart)}update(s,e,t,r){let a,m=this,b=m.series,h=m.graphic,T=b.chart,F=b.options;function f(){m.applyOptions(s);let L=h&&m.hasMockGraphic,I=m.y===null?!L:L;h&&I&&(m.graphic=h.destroy(),delete m.hasMockGraphic),S(s,!0)&&(h&&h.element&&s&&s.marker&&s.marker.symbol!==void 0&&(m.graphic=h.destroy()),s!=null&&s.dataLabels&&m.dataLabel&&(m.dataLabel=m.dataLabel.destroy())),a=m.index,b.updateParallelArrays(m,a),F.data[a]=S(F.data[a],!0)||S(s,!0)?m.options:M(s,F.data[a]),b.isDirty=b.isDirtyData=!0,!b.fixedBox&&b.hasCartesianSeries&&(T.isDirtyBox=!0),F.legendType==="point"&&(T.isDirtyLegend=!0),e&&T.redraw(t)}e=M(e,!0),r===!1?f():m.firePointEvent("update",{options:s},f)}remove(s,e){this.series.removePoint(this.series.data.indexOf(this),s,e)}select(s,e){let t=this,r=t.series,a=r.chart;s=M(s,!t.selected),this.selectedStaging=s,t.firePointEvent(s?"select":"unselect",{accumulate:e},function(){t.selected=t.options.selected=s,r.options.data[r.data.indexOf(t)]=t.options,t.setState(s&&"select"),e||a.getSelectedPoints().forEac
3h(function(m){let b=m.series;m.selected&&m!==t&&(m.selected=m.options.selected=!1,b.options.data[b.data.indexOf(m)]=m.options,m.setState(a.hoverPoints&&b.options.inactiveOtherPoints?"inactive":""),m.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(s){let{inverted:e,pointer:t}=this.series.chart;t&&(s=s?t.normalize(s):t.getChartCoordinatesFromPoint(this,e),t.runPointActions(s,this))}onMouseOut(){let s=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(s.hoverPoints||[]).forEach(function(e){e.setState()}),s.hoverPoints=s.hoverPoint=null}manageEvent(s){var r,a,m,b,h,T;let e=u(this.series.options.point,this.options),t=(r=e.events)==null?void 0:r[s];x(t)&&(!((a=this.hcEvents)!=null&&a[s])||((b=(m=this.hcEvents)==null?void 0:m[s])==null?void 0:b.map(F=>F.fn).indexOf(t))===-1)?((h=this.importedUserEvent)==null||h.call(this),this.importedUserEvent=$(this,s,t)):this.importedUserEvent&&!t&&((T=this.hcEvents)!=null&&T[s])&&(O(this,s),delete this.hcEvents[s],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(s,e){var c;let t=this.series,r=this.state,a=t.options.states[s||"normal"]||{},m=at.plotOptions[t.type].marker&&t.options.marker,b=m&&m.enabled===!1,h=m&&m.states&&m.states[s||"normal"]||{},T=h.enabled===!1,F=this.marker||{},f=t.chart,L=m&&t.markerAttribs,I=t.halo,W,Q,l,n=t.stateMarkerGraphic,y;if((s=s||"")===this.state&&!e||this.selected&&s!=="select"||a.enabled===!1||s&&(T||b&&h.enabled===!1)||s&&F.states&&F.states[s]&&F.states[s].enabled===!1)return;if(this.state=s,L&&(W=t.markerAttribs(this,s)),this.graphic&&!this.hasMockGraphic){if(r&&this.graphic.removeClass("highcharts-point-"+r),s&&this.graphic.addClass("highcharts-point-"+s),!f.styledMode){Q=t.pointAttribs(this,s),l=M(f.options.chart.animation,a.animation);let A=Q.opacity;t.options.inactiveOtherPoints&&v(A)&&(this.dataLabels||[]).forEach(function(w){w&&!w.hasClass("highcharts-data-label-hidden")&&(w.animate({opacity:A},l),w.connector&&w.connector.animate({opacity:A},l))}),this.graphic.animate(Q,l)}W&&this.graphic.animate(W,M(f.options.chart.animation,h.animation,m.animation)),n&&n.hide()}else s&&h&&(y=F.symbol||t.symbol,n&&n.currentSymbol!==y&&(n=n.destroy()),W&&(n?n[e?"animate":"attr"]({x:W.x,y:W.y}):y&&(t.stateMarkerGraphic=n=f.renderer.symbol(y,W.x,W.y,W.width,W.height).add(t.markerGroup),n.currentSymbol=y)),!f.styledMode&&n&&this.state!=="inactive"&&n.attr(t.pointAttribs(this,s))),n&&(n[s&&this.isInside?"show":"hide"](),n.element.point=this,n.addClass(this.getClassName(),!0));let D=a.halo,i=this.graphic||n,p=i&&i.visibility||"inherit";D&&D.size&&i&&p!=="hidden"&&!this.isCluster?(I||(t.halo=I=f.renderer.path().add(i.parentGroup)),I.show()[e?"animate":"attr"]({d:this.haloPath(D.size)}),I.attr({class:"highcharts-halo highcharts-color-"+M(this.colorIndex,t.colorIndex)+(this.className?" "+this.className:""),visibility:p,zIndex:-1}),I.point=this,f.styledMode||I.attr(B({fill:this.color||t.color,"fill-opacity":D.opacity},K.filterUserAttributes(D.attributes||{})))):(c=I==null?void 0:I.point)!=null&&c.haloPath&&!I.point.destroyed&&I.animate({d:I.point.haloPath(0)},null,I.hide),j(this,"afterSetState",{state:s})}haloPath(s){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(V(e[0],1)-s,e[1]-s,2*s,2*s):[]}}return o}),yt(Y,"Core/Pointer.js",[Y["Core/Color/Color.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(K,et,lt){var ht;let{parse:dt}=K,{charts:nt,composed:at,isTouchDevice:q}=et,{addEvent:$,attr:V,css:C,extend:B,find:j,fireEvent:P,isNumber:d,isObject:x,objectEach:v,offset:S,pick:u,pushUnique:M,splat:G}=lt;class O{applyInactiveState(o){let g=[],s;(o||[]).forEach(function(e){s=e.series,g.push(s),s.linkedParent&&g.push(s.linkedParent),s.linkedSeries&&(g=g.concat(s.linkedSeries)),s.navigatorSeries&&g.push(s.navigatorSeries)}),this.chart.series.forEach(function(e){g.indexOf(e)===-1?e.setState("inactive",!0):e.options.inactiveOtherPoints&&e.setAllPointsToState("inactive")})}destroy(){let o=this;this.eventsToUnbind.forEach(g=>g()),this.eventsToUnbind=[],!et.chartCount&&(O.unbindDocumentMouseUp&&O.unbindDocumentMouseUp.forEac
vendor: 1,876 bytes, line 3
3h(g=>g()),O.unbindDocumentTouchEnd&&(O.unbindDocumentTouchEnd=O.unbindDocumentTouchEnd())),clearInterval(o.tooltipTimeout),v(o,function(g,s){o[s]=void 0})}getSelectionMarkerAttrs(o,g){let s={args:{chartX:o,chartY:g},attrs:{},shapeType:"rect"};return P(this,"getSelectionMarkerAttrs",s,e=>{let t,{chart:r,zoomHor:a,zoomVert:m}=this,{mouseDownX:b=0,mouseDownY:h=0}=r,T=e.attrs;T.x=r.plotLeft,T.y=r.plotTop,T.width=a?1:r.plotWidth,T.height=m?1:r.plotHeight,a&&(t=o-b,T.width=Math.max(1,Math.abs(t)),T.x=(t>0?0:t)+b),m&&(t=g-h,T.height=Math.max(1,Math.abs(t)),T.y=(t>0?0:t)+h)}),s}drag(o){let{chart:g}=this,{mouseDownX:s=0,mouseDownY:e=0}=g,{panning:t,panKey:r,selectionMarkerFill:a}=g.options.chart,m=g.plotLeft,b=g.plotTop,h=g.plotWidth,T=g.plotHeight,F=x(t)?t.enabled:t,f=r&&o[`${r}Key`],L=o.chartX,I=o.chartY,W,Q=this.selectionMarker;if((!Q||!Q.touch)&&(L<m?L=m:L>m+h&&(L=m+h),I<b?I=b:I>b+T&&(I=b+T),this.hasDragged=Math.sqrt(Math.pow(s-L,2)+Math.pow(e-I,2)),this.hasDragged>10)){W=g.isInsidePlot(s-m,e-b,{visiblePlotOnly:!0});let{shapeType:l,attrs:n}=this.getSelectionMarkerAttrs(L,I);(g.hasCartesianSeries||g.mapView)&&this.hasZoom&&W&&!f&&!Q&&(this.selectionMarker=Q=g.renderer[l](),Q.attr({class:"highcharts-selection-marker",zIndex:7}).add(),g.styledMode||Q.attr({fill:a||dt("#334eff").setOpacity(.25).get()})),Q&&Q.attr(n),W&&!Q&&F&&g.pan(o,t)}}dragStart(o){let g=this.chart;g.mouseIsDown=o.type,g.cancelClick=!1,g.mouseDownX=o.chartX,g.mouseDownY=o.chartY}getSelectionBox(o){let g={args:{marker:o},result:o.getBBox()};return P(this,"getSelectionBox",g),g.result}drop(o){let g,{chart:s,selectionMarker:e}=this;for(let t of s.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(r=>r.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),g=!0));if(g&&s.redraw(),e&&o){if(this.hasDragged){let t=this.getSelectionBox(e);
3s.transform({axes:s.axes.filter(r=>r.zoomEnabled&&(r.coll==="xAxis"&&this.zoomX||r.coll==="yAxis"&&this.zoomY)),selection:{originalEvent:o,xAxis:[],yAxis:[],...t},from:t})}d(s.index)&&(this.selectionMarker=e.destroy())}s&&d(s.index)&&(C(s.container,{cursor:s._cursor}),s.cancelClick=this.hasDragged>10,s.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(o,g,s){let e;return o.forEach(function(t){let r=!(t.noSharedTooltip&&g)&&0>t.options.findNearestPointBy.indexOf("y"),a=t.searchPoint(s,r);x(a,!0)&&a.series&&(!x(e,!0)||function(m,b){var f,L;let h=m.distX-b.distX,T=m.dist-b.dist,F=((f=b.series.group)==null?void 0:f.zIndex)-((L=m.series.group)==null?void 0:L.zIndex);return h!==0&&g?h:T!==0?T:F!==0?F:m.series.index>b.series.index?-1:1}(e,a)>0)&&(e=a)}),e}getChartCoordinatesFromPoint(o,g){let{xAxis:s,yAxis:e}=o.series,t=o.shapeArgs;if(s&&e){let r=o.clientX??o.plotX??0,a=o.plotY||0;return o.isNode&&t&&d(t.x)&&d(t.y)&&(r=t.x,a=t.y),g?{chartX:e.len+e.pos-a,chartY:s.len+s.pos-r}:{chartX:r+s.pos,chartY:a+e.pos}}if(t&&t.x&&t.y)return{chartX:t.x,chartY:t.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:o}=this.chart,g=S(o);this.chartPosition={left:g.left,top:g.top,scaleX:1,scaleY:1};let{offsetHeight:s,offsetWidth:e}=o;return e>2&&s>2&&(this.chartPosition.scaleX=g.width/e,this.chartPosition.scaleY=g.height/s),this.chartPosition}getCoordinates(o){let g={xAxis:[],yAxis:[]};for(let s of this.chart.axes)g[s.isXAxis?"xAxis":"yAxis"].push({axis:s,value:s.toValue(o[s.horiz?"chartX":"chartY"])});return g}getHoverData(o,g,s,e,t,r){let a=[],m=function(f){return f.visible&&!(!t&&f.directTouch)&&u(f.options.enableMouseTracking,!0)},b=g,h,T={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:t};P(this,"beforeGetHoverData",T),h=b&&!b.stickyTracking?[b]:s.filter(f=>f.stickyTracking&&(T.filter||m)(f));let F=e&&o||!r?o:this.findNearestKDPoint(h,t,r);return b=F&&F.series,F&&(t&&!b.noSharedTooltip?(h=s.filter(function(f){return T.filter?T.filter(f):m(f)&&!f.noSharedTooltip})).forEach(function(f){let L=j(f.points,function(I){return I.x===F.x&&!I.isNull});x(L)&&(f.boosted&&f.boost&&(L=f.boost.getPoint(L)),a.push(L))}):a.push(F)),P(this,"afterGetHoverData",T={hoverPoint:F}),{hoverPoint:T.hoverPoint,hoverSeries:b,hoverPoints:a}}getPointFromEvent(o){let g=o.target,s;for(;g&&!s;)s=g.point,g=g.parentNode;return s}onTrackerMouseOut(o){let g=this.chart,s=o.relatedTarget,e=g.hoverSeries;this.isDirectTouch=!1,!e||!s||e.stickyTracking||this.inClass(s,"highcharts-tooltip")||this.inClass(s,"highcharts-series-"+e.index)&&this.inClass(s,"highcharts-tracker")||e.onMouseOut()}inClass(o,g){let s=o,e;for(;s;){if(e=V(s,"class")){if(e.indexOf(g)!==-1)return!0;if(e.indexOf("highcharts-container")!==-1)return!1}s=s.parentElement}}constructor(o,g){var s;this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=g,this.chart=o,this.runChartClick=!!((s=g.chart.events)!=null&&s.click),this.pinchDown=[],this.setDOMEvents(),P(this,"afterInit")}normalize(o,g){let s=o.touches,e=s?s.length?s.item(0):u(s.changedTouches,o.changedTouches)[0]:o;g||(g=this.getChartPosition());let t=e.pageX-g.left,r=e.pageY-g.top;return B(o,{chartX:Math.round(t/=g.scaleX),chartY:Math.round(r/=g.scaleY)})}onContainerClick(o){let g=this.chart,s=g.hoverPoint,e=this.normalize(o),t=g.plotLeft,r=g.plotTop;!g.cancelClick&&(s&&this.inClass(e.target,"highcharts-tracker")?(P(s.series,"click",B(e,{point:s})),g.hoverPoint&&s.firePointEvent("click",e)):(B(e,this.getCoordinates(e)),g.isInsidePlot(e.chartX-t,e.chartY-r,{visiblePlotOnly:!0})&&P(g,"click",e)))}onContainerMouseDown(o){var s;let g=(1&(o.buttons||o.button))==1;o=this.normalize(o),et.isFirefox&&o.button!==0&&this.onContainerMouseMove(o),(o.button===void 0||g)&&(this.zoomOption(o),g&&((s=o.preventDefault)==null||s.call(o)),this.dragStart(o))}onContainerMouseLeave(o){let{pointer:g}=nt[u(O.hoverChartIndex,-1)]||{};o=this.normalize(o),this.onContainerMouseMove(o),g&&!this.inClass(o.relatedTarget,"highcharts-tooltip")&&(g.reset(),g.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(o){let g=this.chart,s=g.tooltip,e=this.normalize(o);this.setHoverChartIndex(o),(g.mouseIsDown==="mousedown"||this.touchSelect(e))&&this.drag(e),!g.openMenu&&(this.inClass(e.target,"highcharts-tracker")||g.isInsidePlot(e.chartX-g.plotLeft,e.chartY-g.plotTop,{visiblePlotOnly:!0}))&&!(s&&s.shouldStickOnContact(e))&&(this.inClass(e.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(e))}onDocumentTouchEnd(o){this.onDocumentMouseUp(o)}onContainerTouchMove(o){this.touchSelect(o)?this.onContainerMouseMove(o):this.touch(o)}onContainerTouchStart(o){this.touchSelect(o)?this.onContainerMouseDown(o):(this.zoomOption(o),this.touch(o,!0))}onDocumentMouseMove(o){let g=this.chart,s=g.tooltip,e=this.chartPosition,t=this.normalize(o,e);!e||g.isInsidePlot(t.chartX-g.plotLeft,t.chartY-g.plotTop,{visiblePlotOnly:!0})||s&&s.shouldStickOnContact(t)||t.target!==g.container.ownerDocument&&this.inClass(t.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(o){var g,s;(s=(g=nt[u(O.hoverChartIndex,-1)])==null?void 0:g.pointer)==null||s.drop(o)}pinch(o){let g=this,{chart:s,hasZoom:e,lastTouches:t}=g,r=[].map.call(o.touches||[],T=>g.normalize(T)),a=r.length,m=a===1&&(g.inClass(o.target,"highcharts-tracker")&&s.runTrackerClick||g.runC
3hartClick),b=s.tooltip,h=a===1&&u(b==null?void 0:b.options.followTouchMove,!0);a>1?g.initiated=!0:h&&(g.initiated=!1),e&&g.initiated&&!m&&o.cancelable!==!1&&o.preventDefault(),o.type==="touchstart"?(g.pinchDown=r,g.res=!0,s.mouseDownX=o.chartX):h?this.runPointActions(g.normalize(o)):t&&(P(s,"touchpan",{originalEvent:o,touches:r},()=>{let T=F=>{let f=F[0],L=F[1]||f;return{x:f.chartX,y:f.chartY,width:L.chartX-f.chartX,height:L.chartY-f.chartY}};s.transform({axes:s.axes.filter(F=>F.zoomEnabled&&(this.zoomHor&&F.horiz||this.zoomVert&&!F.horiz)),to:T(r),from:T(t),trigger:o.type})}),g.res&&(g.res=!1,this.reset(!1,0))),g.lastTouches=r}reset(o,g){let s=this.chart,e=s.hoverSeries,t=s.hoverPoint,r=s.hoverPoints,a=s.tooltip,m=a&&a.shared?r:t;o&&m&&G(m).forEach(function(b){b.series.isCartesian&&b.plotX===void 0&&(o=!1)}),o?a&&m&&G(m).length&&(a.refresh(m),a.shared&&r?r.forEach(function(b){b.setState(b.state,!0),b.series.isCartesian&&(b.series.xAxis.crosshair&&b.series.xAxis.drawCrosshair(null,b),b.series.yAxis.crosshair&&b.series.yAxis.drawCrosshair(null,b))}):t&&(t.setState(t.state,!0),s.axes.forEach(function(b){b.crosshair&&t.series[b.coll]===b&&b.drawCrosshair(null,t)}))):(t&&t.onMouseOut(),r&&r.forEach(function(b){b.setState()}),e&&e.onMouseOut(),a&&a.hide(g),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),s.axes.forEach(function(b){b.hideCrosshair()}),s.hoverPoints=s.hoverPoint=void 0)}runPointActions(o,g,s){let e=this.chart,t=e.series,r=e.tooltip&&e.tooltip.options.enabled?e.tooltip:void 0,a=!!r&&r.shared,m=g||e.hoverPoint,b=m&&m.series||e.hoverSeries,h=(!o||o.type!=="touchmove")&&(!!g||b&&b.directTouch&&this.isDirectTouch),T=this.getHoverData(m,b,t,h,a,o);m=T.hoverPoint,b=T.hoverSeries;let F=T.hoverPoints,f=b&&b.tooltipOptions.followPointer&&!b.tooltipOptions.split,L=a&&b&&!b.noSharedTooltip;if(m&&(s||m!==e.hoverPoint||r&&r.isHidden)){if((e.hoverPoints||[]).forEach(function(I){F.indexOf(I)===-1&&I.setState()}),e.hoverSeries!==b&&b.onMouseOver(),this.applyInactiveState(F),(F||[]).forEach(function(I){I.setState("hover")}),e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut"),!m.series)return;e.hoverPoints=F,e.hoverPoint=m,m.firePointEvent("mouseOver",void 0,()=>{r&&m&&r.refresh(L?F:m,o)})}else if(f&&r&&!r.isHidden){let I=r.getAnchor([{}],o);e.isInsidePlot(I[0],I[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:I[0],plotY:I[1]})}this.unDocMouseMove||(this.unDocMouseMove=$(e.container.ownerDocument,"mousemove",I=>{var W,Q;return(Q=(W=nt[O.hoverChartIndex??-1])==null?void 0:W.pointer)==null?void 0:Q.onDocumentMouseMove(I)}),this.eventsToUnbind.push(this.unDocMouseMove)),e.axes.forEach(function(I){let W,Q=u((I.crosshair||{}).snap,!0);!Q||(W=e.hoverPoint)&&W.series[I.coll]===I||(W=j(F,l=>l.series&&l.series[I.coll]===I)),W||!Q?I.drawCrosshair(o,W):I.hideCrosshair()})}setDOMEvents(){let o=this.chart.container,g=o.ownerDocument;o.onmousedown=this.onContainerMouseDown.bind(this),o.onmousemove=this.onContainerMouseMove.bind(this),o.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push($(o,"mouseenter",this.onContainerMouseEnter.bind(this)),$(o,"mouseleave",this.onContainerMouseLeave.bind(this))),O.unbindDocumentMouseUp||(O.unbindDocumentMouseUp=[]),O.unbindDocumentMouseUp.push($(g,"mouseup",this.onDocumentMouseUp.bind(this)));let s=this.chart.renderTo.parentElement;for(;s&&s.tagName!=="BODY";)this.eventsToUnbind.push($(s,"scroll",()=>{delete this.chartPosition})),s=s.parentElement;this.eventsToUnbind.push($(o,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),$(o,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),O.unbindDocumentTouchEnd||(O.unbindDocumentTouchEnd=$(g,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),$(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){var t,r;if(!q)return;let o=this.pointerCaptureEventsToUnbind,g=this.chart,s=g.container,e=u((t=g.options.tooltip)==null?void 0:t.followTouchMove,!0)&&g.series.some(a=>a.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&e?(o.push($(s,"pointerdown",a=>{var m,b;(m=a.target)!=null&&m.hasPointerCapture(a.pointerId)&&((b=a.target)==null||b.releasePointerCapture(a.pointerId))}),$(s,"pointermove",a=>{var m,b;(b=(m=g.pointer)==null?void 0:m.getPointFromEvent(a))==null||b.onMouseOver(a)})),g.styledMode||C(s,{"touch-action":"none"}),s.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!e&&(o.forEac
3h(a=>a()),o.length=0,g.styledMode||C(s,{"touch-action":u((r=g.options.chart.style)==null?void 0:r["touch-action"],"manipulation")}),s.className=s.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(o){var e;let g=this.chart,s=et.charts[u(O.hoverChartIndex,-1)];if(s&&s!==g){let t={relatedTarget:g.container};o&&!(o!=null&&o.relatedTarget)&&(o={...t,...o}),(e=s.pointer)==null||e.onContainerMouseLeave(o||t)}s&&s.mouseIsDown||(O.hoverChartIndex=g.index)}touch(o,g){let s,{chart:e,pinchDown:t=[]}=this;this.setHoverChartIndex(),(o=this.normalize(o)).touches.length===1?e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})&&!e.openMenu?(g&&this.runPointActions(o),o.type==="touchmove"&&(s=!!t[0]&&Math.pow(t[0].chartX-o.chartX,2)+Math.pow(t[0].chartY-o.chartY,2)>=16),u(s,!0)&&this.pinch(o)):g&&this.reset():o.touches.length===2&&this.pinch(o)}touchSelect(o){return!!(this.chart.zooming.singleTouch&&o.touches&&o.touches.length===1)}zoomOption(o){let g=this.chart,s=g.inverted,e=g.zooming.type||"",t,r;/touch/.test(o.type)&&(e=u(g.zooming.pinchType,e)),this.zoomX=t=/x/.test(e),this.zoomY=r=/y/.test(e),this.zoomHor=t&&!s||r&&s,this.zoomVert=r&&!s||t&&s,this.hasZoom=t||r}}return(ht=O).compose=function(k){M(at,"Core.Pointer")&&$(k,"beforeRender",function(){this.pointer=new ht(this,this.options)})},O}),yt(Y,"Core/Legend/LegendSymbol.js",[Y["Core/Utilities.js"]],function(K){var et;let{extend:lt,merge:ht,pick:dt}=K;return function(nt){function at(q,$,V){var s,e;let C=this.legendItem=this.legendItem||{},{chart:B,options:j}=this,{baseline:P=0,symbolWidth:d,symbolHeight:x}=q,v=this.symbol||"circle",S=x/2,u=B.renderer,M=C.group,G=P-Math.round((((s=q.fontMetrics)==null?void 0:s.b)||x)*(V?.4:.3)),O={},k,o=j.marker,g=0;if(B.styledMode||(O["stroke-width"]=Math.min(j.lineWidth||0,24),j.dashStyle?O.dashstyle=j.dashStyle:j.linecap==="square"||(O["stroke-linecap"]="round")),C.line=u.path().addClass("highcharts-graph").attr(O).add(M),V&&(C.area=u.path().addClass("highcharts-area").add(M)),O["stroke-linecap"]&&(g=Math.min(C.line.strokeWidth(),d)/2),d){let t=[["M",g,G],["L",d-g,G]];C.line.attr({d:t}),(e=C.area)==null||e.attr({d:[...t,["L",d-g,P],["L",g,P]]})}if(o&&o.enabled!==!1&&d){let t=Math.min(dt(o.radius,S),S);v.indexOf("url")===0&&(o=ht(o,{width:x,height:x}),t=0),C.symbol=k=u.symbol(v,d/2-t,G-t,2*t,2*t,lt({context:"legend"},o)).addClass("highcharts-point").add(M),k.isMarker=!0}}nt.areaMarker=function(q,$){at.call(this,q,$,!0)},nt.lineMarker=at,nt.rectangle=function(q,$){let V=$.legendItem||{},C=q.options,B=q.symbolHeight,j=C.squareSymbol,P=j?B:q.symbolWidth;V.symbol=this.chart.renderer.rect(j?(q.symbolWidth-B)/2:0,q.baseline-B+1,P,B,dt(q.options.symbolRadius,B/2)).addClass("highcharts-point").attr({zIndex:3}).add(V.group)}}(et||(et={})),et}),yt(Y,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:K}=this.series.chart;return typeof this.y!="number"?"":K(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),yt(Y,"Core/Series/SeriesRegistry.js",[Y["Core/Globals.js"],Y["Core/Defaults.js"],Y["Core/Series/Point.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht){var dt;let{defaultOptions:nt}=et,{extend:at,extendClass:q,merge:$}=ht;return function(V){function C(B,j){let P=nt.plotOptions||{},d=j.defaultOptions,x=j.prototype;return x.type=B,x.pointClass||(x.pointClass=lt),!V.seriesTypes[B]&&(d&&(P[B]=d),V.seriesTypes[B]=j,!0)}V.seriesTypes=K.seriesTypes,V.registerSeriesType=C,V.seriesType=function(B,j,P,d,x){let v=nt.plotOptions||{};if(j=j||"",v[B]=$(v[j],P),delete V.seriesTypes[B],C(B,q(V.seriesTypes[j]||function(){},d)),V.seriesTypes[B].prototype.type=B,x){class S extends lt{}at(S.prototype,x),V.seriesTypes[B].prototype.pointClass=S}return V.seriesTypes[B]}}(dt||(dt={})),dt}
3),yt(Y,"Core/Series/Series.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Defaults.js"],Y["Core/Foundation.js"],Y["Core/Globals.js"],Y["Core/Legend/LegendSymbol.js"],Y["Core/Series/Point.js"],Y["Core/Series/SeriesDefaults.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Renderer/SVG/SVGElement.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht,dt,nt,at,q,$,V){let{animObject:C,setAnimation:B}=K,{defaultOptions:j}=et,{registerEventOptions:P}=lt,{svg:d,win:x}=ht,{seriesTypes:v}=q,{arrayMax:S,arrayMin:u,clamp:M,correctFloat:G,crisp:O,defined:k,destroyObjectProperties:o,diffObjects:g,erase:s,error:e,extend:t,find:r,fireEvent:a,getClosestDistance:m,getNestedProperty:b,insertItem:h,isArray:T,isNumber:F,isString:f,merge:L,objectEach:I,pick:W,removeEvent:Q,splat:l,syncTimeout:n}=V;class y{constructor(){this.zoneAxis="y"}init(i,p){let c;a(this,"init",{options:p});let A=this,w=i.series;this.eventsToUnbind=[],A.chart=i,A.options=A.setOptions(p);let R=A.options,H=R.visible!==!1;A.linkedSeries=[],A.bindAxes(),t(A,{name:R.name,state:"",visible:H,selected:R.selected===!0}),P(this,R);let U=R.events;(U&&U.click||R.point&&R.point.events&&R.point.events.click||R.allowPointSelect)&&(i.runTrackerClick=!0),A.getColor(),A.getSymbol(),A.parallelArrays.forEach(function(Z){A[Z+"Data"]||(A[Z+"Data"]=[])}),A.isCartesian&&(i.hasCartesianSeries=!0),w.length&&(c=w[w.length-1]),A._i=W(c&&c._i,-1)+1,A.opacity=A.options.opacity,i.orderItems("series",h(this,w)),R.dataSorting&&R.dataSorting.enabled?A.setDataSortingOptions():A.points||A.data||A.setData(R.data,!1),a(this,"afterInit")}is(i){return v[i]&&this instanceof v[i]}bindAxes(){let i,p=this,c=p.options,A=p.chart;a(this,"bindAxes",null,function(){(p.axisTypes||[]).forEach(function(w){(A[w]||[]).forEach(function(R){i=R.options,(W(c[w],0)===R.index||c[w]!==void 0&&c[w]===i.id)&&(h(p,R.series),p[w]=R,R.isDirty=!0)}),p[w]||p.optionalAxis===w||e(18,!0,A)})}),a(this,"afterBindAxes")}updateParallelArrays(i,p,c){let A=i.series,w=F(p)?function(R){let H=R==="y"&&A.toYData?A.toYData(i):i[R];A[R+"Data"][p]=H}:function(R){Array.prototype[p].apply(A[R+"Data"],c)};A.parallelArrays.forEach(w)}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(i,p){let c=i.marker,A=p.marker||{};return c&&(A.enabled&&!c.enabled||A.symbol!==c.symbol||A.height!==c.height||A.width!==c.width)}autoIncrement(i){let p=this.options,c=p.pointIntervalUnit,A=p.relativeXValue,w=this.chart.time,R=this.xIncrement,H,U;return R=W(R,p.pointStart,0),this.pointInterval=U=W(this.pointInterval,p.pointInterval,1),A&&F(i)&&(U*=i),c&&(H=new w.Date(R),c==="day"?w.set("Date",H,w.get("Date",H)+U):c==="month"?w.set("Month",H,w.get("Month",H)+U):c==="year"&&w.set("FullYear",H,w.get("FullYear",H)+U),U=H.getTime()-R),A&&F(i)?R+U:(this.xIncrement=R+U,R)}setDataSortingOptions(){let i=this.options;t(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),k(i.pointRange)||(i.pointRange=1)}setOptions(i){var _,tt;let p,c=this.chart,A=c.options.plotOptions,w=c.userOptions||{},R=L(i),H=c.styledMode,U={plotOptions:A,userOptions:R};a(this,"setOptions",U);let Z=U.plotOptions[this.type],rt=w.plotOptions||{},it=rt.series||{},z=j.plotOptions[this.type]||{},E=rt[this.type]||{};this.userOptions=U.userOptions;let N=L(Z,A.series,E,R);this.tooltipOptions=L(j.tooltip,(_=j.plotOptions.series)==null?void 0:_.tooltip,z==null?void 0:z.tooltip,c.userOptions.tooltip,(tt=rt.series)==null?void 0:tt.tooltip,E.tooltip,R.tooltip),this.stickyTracking=W(R.stickyTracking,E.stickyTracking,it.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||N.stickyTracking),Z.marker===null&&delete N.marker,this.zoneAxis=N.zoneAxis||"y";let X=this.zones=(N.zones||[]).map(J=>({...J}));return(N.negativeColor||N.negativeFillColor)&&!N.zones&&(p={value:N[this.zoneAxis+"Threshold"]||N.threshold||0,className:"highcharts-negative"},H||(p.color=N.negativeColor,p.fillColor=N.negativeFillColor),X.push(p)),X.length&&k(X[X.length-1].value)&&X.push(H?{}:{color:this.color,fillColor:this.fillColor}),a(this,"afterSetOptions",{options:N}),N}getName(){return W(this.options.name,"Series "+(this.index+1))}getCyclic(i,p,c){let A,w,R=this.chart,H=`${i}Index`,U=`${i}Counter`,Z=(c==null?void 0:c.length)||R.options.chart.colorCount;!p&&(k(w=W(i==="color"?this.options.colorIndex:void 0,this[H]))?A=w:(R.series.length||(
3R[U]=0),A=R[U]%Z,R[U]+=1),c&&(p=c[A])),A!==void 0&&(this[H]=A),this[i]=p}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||j.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let i=this.options.marker;this.getCyclic("symbol",i.symbol,this.chart.options.symbols)}findPointIndex(i,p){let c,A,w,R=i.id,H=i.x,U=this.points,Z=this.options.dataSorting;if(R){let rt=this.chart.get(R);rt instanceof nt&&(c=rt)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let rt=it=>!it.touched&&it.index===i.index;if(Z&&Z.matchByName?rt=it=>!it.touched&&it.name===i.name:this.options.relativeXValue&&(rt=it=>!it.touched&&it.options.x===i.x),!(c=r(U,rt)))return}return c&&(w=c&&c.index)!==void 0&&(A=!0),w===void 0&&F(H)&&(w=this.xData.indexOf(H,p)),w!==-1&&w!==void 0&&this.cropped&&(w=w>=this.cropStart?w-this.cropStart:w),!A&&F(w)&&U[w]&&U[w].touched&&(w=void 0),w}updateData(i,p){let c=this.options,A=c.dataSorting,w=this.points,R=[],H=this.requireSorting,U=i.length===w.length,Z,rt,it,z,E=!0;if(this.xIncrement=null,i.forEach(function(N,X){let _,tt=k(N)&&this.pointClass.prototype.optionsToObject.call({series:this},N)||{},J=tt.x;tt.id||F(J)?((_=this.findPointIndex(tt,z))===-1||_===void 0?R.push(N):w[_]&&N!==c.data[_]?(w[_].update(N,!1,null,!1),w[_].touched=!0,H&&(z=_+1)):w[_]&&(w[_].touched=!0),(!U||X!==_||A&&A.enabled||this.hasDerivedData)&&(Z=!0)):R.push(N)},this),Z)for(rt=w.length;rt--;)(it=w[rt])&&!it.touched&&it.remove&&it.remove(!1,p);else!U||A&&A.enabled?E=!1:(i.forEach(function(N,X){N===w[X].y||w[X].destroyed||w[X].update(N,!1,null,!1)}),R.length=0);return w.forEach(function(N){N&&(N.touched=!1)}),!!E&&(R.forEach(function(N){this.addPoint(N,!1,null,null,!1)},this),this.xIncrement===null&&this.xData&&this.xData.length&&(this.xIncrement=S(this.xData),this.autoIncrement()),!0)}setData(i,p=!0,c,A){var xt;let w=this,R=w.points,H=R&&R.length||0,U=w.options,Z=w.chart,rt=U.dataSorting,it=w.xAxis,z=U.turboThreshold,E=this.xData,N=this.yData,X=w.pointArrayMap,_=X&&X.length,tt=U.keys,J,st,ot,ct=0,pt=1,ut;Z.options.chart.allowMutatingData||(U.data&&delete w.options.data,w.userOptions.data&&delete w.userOptions.data,ut=L(!0,i));let mt=(i=ut||i||[]).length;if(rt&&rt.enabled&&(i=this.sortData(i)),Z.options.chart.allowMutatingData&&A!==!1&&mt&&H&&!w.cropped&&!w.hasGroupedData&&w.visible&&!w.boosted&&(ot=this.updateData(i,c)),!ot){w.xIncrement=null,w.colorCounter=0,this.parallelArrays.forEach(function(gt){w[gt+"Data"].length=0});let ft=z&&mt>z;if(ft){let gt=w.getFirstValidPoint(i),vt=w.getFirstValidPoint(i,mt-1,-1),bt=St=>!!(T(St)&&(tt||F(St[0])));if(F(gt)&&F(vt))for(J=0;J<mt;J++)E[J]=this.autoIncrement(),N[J]=i[J];else if(bt(gt)&&bt(vt))if(_)if(gt.length===_)for(J=0;J<mt;J++)E[J]=this.autoIncrement(),N[J]=i[J];else for(J=0;J<mt;J++)st=i[J],E[J]=st[0],N[J]=st.slice(1,_+1);else if(tt&&(ct=tt.indexOf("x"),pt=tt.indexOf("y"),ct=ct>=0?ct:0,pt=pt>=0?pt:1),gt.length===1&&(pt=0),ct===pt)for(J=0;J<mt;J++)E[J]=this.autoIncrement(),N[J]=i[J][pt];else for(J=0;J<mt;J++)st=i[J],E[J]=st[ct],N[J]=st[pt];else ft=!1}if(!ft)for(J=0;J<mt;J++)st={series:w},w.pointClass.prototype.applyOptions.apply(st,[i[J]]),w.updateParallelArrays(st,J);for(N&&f(N[0])&&e(14,!0,Z),w.data=[],w.options.data=w.userOptions.data=i,J=H;J--;)(xt=R[J])==null||xt.destroy();it&&(it.minRange=it.userMinRange),w.isDirty=Z.isDirtyBox=!0,w.isDirtyData=!!R,c=!1}U.legendType==="point"&&(this.processData(),this.generatePoints()),p&&Z.redraw(c)}sortData(i){let p=this,c=p.options.dataSorting.sortKey||"y",A=function(w,R){return k(R)&&w.pointClass.prototype.optionsToObject.call({series:w},R)||{}};return i.forEach(function(w,R){i[R]=A(p,w),i[R].index=R},this),i.concat().sort((w,R)=>{let H=b(c,w),U=b(c,R);return U<H?-1:U>H?1:0}).forEach(function(w,R){w.x=R},this),p.linkedSeries&&p.linkedSeries.forEach(function(w){let R=w.options,H=R.data;R.dataSorting&&R.dataSorting.enabled||!H||(H.forEach(function(U,Z){H[Z]=A(w,U),i[Z]&&(H[Z].x=i[Z].x,H[Z].index=Z)}),w.setData(H,!1))}),i}getProcessedData(i){let p=this,c=p.xAxis,A=p.options.cropThreshold,w=c==null?void 0:c.logarithmic,R=p.isCartesian,H,U,Z=0,rt,it,z,E=p.xData,N=p.yData,X=!1,_=E.length;c&&(it=(rt=c.getExtremes()).min,z=rt.max,X=!!(c.categories&&!c.names.length)),R&&p.sorted&&!i&&(!A||_>A||p.forceCrop)&&(E[_-1]<it||E[0]>z?(E=[],N=[]):p.yData&&(E[0]<it||E[_-1]>z)&&(E=(H=this.cropData(p.xData,p.yData,it,z)).xData,N=H.yData,Z=H.start,U=!0));let tt=m([w?E.map(w.log2lin):E],()=>p.requireSorting&&!X&&e(15,!1,p.chart));return{xData:E,yData:N,cropped:U,cropStart:Z,closestPointRange:tt}}processData(i){let p=this.xAxis;if(this.isCartesian&&!this.isDirty&&!p.isDirty&&!this.yAxis.isDirty&&!i)return!1;let c=this.getProcessedData();this.cropped=c.cropped,this.cropStart=c.cropStart,this.processedXData=c.xData,this.processedYData=c.yData,this.closestPointRange=this.basePointRange=c.closestPointRange,a(this,"afterProcessData")}
3cropData(i,p,c,A){let w=i.length,R,H,U=0,Z=w;for(R=0;R<w;R++)if(i[R]>=c){U=Math.max(0,R-1);break}for(H=R;H<w;H++)if(i[H]>A){Z=H+1;break}return{xData:i.slice(U,Z),yData:p.slice(U,Z),start:U,end:Z}}generatePoints(){let i=this.options,p=this.processedData||i.data,c=this.processedXData,A=this.processedYData,w=this.pointClass,R=c.length,H=this.cropStart||0,U=this.hasGroupedData,Z=i.keys,rt=[],it=i.dataGrouping&&i.dataGrouping.groupAll?H:0,z,E,N,X,_=this.data;if(!_&&!U){let tt=[];tt.length=p.length,_=this.data=tt}for(Z&&U&&(this.options.keys=!1),X=0;X<R;X++)E=H+X,U?((N=new w(this,[c[X]].concat(l(A[X])))).dataGroup=this.groupMap[it+X],N.dataGroup.options&&(N.options=N.dataGroup.options,t(N,N.dataGroup.options),delete N.dataLabels)):(N=_[E])||p[E]===void 0||(_[E]=N=new w(this,p[E],c[X])),N&&(N.index=U?it+X:E,rt[X]=N);if(this.options.keys=Z,_&&(R!==(z=_.length)||U))for(X=0;X<z;X++)X!==H||U||(X+=R),_[X]&&(_[X].destroyElements(),_[X].plotX=void 0);this.data=_,this.points=rt,a(this,"afterGeneratePoints")}getXExtremes(i){return{min:u(i),max:S(i)}}getExtremes(i,p){let c=this.xAxis,A=this.yAxis,w=[],R=this.requireSorting&&!this.is("column")?1:0,H=!!A&&A.positiveValuesOnly,U=p||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:Z,processedYData:rt}=this,it,z,E,N,X,_,tt,J=0,st=0,ot=0;if(this.cropped&&U){let mt=this.getProcessedData(!0);Z=mt.xData,rt=mt.yData}let ct=(i=i||this.stackedYData||rt||[]).length,pt=Z||this.xData;for(c&&(J=(it=c.getExtremes()).min,st=it.max),_=0;_<ct;_++)if(N=pt[_],z=(F(X=i[_])||T(X))&&((F(X)?X>0:X.length)||!H),E=p||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!c||(pt[_+R]||N)>=J&&(pt[_-R]||N)<=st,z&&E)if(tt=X.length)for(;tt--;)F(X[tt])&&(w[ot++]=X[tt]);else w[ot++]=X;let ut={activeYData:w,dataMin:u(w),dataMax:S(w)};return a(this,"afterGetExtremes",{dataExtremes:ut}),ut}applyExtremes(){let i=this.getExtremes();return this.dataMin=i.dataMin,this.dataMax=i.dataMax,i}getFirstValidPoint(i,p=0,c=1){let A=i.length,w=p;for(;w>=0&&w<A;){if(k(i[w]))return i[w];w+=c}}translate(){var st;this.processedXData||this.processData(),this.generatePoints();let i=this.options,p=i.stacking,c=this.xAxis,A=c.categories,w=this.enabledDataSorting,R=this.yAxis,H=this.points,U=H.length,Z=this.pointPlacementToXValue(),rt=!!Z,it=i.threshold,z=i.startFromThreshold?it:0,E,N,X,_,tt=Number.MAX_VALUE;function J(ot){return M(ot,-1e9,1e9)}for(E=0;E<U;E++){let ot,ct=H[E],pt=ct.x,ut,mt,xt=ct.y,ft=ct.low,gt=p&&((st=R.stacking)==null?void 0:st.stacks[(this.negStacks&&xt<(z?0:it)?"-":"")+this.stackKey]);N=c.translate(pt,!1,!1,!1,!0,Z),ct.plotX=F(N)?G(J(N)):void 0,p&&this.visible&&gt&&gt[pt]&&(_=this.getStackIndicator(_,pt,this.index),!ct.isNull&&_.key&&(mt=(ut=gt[pt]).points[_.key]),ut&&T(mt)&&(ft=mt[0],xt=mt[1],ft===z&&_.key===gt[pt].base&&(ft=W(F(it)?it:R.min)),R.positiveValuesOnly&&k(ft)&&ft<=0&&(ft=void 0),ct.total=ct.stackTotal=W(ut.total),ct.percentage=k(ct.y)&&ut.total?ct.y/ut.total*100:void 0,ct.stackY=xt,this.irregularWidths||ut.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),ct.yBottom=k(ft)?J(R.translate(ft,!1,!0,!1,!0)):void 0,this.dataModify&&(xt=this.dataModify.modifyValue(xt,E)),F(xt)&&ct.plotX!==void 0&&(ot=F(ot=R.translate(xt,!1,!0,!1,!0))?J(ot):void 0),ct.plotY=ot,ct.isInside=this.isPointInside(ct),ct.clientX=rt?G(c.translate(pt,!1,!1,!1,!0,Z)):N,ct.negative=(ct.y||0)<(it||0),ct.category=W(A&&A[ct.x],ct.x),ct.isNull||ct.visible===!1||(X!==void 0&&(tt=Math.min(tt,Math.abs(N-X))),X=N),ct.zone=this.zones.length?ct.getZone():void 0,!ct.graphic&&this.group&&w&&(ct.isNew=!0)}this.closestPointRangePx=tt,a(this,"afterTranslate")}getValidPoints(i,p,c){let A=this.chart;return(i||this.points||[]).filter(function(w){let{plotX:R,plotY:H}=w;return!!((c||!w.isNull&&F(H))&&(!p||A.isInsidePlot(R,H,{inverted:A.inverted})))&&w.visible!==!1})}getClipBox(){let{chart:i,xAxis:p,yAxis:c}=this,{x:A,y:w,width:R,height:H}=L(i.clipBox);return p&&p.len!==i.plotSizeX&&(R=p.len),c&&c.len!==i.plotSizeY&&(H=c.len),i.inverted&&!this.invertible&&([R,H]=[H,R]),{x:A,y:w,width:R,height:H}}
3getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:i,group:p,markerGroup:c}=this,A=i.sharedClips,w=i.renderer,R=this.getClipBox(),H=this.getSharedClipKey(),U=A[H];U?U.animate(R):A[H]=U=w.clipRect(R),p&&p.clip(this.options.clip===!1?void 0:U),c&&c.clip()}animate(i){let{chart:p,group:c,markerGroup:A}=this,w=p.inverted,R=C(this.options.animation),H=[this.getSharedClipKey(),R.duration,R.easing,R.defer].join(","),U=p.sharedClips[H],Z=p.sharedClips[H+"m"];if(i&&c){let rt=this.getClipBox();if(U)U.attr("height",rt.height);else{rt.width=0,w&&(rt.x=p.plotHeight),U=p.renderer.clipRect(rt),p.sharedClips[H]=U;let it={x:-99,y:-99,width:w?p.plotWidth+199:99,height:w?99:p.plotHeight+199};Z=p.renderer.clipRect(it),p.sharedClips[H+"m"]=Z}c.clip(U),A==null||A.clip(Z)}else if(U&&!U.hasClass("highcharts-animating")){let rt=this.getClipBox(),it=R.step;(A!=null&&A.element.childNodes.length||p.series.length>1)&&(R.step=function(z,E){it&&it.apply(E,arguments),E.prop==="width"&&(Z!=null&&Z.element)&&Z.attr(w?"height":"width",z+99)}),U.addClass("highcharts-animating").animate(rt,R)}}afterAnimate(){this.setClip(),I(this.chart.sharedClips,(i,p,c)=>{i&&!this.chart.container.querySelector(`[clip-path="url(#${i.id})"]`)&&(i.destroy(),delete c[p])}),this.finishedAnimating=!0,a(this,"afterAnimate")}drawPoints(i=this.points){let p,c,A,w,R,H,U,Z=this.chart,rt=Z.styledMode,{colorAxis:it,options:z}=this,E=z.marker,N=this[this.specialGroup||"markerGroup"],X=this.xAxis,_=W(E.enabled,!X||!!X.isRadial||null,this.closestPointRangePx>=E.enabledThreshold*E.radius);if(E.enabled!==!1||this._hasPointMarkers)for(p=0;p<i.length;p++)if(w=(A=(c=i[p]).graphic)?"animate":"attr",R=c.marker||{},H=!!c.marker,(_&&R.enabled===void 0||R.enabled)&&!c.isNull&&c.visible!==!1){let tt=W(R.symbol,this.symbol,"rect");U=this.markerAttribs(c,c.selected&&"select"),this.enabledDataSorting&&(c.startXPos=X.reversed?-(U.width||0):X.width);let J=c.isInside!==!1;if(!A&&J&&((U.width||0)>0||c.hasImage)&&(c.graphic=A=Z.renderer.symbol(tt,U.x,U.y,U.width,U.height,H?R:E).add(N),this.enabledDataSorting&&Z.hasRendered&&(A.attr({x:c.startXPos}),w="animate")),A&&w==="animate"&&A[J?"show":"hide"](J).animate(U),A){let st=this.pointAttribs(c,rt||!c.selected?void 0:"select");rt?it&&A.css({fill:st.fill}):A[w](st)}A&&A.addClass(c.getClassName(),!0)}else A&&(c.graphic=A.destroy())}markerAttribs(i,p){let c=this.options,A=c.marker,w=i.marker||{},R=w.symbol||A.symbol,H={},U,Z,rt=W(w.radius,A&&A.radius);p&&(U=A.states[p],rt=W((Z=w.states&&w.states[p])&&Z.radius,U&&U.radius,rt&&rt+(U&&U.radiusPlus||0))),i.hasImage=R&&R.indexOf("url")===0,i.hasImage&&(rt=0);let it=i.pos();return F(rt)&&it&&(c.crisp&&(it[0]=O(it[0],i.hasImage?0:R==="rect"?(A==null?void 0:A.lineWidth)||0:1)),H.x=it[0]-rt,H.y=it[1]-rt),rt&&(H.width=H.height=2*rt),H}pointAttribs(i,p){let c=this.options.marker,A=i&&i.options,w=A&&A.marker||{},R=A&&A.color,H=i&&i.color,U=i&&i.zone&&i.zone.color,Z,rt,it=this.color,z,E,N=W(w.lineWidth,c.lineWidth),X=1;return it=R||U||H||it,z=w.fillColor||c.fillColor||it,E=w.lineColor||c.lineColor||it,p=p||"normal",Z=c.states[p]||{},N=W((rt=w.states&&w.states[p]||{}).lineWidth,Z.lineWidth,N+W(rt.lineWidthPlus,Z.lineWidthPlus,0)),z=rt.fillColor||Z.fillColor||z,{stroke:E=rt.lineColor||Z.lineColor||E,"stroke-width":N,fill:z,opacity:X=W(rt.opacity,Z.opacity,X)}}destroy(i){let p,c,A,w=this,R=w.chart,H=/AppleWebKit\/533/.test(x.navigator.userAgent),U=w.data||[];for(a(w,"destroy",{keepEventsForUpdate:i}),this.removeEvents(i),(w.axisTypes||[]).forEach(function(Z){(A=w[Z])&&A.series&&(s(A.series,w),A.isDirty=A.forceRedraw=!0)}),w.legendItem&&w.chart.legend.destroyItem(w),p=U.length;p--;)(c=U[p])&&c.destroy&&c.destroy();for(let Z of w.zones)o(Z,void 0,!0);V.clearTimeout(w.animationTimeout),I(w,function(Z,rt){Z instanceof $&&!Z.survive&&Z[H&&rt==="group"?"hide":"destroy"]()}),R.hoverSeries===w&&(R.hoverSeries=void 0),s(R.series,w),R.orderItems("series"),I(w,function(Z,rt){i&&rt==="hcEvents"||delete w[rt]})}applyZones(){let{area:i,chart:p,graph:c,zones:A,points:w,xAxis:R,yAxis:H,zoneAxis:U}=this,{inverted:Z,renderer:rt}=p,it=this[`${U}Axis`],{isXAxis:z,len:E=0}=it||{},N=((c==null?void 0:c.strokeWidth())||0)/2+1,X=(_,tt=0,J=0)=>{Z&&(J=E-J);let{translated:st=0,lineClip:ot}=_,ct=J-st;ot==null||ot.push(["L",tt,Math.abs(ct)<N?J-N*(ct<=0?-1:1):st])};if(A.length&&(c||i)&&it&&F(it.min)){let _=it.getExtremes().max,tt=ot=>{ot.forEach((ct,pt)=>{(ct[0]==="M"||ct[0]==="L")&&(ot[pt]=[ct[0],z?E-ct[1]:ct[1],z?ct[2]:E-ct[2]])})};if(A.forEach(ot=>{ot.lineClip=[],ot.translated=M(it.toPixels(W(ot.value,_),!0)||0,0,E)}),c&&!this.showLine&&c.hide(),i&&i.hide(),U==="y"&&w.length<R.len)for(let ot of w){let{plotX:ct,plotY:pt,zone:ut}=ot,mt=ut&&A[A.indexOf(ut)-1];ut&&X(ut,ct,pt),mt&&X(mt,ct,pt)}let J=[],st=it.toPixels(it.getExtremes().min,!0);A.forEach(ot=>{var Ct,kt;let ct=ot.lineClip||[],pt=Math.round(ot.translated||0);R.reversed&&ct.reverse();let{clip:ut,simpleClip:mt}=ot,xt=0,ft=0,gt=R.len,vt=H.len;z?(xt=pt,gt=st):(ft=pt,vt=st);let bt=[["M",xt,ft],["L",gt,ft],["L",gt,vt],["L",xt,vt],["Z"]],St=[bt[0],...ct,bt[1],bt[2],...J,bt[3],bt[4]];J=ct.reverse(),st=pt,Z&&(tt(St),i&&tt(bt)),ut?(ut.animate({d:St}),mt==null||mt.animate({d:bt})):(ut=ot.clip=rt.path(St),i&&(mt=ot.simpleClip=rt.path(bt))),c&&((Ct=ot.graph)==null||Ct.clip(ut)),i&&((kt=ot.area)==null||kt.clip(mt))})}else this.visible&&(c&&c.show(),i&&i.show())}plotGroup(i,p,c,A,w){let R=this[i],H=!R,U={visibility:c,zIndex:A||.1};return k(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(U.opacity=this.opacity),R||(this[i]=R=this.chart.renderer.g().add(w)),R.addClass("highcharts-"+p+" highcharts-series-"+this.index+" highcharts-"+this.t
3ype+"-series "+(k(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(R.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),R.attr(U)[H?"attr":"animate"](this.getPlotBox(p)),R}getPlotBox(i){let p=this.xAxis,c=this.yAxis,A=this.chart,w=A.inverted&&!A.polar&&p&&this.invertible&&i==="series";return A.inverted&&(p=c,c=this.xAxis),{translateX:p?p.left:A.plotLeft,translateY:c?c.top:A.plotTop,rotation:w?90:0,rotationOriginX:w?(p.len-c.len)/2:0,rotationOriginY:w?(p.len+c.len)/2:0,scaleX:w?-1:1,scaleY:1}}removeEvents(i){let{eventsToUnbind:p}=this;i||Q(this),p.length&&(p.forEach(c=>{c()}),p.length=0)}render(){var rt,it,z,E,N;let i=this,{chart:p,options:c,hasRendered:A}=i,w=C(c.animation),R=i.visible?"inherit":"hidden",H=c.zIndex,U=p.seriesGroup,Z=i.finishedAnimating?0:w.duration;a(this,"render"),i.plotGroup("group","series",R,H,U),i.markerGroup=i.plotGroup("markerGroup","markers",R,H,U),c.clip!==!1&&i.setClip(),Z&&((rt=i.animate)==null||rt.call(i,!0)),i.drawGraph&&(i.drawGraph(),i.applyZones()),i.visible&&i.drawPoints(),(it=i.drawDataLabels)==null||it.call(i),(z=i.redrawPoints)==null||z.call(i),c.enableMouseTracking&&((E=i.drawTracker)==null||E.call(i)),Z&&((N=i.animate)==null||N.call(i)),A||(Z&&w.defer&&(Z+=w.defer),i.animationTimeout=n(()=>{i.afterAnimate()},Z||0)),i.isDirty=!1,i.hasRendered=!0,a(i,"afterRender")}redraw(){let i=this.isDirty||this.isDirtyData;this.translate(),this.render(),i&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(i,p){let{xAxis:c,yAxis:A}=this,w=this.chart.inverted;return this.searchKDTree({clientX:w?c.len-i.chartY+c.pos:i.chartX-c.pos,plotY:w?A.len-i.chartX+A.pos:i.chartY-A.pos},p,i)}buildKDTree(i){this.buildingKdTree=!0;let p=this,c=p.options.findNearestPointBy.indexOf("y")>-1?2:1;delete p.kdTree,n(function(){p.kdTree=function A(w,R,H){let U,Z,rt=w==null?void 0:w.length;if(rt)return U=p.kdAxisArray[R%H],w.sort((it,z)=>(it[U]||0)-(z[U]||0)),{point:w[Z=Math.floor(rt/2)],left:A(w.slice(0,Z),R+1,H),right:A(w.slice(Z+1),R+1,H)}}(p.getValidPoints(void 0,!p.directTouch),c,c),p.buildingKdTree=!1},p.options.kdNow||(i==null?void 0:i.type)==="touchstart"?0:1)}searchKDTree(i,p,c){let A=this,[w,R]=this.kdAxisArray,H=p?"distX":"dist",U=(A.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Z=!!A.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(c),this.kdTree)return function rt(it,z,E,N){var ut;let X=z.point,_=A.kdAxisArray[E%N],tt,J,st=X;(function(mt,xt){var wt;let ft=mt[w],gt=xt[w],vt=k(ft)&&k(gt)?ft-gt:null,bt=mt[R],St=xt[R],Ct=k(bt)&&k(St)?bt-St:0,kt=Z&&((wt=xt.marker)==null?void 0:wt.radius)||0;xt.dist=Math.sqrt((vt&&vt*vt||0)+Ct*Ct)-kt,xt.distX=k(vt)?Math.abs(vt)-kt:Number.MAX_VALUE})(it,X);let ot=(it[_]||0)-(X[_]||0)+(Z&&((ut=X.marker)==null?void 0:ut.radius)||0),ct=ot<0?"left":"right",pt=ot<0?"right":"left";return z[ct]&&(st=(tt=rt(it,z[ct],E+1,N))[H]<st[H]?tt:X),z[pt]&&Math.sqrt(ot*ot)<st[H]&&(st=(J=rt(it,z[pt],E+1,N))[H]<st[H]?J:st),st}(i,this.kdTree,U,U)}pointPlacementToXValue(){let{options:i,xAxis:p}=this,c=i.pointPlacement;return c==="between"&&(c=p.reversed?-.5:.5),F(c)?c*(i.pointRange||p.pointRange):0}isPointInside(i){let{chart:p,xAxis:c,yAxis:A}=this,{plotX:w=-1,plotY:R=-1}=i;return R>=0&&R<=(A?A.len:p.plotHeight)&&w>=0&&w<=(c?c.len:p.plotWidth)}drawTracker(){var z;let i=this,p=i.options,c=p.trackByArea,A=[].concat((c?i.areaPath:i.graphPath)||[]),w=i.chart,R=w.pointer,H=w.renderer,U=((z=w.options.tooltip)==null?void 0:z.snap)||0,Z=()=>{p.enableMouseTracking&&w.hoverSeries!==i&&i.onMouseOver()},rt="rgba(192,192,192,"+(d?1e-4:.002)+")",it=i.tracker;it?it.attr({d:A}):i.graph&&(i.tracker=it=H.path(A).attr({visibility:i.visible?"inherit":"hidden",zIndex:2}).addClass(c?"highcharts-tracker-area":"highcharts-tracker-line").add(i.group),w.styledMode||it.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:rt,fill:c?rt:"none","stroke-width":i.graph.strokeWidth()+(c?0:2*U)}),[i.tracker,i.markerGroup,i.dataLabelsGroup].forEach(E=>{E&&(E.addClass("highcharts-tracker").on("mouseover",Z).on("mouseout",N=>{R==null||R.onTrackerMouseOut(N)}),p.cursor&&!w.styledMode&&E.css({cursor:p.cursor}),E.on("touchstart",Z))})),a(this,"afterDrawTracker")}addPoint(i,p,c,A,w){let R,H,U=this.options,Z=this.data,rt=this.chart,it=this.xAxis,z=it&&it.hasNames&&it.names,E=U.data,N=this.xData;p=W(p,!0);let X={series:this};this.pointClass.prototype.applyOptions.apply(X,[i]);let _=X.x;if(H=N.length,this.requireSorting&&_<N[H-1])for(R=!0;H&&N[H-1]>_;)H--;this.updateParallelArrays(X,"splice",[H,0,0]),this.updateParallelArrays(X,H),z&&X.name&&(z[_]=X.name),E.splice(H,0,i),(R||this.processedData)&&(this.data.splice(H,0,null),this.processData()),U.legendT
3ype==="point"&&this.generatePoints(),c&&(Z[0]&&Z[0].remove?Z[0].remove(!1):(Z.shift(),this.updateParallelArrays(X,"shift"),E.shift())),w!==!1&&a(this,"addPoint",{point:X}),this.isDirty=!0,this.isDirtyData=!0,p&&rt.redraw(A)}removePoint(i,p,c){let A=this,w=A.data,R=w[i],H=A.points,U=A.chart,Z=function(){H&&H.length===w.length&&H.splice(i,1),w.splice(i,1),A.options.data.splice(i,1),A.updateParallelArrays(R||{series:A},"splice",[i,1]),R&&R.destroy(),A.isDirty=!0,A.isDirtyData=!0,p&&U.redraw()};B(c,U),p=W(p,!0),R?R.firePointEvent("remove",null,Z):Z()}remove(i,p,c,A){let w=this,R=w.chart;function H(){w.destroy(A),R.isDirtyLegend=R.isDirtyBox=!0,R.linkSeries(A),W(i,!0)&&R.redraw(p)}c!==!1?a(w,"remove",null,H):H()}update(i,p){var tt,J,st;a(this,"update",{options:i=g(i,this.userOptions)});let c=this,A=c.chart,w=c.userOptions,R=c.initialType||c.type,H=A.options.plotOptions,U=v[R].prototype,Z=c.finishedAnimating&&{animation:!1},rt={},it,z,E=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],N=i.type||w.type||A.options.chart.type,X=!(this.hasDerivedData||N&&N!==this.type||i.pointStart!==void 0||i.pointInterval!==void 0||i.relativeXValue!==void 0||i.joinBy||i.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(ot=>c.hasOptionChanged(ot)));N=N||R,X&&(E.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),i.visible!==!1&&E.push("area","graph"),c.parallelArrays.forEach(function(ot){E.push(ot+"Data")}),i.data&&(i.dataSorting&&t(c.options.dataSorting,i.dataSorting),this.setData(i.data,!1))),i=L(w,{index:w.index===void 0?c.index:w.index,pointStart:((tt=H==null?void 0:H.series)==null?void 0:tt.pointStart)??w.pointStart??((J=c.xData)==null?void 0:J[0])},!X&&{data:c.options.data},i,Z),X&&i.data&&(i.data=c.options.data),(E=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(E)).forEach(function(ot){E[ot]=c[ot],delete c[ot]});let _=!1;if(v[N]){if(_=N!==c.type,c.remove(!1,!1,!1,!0),_)if(A.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(c,v[N].prototype);else{let ot=Object.hasOwnProperty.call(c,"hcEvents")&&c.hcEvents;for(z in U)c[z]=void 0;t(c,v[N].prototype),ot?c.hcEvents=ot:delete c.hcEvents}}else e(17,!0,A,{missingModuleFor:N});if(E.forEach(function(ot){c[ot]=E[ot]}),c.init(A,i),X&&this.points)for(let ot of((it=c.options).visible===!1?(rt.graphic=1,rt.dataLabel=1):(this.hasMarkerChanged(it,w)&&(rt.graphic=1),(st=c.hasDataLabels)!=null&&st.call(c)||(rt.dataLabel=1)),this.points))ot&&ot.series&&(ot.resolveColor(),Object.keys(rt).length&&ot.destroyElements(rt),it.showInLegend===!1&&ot.legendItem&&A.legend.destroyItem(ot));c.initialType=R,A.linkSeries(),A.setSortedData(),_&&c.linkedSeries.length&&(c.isDirtyData=!0),a(this,"afterUpdate"),W(p,!0)&&A.redraw(!!X&&void 0)}setName(i){this.name=this.options.name=this.userOptions.name=i,this.chart.isDirtyLegend=!0}hasOptionChanged(i){var H,U;let p=this.chart,c=this.options[i],A=p.options.plotOptions,w=this.userOptions[i],R=W((H=A==null?void 0:A[this.type])==null?void 0:H[i],(U=A==null?void 0:A.series)==null?void 0:U[i]);return w&&!k(R)?c!==w:c!==W(R,c)}onMouseOver(){let i=this.chart,p=i.hoverSeries,c=i.pointer;c==null||c.setHoverChartIndex(),p&&p!==this&&p.onMouseOut(),this.options.events.mouseOver&&a(this,"mouseOver"),this.setState("hover"),i.hoverSeries=this}onMouseOut(){let i=this.options,p=this.chart,c=p.tooltip,A=p.hoverPoint;p.hoverSeries=null,A&&A.onMouseOut(),this&&i.events.mouseOut&&a(this,"mouseOut"),c&&!this.stickyTracking&&(!c.shared||this.noSharedTooltip)&&c.hide(),p.series.forEach(function(w){w.setState("",!0)})}setState(i,p){let c=this,A=c.options,w=c.graph,R=A.inactiveOtherPoints,H=A.states,U=W(H[i||"normal"]&&H[i||"normal"].animation,c.chart.options.chart.animation),Z=A.lineWidth,rt=A.opacity;if(i=i||"",c.state!==i&&([c.group,c.markerGroup,c.dataLabelsGroup].forEach(function(it){it&&(c.state&&it.removeClass("highcharts-series-"+c.state),i&&it.addClass("highcharts-series-"+i))}),c.state=i,!c.chart.styledMode)){if(H[i]&&H[i].enabled===!1)return;if(i&&(Z=H[i].lineWidth||Z+(H[i].lineWidthPlus||0),rt=W(H[i].opacity,rt)),w&&!w.dashstyle&&F(Z))for(let it of[w,...this.zones.map(z=>z.graph)])it==null||it.animate({"stroke-width":Z},U);R||[c.group,c.markerGroup,c.dataLabelsGroup,c.labelBySeries].forEac
3h(function(it){it&&it.animate({opacity:rt},U)})}p&&R&&c.points&&c.setAllPointsToState(i||void 0)}setAllPointsToState(i){this.points.forEach(function(p){p.setState&&p.setState(i)})}setVisible(i,p){var U;let c=this,A=c.chart,w=A.options.chart.ignoreHiddenSeries,R=c.visible;c.visible=i=c.options.visible=c.userOptions.visible=i===void 0?!R:i;let H=i?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(Z=>{var rt;(rt=c[Z])==null||rt[H]()}),(A.hoverSeries===c||((U=A.hoverPoint)==null?void 0:U.series)===c)&&c.onMouseOut(),c.legendItem&&A.legend.colorizeItem(c,i),c.isDirty=!0,c.options.stacking&&A.series.forEach(Z=>{Z.options.stacking&&Z.visible&&(Z.isDirty=!0)}),c.linkedSeries.forEach(Z=>{Z.setVisible(i,!1)}),w&&(A.isDirtyBox=!0),a(c,H),p!==!1&&A.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(i){this.selected=i=this.options.selected=i===void 0?!this.selected:i,this.checkbox&&(this.checkbox.checked=i),a(this,i?"select":"unselect")}shouldShowTooltip(i,p,c={}){return c.series=this,c.visiblePlotOnly=!0,this.chart.isInsidePlot(i,p,c)}drawLegendSymbol(i,p){var c;(c=dt[this.options.legendSymbol||"rectangle"])==null||c.call(this,i,p)}}return y.defaultOptions=at,y.types=q.seriesTypes,y.registerType=q.registerSeriesType,t(y.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:nt,requireSorting:!0,sorted:!0}),q.series=y,y}),yt(Y,"Core/Legend/Legend.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Foundation.js"],Y["Core/Globals.js"],Y["Core/Series/Series.js"],Y["Core/Series/Point.js"],Y["Core/Renderer/RendererUtilities.js"],Y["Core/Templating.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht,dt,nt,at,q){var $;let{animObject:V,setAnimation:C}=K,{registerEventOptions:B}=et,{composed:j,marginNames:P}=lt,{distribute:d}=nt,{format:x}=at,{addEvent:v,createElement:S,css:u,defined:M,discardElement:G,find:O,fireEvent:k,isNumber:o,merge:g,pick:s,pushUnique:e,relativeLength:t,stableSort:r,syncTimeout:a}=q;class m{constructor(h,T){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=h,this.setOptions(T),T.enabled&&(this.render(),B(this,T),v(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),v(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(h){let T=s(h.padding,8);this.options=h,this.chart.styledMode||(this.itemStyle=h.itemStyle,this.itemHiddenStyle=g(this.itemStyle,h.itemHiddenStyle)),this.itemMarginTop=h.itemMarginTop,this.itemMarginBottom=h.itemMarginBottom,this.padding=T,this.initialItemY=T-5,this.symbolWidth=s(h.symbolWidth,16),this.pages=[],this.proximate=h.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(h,T){let F=this.chart;this.setOptions(g(!0,this.options,h)),"events"in this.options&&B(this,this.options),this.destroy(),F.isDirtyLegend=F.isDirtyBox=!0,s(T,!0)&&F.redraw(),k(this,"afterUpdate",{redraw:T})}colorizeItem(h,T){let{area:F,group:f,label:L,line:I,symbol:W}=h.legendItem||{};if(f==null||f[T?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:Q={}}=this,l=Q.color,{fillColor:n,fillOpacity:y,lineColor:D,marker:i}=h.options,p=c=>(!T&&(c.fill&&(c.fill=l),c.stroke&&(c.stroke=l)),c);L==null||L.css(g(T?this.itemStyle:Q)),I==null||I.attr(p({stroke:D||h.color})),W&&W.attr(p(i&&W.isMarker?h.pointAttribs():{fill:h.color})),F==null||F.attr(p({fill:n||h.color,"fill-opacity":n?1:y??.75}))}k(this,"afterColorizeItem",{item:h,visible:T})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(h){let{group:T,x:F=0,y:f=0}=h.legendItem||{},L=this.options,I=L.symbolPadding,W=!L.rtl,Q=h.checkbox;if(T&&T.element){let l={translateX:W?F:this.legendWidth-F-2*I-4,translateY:f};T[M(T.translateY)?"animate":"attr"](l,void 0,()=>{k(this,"afterPositionItem",{item:h})})}Q&&(Q.x=F,Q.y=f)}destroyItem(h){let T=h.checkbox,F=h.legendItem||{};for(let f of["group","label","line","symbol"])F[f]&&(F[f]=F[f].destroy());T&&G(T),h.legendItem=void 0}destroy(){for(let h of this.getAllItems())this.destroyItem(h);for(let h of["clipRect","up","down","pager","nav","box","title","group"])this[h]&&(this[h]=this[h].destroy());this.display=null}positionCheckboxes(){let h,T=this.group&&this.group.alignAttr,F=this.clipHeight||this.legendHeight,f=this.titleHeight;
3T&&(h=T.translateY,this.allItems.forEach(function(L){let I,W=L.checkbox;W&&(I=h+f+W.y+(this.scrollOffset||0)+3,u(W,{left:T.translateX+L.checkboxOffset+W.x-20+"px",top:I+"px",display:this.proximate||I>h-6&&I<h+F-6?"":"none"}))},this))}renderTitle(){let h=this.options,T=this.padding,F=h.title,f,L=0;F.text&&(this.title||(this.title=this.chart.renderer.label(F.text,T-3,T-4,void 0,void 0,void 0,h.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(F.style),this.title.add(this.group)),F.width||this.title.css({width:this.maxLegendWidth+"px"}),L=(f=this.title.getBBox()).height,this.offsetWidth=f.width,this.contentGroup.attr({translateY:L})),this.titleHeight=L}setText(h){let T=this.options;h.legendItem.label.attr({text:T.labelFormat?x(T.labelFormat,h,this.chart):T.labelFormatter.call(h)})}renderItem(h){let T=h.legendItem=h.legendItem||{},F=this.chart,f=F.renderer,L=this.options,I=L.layout==="horizontal",W=this.symbolWidth,Q=L.symbolPadding||0,l=this.itemStyle,n=this.itemHiddenStyle,y=I?s(L.itemDistance,20):0,D=!L.rtl,i=!h.series,p=!i&&h.series.drawLegendSymbol?h.series:h,c=p.options,A=!!this.createCheckboxForItem&&c&&c.showCheckbox,w=L.useHTML,R=h.options.className,H=T.label,U=W+Q+y+(A?20:0);!H&&(T.group=f.g("legend-item").addClass("highcharts-"+p.type+"-series highcharts-color-"+h.colorIndex+(R?" "+R:"")+(i?" highcharts-series-"+h.index:"")).attr({zIndex:1}).add(this.scrollGroup),T.label=H=f.text("",D?W+Q:-Q,this.baseline||0,w),F.styledMode||H.css(g(h.visible?l:n)),H.attr({align:D?"left":"right",zIndex:2}).add(T.group),!this.baseline&&(this.fontMetrics=f.fontMetrics(H),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,H.attr("y",this.baseline),this.symbolHeight=s(L.symbolHeight,this.fontMetrics.f),L.squareSymbol&&(this.symbolWidth=s(L.symbolWidth,Math.max(this.symbolHeight,16)),U=this.symbolWidth+Q+y+(A?20:0),D&&H.attr("x",this.symbolWidth+Q))),p.drawLegendSymbol(this,h),this.setItemEvents&&this.setItemEvents(h,H,w)),A&&!h.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(h),this.colorizeItem(h,h.visible),(F.styledMode||!l.width)&&H.css({width:(L.itemWidth||this.widthOption||F.spacingBox.width)-U+"px"}),this.setText(h);let Z=H.getBBox(),rt=this.fontMetrics&&this.fontMetrics.h||0;h.itemWidth=h.checkboxOffset=L.itemWidth||T.labelWidth||Z.width+U,this.maxItemWidth=Math.max(this.maxItemWidth,h.itemWidth),this.totalItemWidth+=h.itemWidth,this.itemHeight=h.itemHeight=Math.round(T.labelHeight||(Z.height>1.5*rt?Z.height:rt))}layoutItem(h){let T=this.options,F=this.padding,f=T.layout==="horizontal",L=h.itemHeight,I=this.itemMarginBottom,W=this.itemMarginTop,Q=f?s(T.itemDistance,20):0,l=this.maxLegendWidth,n=T.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:h.itemWidth,y=h.legendItem||{};f&&this.itemX-F+n>l&&(this.itemX=F,this.lastLineHeight&&(this.itemY+=W+this.lastLineHeight+I),this.lastLineHeight=0),this.lastItemY=W+this.itemY+I,this.lastLineHeight=Math.max(L,this.lastLineHeight),y.x=this.itemX,y.y=this.itemY,f?this.itemX+=n:(this.itemY+=W+L+I,this.lastLineHeight=L),this.offsetWidth=this.widthOption||Math.max((f?this.itemX-F-(h.checkbox?0:Q):n)+F,this.offsetWidth)}getAllItems(){let h=[];return this.chart.series.forEach(function(T){let F=T&&T.options;T&&s(F.showInLegend,!M(F.linkedTo)&&void 0,!0)&&(h=h.concat((T.legendItem||{}).labels||(F.legendType==="point"?T.data:T)))}),k(this,"afterGetAllItems",{allItems:h}),h}getAlignment(){let h=this.options;return this.proximate?h.align.charAt(0)+"tv":h.floating?"":h.align.charAt(0)+h.verticalAlign.charAt(0)+h.layout.charAt(0)}adjustMargins(h,T){let F=this.chart,f=this.options,L=this.getAlignment();L&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEac
vendor: 1,606 bytes, line 3
3h(function(I,W){I.test(L)&&!M(h[W])&&(F[P[W]]=Math.max(F[P[W]],F.legend[(W+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][W]*f[W%2?"x":"y"]+s(f.margin,12)+T[W]+(F.titleOffset[W]||0)))})}proximatePositions(){let h,T=this.chart,F=[],f=this.options.align==="left";for(let L of(this.allItems.forEach(function(I){let W,Q,l=f,n,y;I.yAxis&&(I.xAxis.options.reversed&&(l=!l),I.points&&(W=O(l?I.points:I.points.slice(0).reverse(),function(D){return o(D.plotY)})),Q=this.itemMarginTop+I.legendItem.label.getBBox().height+this.itemMarginBottom,y=I.yAxis.top-T.plotTop,n=I.visible?(W?W.plotY:I.yAxis.height)+(y-.3*Q):y+I.yAxis.height,F.push({target:n,size:Q,item:I}))},this),d(F,T.plotHeight)))h=L.item.legendItem||{},o(L.pos)&&(h.y=T.plotTop-T.spacing[0]+L.pos)}render(){let h=this.chart,T=h.renderer,F=this.options,f=this.padding,L=this.getAllItems(),I,W,Q,l=this.group,n,y=this.box;this.itemX=f,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=t(F.width,h.spacingBox.width-f),n=h.spacingBox.width-2*f-F.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(n/=2),this.maxLegendWidth=this.widthOption||n,l||(this.group=l=T.g("legend").addClass(F.className||"").attr({zIndex:7}).add(),this.contentGroup=T.g().attr({zIndex:1}).add(l),this.scrollGroup=T.g().add(this.contentGroup)),this.renderTitle(),r(L,(D,i)=>(D.options&&D.options.legendIndex||0)-(i.options&&i.options.legendIndex||0)),F.reversed&&L.reverse(),this.allItems=L,this.display=I=!!L.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,L.forEach(this.renderItem,this),L.forEac
vendor: 4,128 bytes, line 3
3h(this.layoutItem,this),W=(this.widthOption||this.offsetWidth)+f,Q=this.lastItemY+this.lastLineHeight+this.titleHeight,Q=this.handleOverflow(Q)+f,y||(this.box=y=T.rect().addClass("highcharts-legend-box").attr({r:F.borderRadius}).add(l)),h.styledMode||y.attr({stroke:F.borderColor,"stroke-width":F.borderWidth||0,fill:F.backgroundColor||"none"}).shadow(F.shadow),W>0&&Q>0&&y[y.placed?"animate":"attr"](y.crisp.call({},{x:0,y:0,width:W,height:Q},y.strokeWidth())),l[I?"show":"hide"](),h.styledMode&&l.getStyle("display")==="none"&&(W=Q=0),this.legendWidth=W,this.legendHeight=Q,I&&this.align(),this.proximate||this.positionItems(),k(this,"afterRender")}align(h=this.chart.spacingBox){let T=this.chart,F=this.options,f=h.y;/(lth|ct|rth)/.test(this.getAlignment())&&T.titleOffset[0]>0?f+=T.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&T.titleOffset[2]>0&&(f-=T.titleOffset[2]),f!==h.y&&(h=g(h,{y:f})),T.hasRendered||(this.group.placed=!1),this.group.align(g(F,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":F.verticalAlign}),!0,h)}handleOverflow(h){let T=this,F=this.chart,f=F.renderer,L=this.options,I=L.y,W=L.verticalAlign==="top",Q=this.padding,l=L.maxHeight,n=L.navigation,y=s(n.animation,!0),D=n.arrowSize||12,i=this.pages,p=this.allItems,c=function(it){typeof it=="number"?rt.attr({height:it}):rt&&(T.clipRect=rt.destroy(),T.contentGroup.clip()),T.contentGroup.div&&(T.contentGroup.div.style.clip=it?"rect("+Q+"px,9999px,"+(Q+it)+"px,0)":"auto")},A=function(it){return T[it]=f.circle(0,0,1.3*D).translate(D/2,D/2).add(Z),F.styledMode||T[it].attr("fill","rgba(0,0,0,0.0001)"),T[it]},w,R,H,U=F.spacingBox.height+(W?-I:I)-Q,Z=this.nav,rt=this.clipRect;return L.layout!=="horizontal"||L.verticalAlign==="middle"||L.floating||(U/=2),l&&(U=Math.min(U,l)),i.length=0,h&&U>0&&h>U&&n.enabled!==!1?(this.clipHeight=w=Math.max(U-20-this.titleHeight-Q,0),this.currentPage=s(this.currentPage,1),this.fullHeight=h,p.forEach((it,z)=>{let E=(H=it.legendItem||{}).y||0,N=Math.round(H.label.getBBox().height),X=i.length;(!X||E-i[X-1]>w&&(R||E)!==i[X-1])&&(i.push(R||E),X++),H.pageIx=X-1,R&&((p[z-1].legendItem||{}).pageIx=X-1),z===p.length-1&&E+N-i[X-1]>w&&E>i[X-1]&&(i.push(E),H.pageIx=X),E!==R&&(R=E)}),rt||(rt=T.clipRect=f.clipRect(0,Q-2,9999,0),T.contentGroup.clip(rt)),c(w),Z||(this.nav=Z=f.g().attr({zIndex:1}).add(this.group),this.up=f.symbol("triangle",0,0,D,D).add(Z),A("upTracker").on("click",function(){T.scroll(-1,y)}),this.pager=f.text("",15,10).addClass("highcharts-legend-navigation"),!F.styledMode&&n.style&&this.pager.css(n.style),this.pager.add(Z),this.down=f.symbol("triangle-down",0,0,D,D).add(Z),A("downTracker").on("click",function(){T.scroll(1,y)})),T.scroll(0),h=U):Z&&(c(),this.nav=Z.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),h}scroll(h,T){let F=this.chart,f=this.pages,L=f.length,I=this.clipHeight,W=this.options.navigation,Q=this.pager,l=this.padding,n=this.currentPage+h;n>L&&(n=L),n>0&&(T!==void 0&&C(T,F),this.nav.attr({translateX:l,translateY:I+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(y){y.attr({class:n===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),Q.attr({text:n+"/"+L}),[this.down,this.downTracker].forEach(function(y){y.attr({x:18+this.pager.getBBox().width,class:n===L?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),F.styledMode||(this.up.attr({fill:n===1?W.inactiveColor:W.activeColor}),this.upTracker.css({cursor:n===1?"default":"pointer"}),this.down.attr({fill:n===L?W.inactiveColor:W.activeColor}),this.downTracker.css({cursor:n===L?"default":"pointer"})),this.scrollOffset=-f[n-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=n,this.positionCheckboxes(),a(()=>{k(this,"afterScroll",{currentPage:n})},V(s(T,F.renderer.globalAnimation,!0)).duration))}setItemEvents(h,T,F){let f=this,L=h.legendItem||{},I=f.chart.renderer.boxWrapper,W=h instanceof dt,Q=h instanceof ht,l="highcharts-legend-"+(W?"point":"series")+"-active",n=f.chart.styledMode,y=F?[T,L.symbol]:[L.group],D=i=>
3{f.allItems.forEach(p=>{h!==p&&[p].concat(p.linkedSeries||[]).forEach(c=>{c.setState(i,!W)})})};for(let i of y)i&&i.on("mouseover",function(){h.visible&&D("inactive"),h.setState("hover"),h.visible&&I.addClass(l),n||T.css(f.options.itemHoverStyle)}).on("mouseout",function(){f.chart.styledMode||T.css(g(h.visible?f.itemStyle:f.itemHiddenStyle)),D(""),I.removeClass(l),h.setState()}).on("click",function(p){let c=function(){h.setVisible&&h.setVisible(),D(h.visible?"inactive":"")};I.removeClass(l),k(f,"itemClick",{browserEvent:p,legendItem:h},c),W?h.firePointEvent("legendItemClick",{browserEvent:p}):Q&&k(h,"legendItemClick",{browserEvent:p})})}createCheckboxForItem(h){h.checkbox=S("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:h.selected,defaultChecked:h.selected},this.options.itemCheckboxStyle,this.chart.container),v(h.checkbox,"click",function(T){let F=T.target;k(h.series||h,"checkboxClick",{checked:F.checked,item:h},function(){h.select()})})}}return($=m).compose=function(b){e(j,"Core.Legend")&&v(b,"beforeMargins",function(){this.legend=new $(this,this.options.legend)})},m}),yt(Y,"Core/Chart/Chart.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Axis/Axis.js"],Y["Core/Defaults.js"],Y["Core/Templating.js"],Y["Core/Foundation.js"],Y["Core/Globals.js"],Y["Core/Renderer/RendererRegistry.js"],Y["Core/Series/Series.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Renderer/SVG/SVGRenderer.js"],Y["Core/Time.js"],Y["Core/Utilities.js"],Y["Core/Renderer/HTML/AST.js"],Y["Core/Axis/Tick.js"]],function(K,et,lt,ht,dt,nt,at,q,$,V,C,B,j,P){let{animate:d,animObject:x,setAnimation:v}=K,{defaultOptions:S,defaultTime:u}=lt,{numberFormat:M}=ht,{registerEventOptions:G}=dt,{charts:O,doc:k,marginNames:o,svg:g,win:s}=nt,{seriesTypes:e}=$,{addEvent:t,attr:r,createElement:a,css:m,defined:b,diffObjects:h,discardElement:T,erase:F,error:f,extend:L,find:I,fireEvent:W,getStyle:Q,isArray:l,isNumber:n,isObject:y,isString:D,merge:i,objectEach:p,pick:c,pInt:A,relativeLength:w,removeEvent:R,splat:H,syncTimeout:U,uniqueKey:Z}=B;class rt{static chart(z,E,N){return new rt(z,E,N)}constructor(z,E,N){this.sharedClips={};let X=[...arguments];(D(z)||z.nodeName)&&(this.renderTo=X.shift()),this.init(X[0],X[1])}setZoomOptions(){let z=this.options.chart,E=z.zooming;this.zooming={...E,type:c(z.zoomType,E.type),key:c(z.zoomKey,E.key),pinchType:c(z.pinchType,E.pinchType),singleTouch:c(z.zoomBySingleTouch,E.singleTouch,!1),resetButton:i(E.resetButton,z.resetZoomButton)}}init(z,E){W(this,"init",{args:arguments},function(){let N=i(S,z),X=N.chart;this.userOptions=L({},z),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=E,this.isResizing=0,this.options=N,this.axes=[],this.series=[],this.time=z.time&&Object.keys(z.time).length?new C(z.time):nt.time,this.numberFormatter=X.numberFormatter||M,this.styledMode=X.styledMode,this.hasCartesianSeries=X.showAxes,this.index=O.length,O.push(this),nt.chartCount++,G(this,X),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),W(this,"afterInit"),this.firstRender()})}initSeries(z){let E=this.options.chart,N=z.type||E.type,X=e[N];X||f(17,!0,this,{missingModuleFor:N});let _=new X;return typeof _.init=="function"&&_.init(this,z),_}setSortedData(){this.getSeriesOrderByLinks().forEach(function(z){z.points||z.data||!z.enabledDataSorting||z.setData(z.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(z,E){return z.linkedSeries.length||E.linkedSeries.length?E.linkedSeries.length-z.linkedSeries.length:0})}orderItems(z,E=0){let N=this[z],X=this.options[z]=H(this.options[z]).slice(),_=this.userOptions[z]=this.userOptions[z]?H(this.userOptions[z]).slice():[];if(this.hasRendered&&(X.splice(E),_.splice(E)),N)for(let tt=E,J=N.length;tt<J;++tt){let st=N[tt];st&&(st.index=tt,st instanceof q&&(st.name=st.getName()),st.options.isInternal||(X[tt]=st.options,_[tt]=st.userOptions))}}isInsidePlot(z,E,N={}){var gt;let{inverted:X,plotBox:_,plotLeft:tt,plotTop:J,scrollablePlotBox:st}=this,{scrollLeft:ot=0,scrollTop:ct=0}=N.visiblePlotOnly&&((gt=this.scrollablePlotArea)==null?void 0:gt.scrollingContainer)||{},pt=N.series,ut=N.visiblePlotOnly&&st||_,mt=N.inverted?E:z,xt=N.inverted?z:E,ft={x:mt,y:xt,isInsidePlot:!0,options:N};if(!N.ignoreX){let vt=pt&&(X&&!this.polar?pt.yAxis:pt.xAxis)||{pos:tt,len:1/0},bt=N.paneCoordinates?vt.pos+mt:tt+mt;bt>=Math.max(ot+tt,vt.pos)&&bt<=Math.min(ot+tt+ut.width,vt.pos+vt.len)||(ft.isInsidePlot=!1)}if(!N.ignoreY&&ft.isInsidePlot){let vt=!X&&N.axis&&!N.axis.isXAxis&&N.axis||pt&&(X?pt.xAxis:pt.yAxis)||{pos:J,len:1/0},bt=N.paneCoordinates?vt.pos+xt:J+xt;bt>=Math.max(ct+J,vt.pos)&&bt<=Math.min(ct+J+ut.height,vt.pos+vt.len)||(ft.isInsidePlot=!1)}return W(this,"afterIsInsidePlot",ft),ft.isInsidePlot}redraw(z){W(this,"beforeRedraw");let E=this.hasCartesianSeries?this.axes:this.colorAxis||[],N=this.series,X=this.pointer,_=this.legend,tt=this.userOptions.legend,J=this.renderer,st=J.isHidden(),ot=[],ct,pt,ut,mt=this.isDirtyBox,xt=this.isDirtyLegend,ft;for(J.rootFontSize=J.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),v(!!this.hasRendered&&z,this),st&&this.temporaryDisplay(),this.layOutTitles(!1),ut=N.length;ut--;)if(((ft=N[ut]).options.stacking||ft.options.centerInCategory)&&(pt=!0,ft.isDirty)){ct=!0;break}if(ct)for(ut=N.length;ut--;)(ft=N[ut]).options.stacking&&(ft.isDirty=!0);
3N.forEach(function(gt){gt.isDirty&&(gt.options.legendType==="point"?(typeof gt.updateTotals=="function"&&gt.updateTotals(),xt=!0):tt&&(tt.labelFormatter||tt.labelFormat)&&(xt=!0)),gt.isDirtyData&&W(gt,"updatedData")}),xt&&_&&_.options.enabled&&(_.render(),this.isDirtyLegend=!1),pt&&this.getStacks(),E.forEach(function(gt){gt.updateNames(),gt.setScale()}),this.getMargins(),E.forEach(function(gt){gt.isDirty&&(mt=!0)}),E.forEach(function(gt){let vt=gt.min+","+gt.max;gt.extKey!==vt&&(gt.extKey=vt,ot.push(function(){W(gt,"afterSetExtremes",L(gt.eventArgs,gt.getExtremes())),delete gt.eventArgs})),(mt||pt)&&gt.redraw()}),mt&&this.drawChartBox(),W(this,"predraw"),N.forEach(function(gt){(mt||gt.isDirty)&&gt.visible&&gt.redraw(),gt.isDirtyData=!1}),X&&X.reset(!0),J.draw(),W(this,"redraw"),W(this,"render"),st&&this.temporaryDisplay(!0),ot.forEach(function(gt){gt.call()})}get(z){let E=this.series;function N(_){return _.id===z||_.options&&_.options.id===z}let X=I(this.axes,N)||I(this.series,N);for(let _=0;!X&&_<E.length;_++)X=I(E[_].points||[],N);return X}getAxes(){let z=this.userOptions;for(let E of(W(this,"getAxes"),["xAxis","yAxis"]))for(let N of z[E]=H(z[E]||{}))new et(this,N,E);W(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((z,E)=>(E.getPointsCollection().forEach(N=>{c(N.selectedStaging,N.selected)&&z.push(N)}),z),[])}getSelectedSeries(){return this.series.filter(function(z){return z.selected})}setTitle(z,E,N){this.applyDescription("title",z),this.applyDescription("subtitle",E),this.applyDescription("caption",void 0),this.layOutTitles(N)}applyDescription(z,E){let N=this,X=this.options[z]=i(this.options[z],E),_=this[z];_&&E&&(this[z]=_=_.destroy()),X&&!_&&((_=this.renderer.text(X.text,0,0,X.useHTML).attr({align:X.align,class:"highcharts-"+z,zIndex:X.zIndex||4}).add()).update=function(tt,J){N.applyDescription(z,tt),N.layOutTitles(J)},this.styledMode||_.css(L(z==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},X.style)),this[z]=_)}layOutTitles(z=!0){let E=[0,0,0],N=this.renderer,X=this.spacingBox;["title","subtitle","caption"].forEach(function(tt){let J=this[tt],st=this.options[tt],ot=st.verticalAlign||"top",ct=tt==="title"?ot==="top"?-3:0:ot==="top"?E[0]+2:0;if(J){J.css({width:(st.width||X.width+(st.widthAdjust||0))+"px"});let pt=N.fontMetrics(J).b,ut=Math.round(J.getBBox(st.useHTML).height);J.align(L({y:ot==="bottom"?pt:ct+pt,height:ut},st),!1,"spacingBox"),st.floating||(ot==="top"?E[0]=Math.ceil(E[0]+ut):ot==="bottom"&&(E[2]=Math.ceil(E[2]+ut)))}},this),E[0]&&(this.options.title.verticalAlign||"top")==="top"&&(E[0]+=this.options.title.margin),E[2]&&this.options.caption.verticalAlign==="bottom"&&(E[2]+=this.options.caption.margin);let _=!this.titleOffset||this.titleOffset.join(",")!==E.join(",");this.titleOffset=E,W(this,"afterLayOutTitles"),!this.isDirtyBox&&_&&(this.isDirtyBox=this.isDirtyLegend=_,this.hasRendered&&z&&this.isDirtyBox&&this.redraw())}getContainerBox(){let z=[].map.call(this.renderTo.children,N=>{if(N!==this.container){let X=N.style.display;return N.style.display="none",[N,X]}}),E={width:Q(this.renderTo,"width",!0)||0,height:Q(this.renderTo,"height",!0)||0};return z.filter(Boolean).forEach(([N,X])=>{N.style.display=X}),E}getChartSize(){var tt;let z=this.options.chart,E=z.width,N=z.height,X=this.getContainerBox(),_=X.height>1&&!(!((tt=this.renderTo.parentElement)!=null&&tt.style.height)&&this.renderTo.style.height==="100%");this.chartWidth=Math.max(0,E||X.width||600),this.chartHeight=Math.max(0,w(N,this.chartWidth)||(_?X.height:400)),this.containerBox=X}temporaryDisplay(z){let E=this.renderTo,N;if(z)for(;E&&E.style;)E.hcOrigStyle&&(m(E,E.hcOrigStyle),delete E.hcOrigStyle),E.hcOrigDetached&&(k.body.removeChild(E),E.hcOrigDetached=!1),E=E.parentNode;else for(;E&&E.style&&(k.body.contains(E)||E.parentNode||(E.hcOrigDetached=!0,k.body.appendChild(E)),(Q(E,"display",!1)==="none"||E.hcOricDetached)&&(E.hcOrigStyle={display:E.style.display,height:E.style.height,overflow:E.style.overflow},N={display:"block",overflow:"hidden"},E!==this.renderTo&&(N.height=0),m(E,N),E.offsetWidth||E.style.setProperty("display","block","important")),(E=E.parentNode)!==k.body););}setClassName(z){this.container.className="highcharts-container "+(z||"")}getContainer(){var ut;let z=this.options,E=z.chart,N="data-highcharts-chart",X=Z(),_,tt=this.renderTo;tt||(this.renderTo=tt=E.renderTo),D(tt)&&(this.renderTo=tt=k.getElementById(tt)),tt||f(13,!0,this);let J=A(r(tt,N));n(J)&&O[J]&&O[J].hasRendered&&O[J].destroy(),r(tt,N,this.index),tt.innerHTML=j.emptyHTML,E.skipClone||tt.offsetWidth||this.temporaryDisplay(),this.getChartSize();
3let st=this.chartHeight,ot=this.chartWidth;m(tt,{overflow:"hidden"}),this.styledMode||(_=L({position:"relative",overflow:"hidden",width:ot+"px",height:st+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},E.style||{}));let ct=a("div",{id:X},_,tt);this.container=ct,this.getChartSize(),ot===this.chartWidth||(ot=this.chartWidth,this.styledMode||m(ct,{width:c((ut=E.style)==null?void 0:ut.width,ot+"px")})),this.containerBox=this.getContainerBox(),this._cursor=ct.style.cursor;let pt=E.renderer||!g?at.getRendererType(E.renderer):V;if(this.renderer=new pt(ct,ot,st,void 0,E.forExport,z.exporting&&z.exporting.allowHTML,this.styledMode),v(void 0,this),this.setClassName(E.className),this.styledMode)for(let mt in z.defs)this.renderer.definition(z.defs[mt]);else this.renderer.setStyle(E.style);this.renderer.chartIndex=this.index,W(this,"afterGetContainer")}getMargins(z){let{spacing:E,margin:N,titleOffset:X}=this;this.resetMargins(),X[0]&&!b(N[0])&&(this.plotTop=Math.max(this.plotTop,X[0]+E[0])),X[2]&&!b(N[2])&&(this.marginBottom=Math.max(this.marginBottom,X[2]+E[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(N,E),W(this,"getMargins"),z||this.getAxisMargins()}getAxisMargins(){let z=this,E=z.axisOffset=[0,0,0,0],N=z.colorAxis,X=z.margin,_=function(tt){tt.forEach(function(J){J.visible&&J.getOffset()})};z.hasCartesianSeries?_(z.axes):N&&N.length&&_(N),o.forEach(function(tt,J){b(X[J])||(z[tt]+=E[J])}),z.setChartSize()}getOptions(){return h(this.userOptions,S)}reflow(z){var _;let E=this,N=E.containerBox,X=E.getContainerBox();(_=E.pointer)==null||delete _.chartPosition,!E.isPrinting&&!E.isResizing&&N&&X.width&&((X.width!==N.width||X.height!==N.height)&&(B.clearTimeout(E.reflowTimeout),E.reflowTimeout=U(function(){E.container&&E.setSize(void 0,void 0,!1)},z?100:0)),E.containerBox=X)}setReflow(){let z=this,E=N=>{var X;(X=z.options)!=null&&X.chart.reflow&&z.hasLoaded&&z.reflow(N)};if(typeof ResizeObserver=="function")new ResizeObserver(E).observe(z.renderTo);else{let N=t(s,"resize",E);t(this,"destroy",N)}}setSize(z,E,N){let X=this,_=X.renderer;X.isResizing+=1,v(N,X);let tt=_.globalAnimation;X.oldChartHeight=X.chartHeight,X.oldChartWidth=X.chartWidth,z!==void 0&&(X.options.chart.width=z),E!==void 0&&(X.options.chart.height=E),X.getChartSize();let{chartWidth:J,chartHeight:st,scrollablePixelsX:ot=0,scrollablePixelsY:ct=0}=X;(X.isDirtyBox||J!==X.oldChartWidth||st!==X.oldChartHeight)&&(X.styledMode||(tt?d:m)(X.container,{width:`${J+ot}px`,height:`${st+ct}px`},tt),X.setChartSize(!0),_.setSize(J,st,tt),X.axes.forEach(function(pt){pt.isDirty=!0,pt.setScale()}
3),X.isDirtyLegend=!0,X.isDirtyBox=!0,X.layOutTitles(),X.getMargins(),X.redraw(tt),X.oldChartHeight=void 0,W(X,"resize"),setTimeout(()=>{X&&W(X,"endResize")},x(tt).duration)),X.isResizing-=1}setChartSize(z){let E,N,X,_,{chartHeight:tt,chartWidth:J,inverted:st,spacing:ot,renderer:ct}=this,pt=this.clipOffset,ut=Math[st?"floor":"round"];this.plotLeft=E=Math.round(this.plotLeft),this.plotTop=N=Math.round(this.plotTop),this.plotWidth=X=Math.max(0,Math.round(J-E-this.marginRight)),this.plotHeight=_=Math.max(0,Math.round(tt-N-this.marginBottom)),this.plotSizeX=st?_:X,this.plotSizeY=st?X:_,this.spacingBox=ct.spacingBox={x:ot[3],y:ot[0],width:J-ot[3]-ot[1],height:tt-ot[0]-ot[2]},this.plotBox=ct.plotBox={x:E,y:N,width:X,height:_},pt&&(this.clipBox={x:ut(pt[3]),y:ut(pt[0]),width:ut(this.plotSizeX-pt[1]-pt[3]),height:ut(this.plotSizeY-pt[0]-pt[2])}),z||(this.axes.forEach(function(mt){mt.setAxisSize(),mt.setAxisTranslation()}),ct.alignElements()),W(this,"afterSetChartSize",{skipAxes:z})}resetMargins(){W(this,"resetMargins");let z=this,E=z.options.chart,N=E.plotBorderWidth||0,X=N/2;["margin","spacing"].forEach(function(_){let tt=E[_],J=y(tt)?tt:[tt,tt,tt,tt];["Top","Right","Bottom","Left"].forEach(function(st,ot){z[_][ot]=c(E[_+st],J[ot])})}),o.forEach(function(_,tt){z[_]=c(z.margin[tt],z.spacing[tt])}),z.axisOffset=[0,0,0,0],z.clipOffset=[X,X,X,X],z.plotBorderWidth=N}drawChartBox(){let z=this.options.chart,E=this.renderer,N=this.chartWidth,X=this.chartHeight,_=this.styledMode,tt=this.plotBGImage,J=z.backgroundColor,st=z.plotBackgroun
3dColor,ot=z.plotBackgroundImage,ct=this.plotLeft,pt=this.plotTop,ut=this.plotWidth,mt=this.plotHeight,xt=this.plotBox,ft=this.clipRect,gt=this.clipBox,vt=this.chartBackground,bt=this.plotBackground,St=this.plotBorder,Ct,kt,wt,Mt="animate";vt||(this.chartBackground=vt=E.rect().addClass("highcharts-background").add(),Mt="attr"),_?Ct=kt=vt.strokeWidth():(kt=(Ct=z.borderWidth||0)+(z.shadow?8:0),wt={fill:J||"none"},(Ct||vt["stroke-width"])&&(wt.stroke=z.borderColor,wt["stroke-width"]=Ct),vt.attr(wt).shadow(z.shadow)),vt[Mt]({x:kt/2,y:kt/2,width:N-kt-Ct%2,height:X-kt-Ct%2,r:z.borderRadius}),Mt="animate",bt||(Mt="attr",this.plotBackground=bt=E.rect().addClass("highcharts-plot-background").add()),bt[Mt](xt),!_&&(bt.attr({fill:st||"none"}).shadow(z.plotShadow),ot&&(tt?(ot!==tt.attr("href")&&tt.attr("href",ot),tt.animate(xt)):this.plotBGImage=E.image(ot,ct,pt,ut,mt).add())),ft?ft.animate({width:gt.width,height:gt.height}):this.clipRect=E.clipRect(gt),Mt="animate",St||(Mt="attr",this.plotBorder=St=E.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),_||St.attr({stroke:z.plotBorderColor,"stroke-width":z.plotBorderWidth||0,fill:"none"}),St[Mt](St.crisp({x:ct,y:pt,width:ut,height:mt},-St.strokeWidth())),this.isDirtyBox=!1,W(this,"afterDrawChartBox")}propFromSeries(){let z,E,N,X=this,_=X.options.chart,tt=X.options.series;["inverted","angular","polar"].forEach(function(J){for(E=e[_.type],N=_[J]||E&&E.prototype[J],z=tt&&tt.length;!N&&z--;)(E=e[tt[z].type])&&E.prototype[J]&&(N=!0);X[J]=N})}linkSeries(z){let E=this,N=E.series;N.forEach(function(X){X.linkedSeries.length=0}),N.forEach(function(X){let{linkedTo:_}=X.options;if(D(_)){let tt;(tt=_===":previous"?E.series[X.index-1]:E.get(_))&&tt.linkedParent!==X&&(tt.linkedSeries.push(X),X.linkedParent=tt,tt.enabledDataSorting&&X.setDataSortingOptions(),X.visible=c(X.options.visible,tt.options.visible,X.visible))}}),W(this,"afterLinkSeries",{isUpdating:z})}renderSeries(){this.series.forEach(function(z){z.translate(),z.render()})}render(){var ct;let z=this.axes,E=this.colorAxis,N=this.renderer,X=this.options.chart.axisLayoutRuns||2,_=pt=>{pt.forEach(ut=>{ut.visible&&ut.render()})},tt=0,J=!0,st,ot=0;for(let pt of(this.setTitle(),W(this,"beforeMargins"),(ct=this.getStacks)==null||ct.call(this),this.getMargins(!0),this.setChartSize(),z)){let{options:ut}=pt,{labels:mt}=ut;if(this.hasCartesianSeries&&pt.horiz&&pt.visible&&mt.enabled&&pt.series.length&&pt.coll!=="colorAxis"&&!this.polar){tt=ut.tickLength,pt.createGroups();let xt=new P(pt,0,"",!0),ft=xt.createLabel("x",mt);if(xt.destroy(),ft&&c(mt.reserveSpace,!n(ut.crossing))&&(tt=ft.getBBox().height+mt.distance+Math.max(ut.offset||0,0)),tt){ft==null||ft.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-tt,0);(J||st||X>1)&&ot<X;){let pt=this.plotWidth,ut=this.plotHeight;for(let mt of z)ot===0?mt.setScale():(mt.horiz&&J||!mt.horiz&&st)&&mt.setTickInterval(!0);ot===0?this.getAxisMargins():this.getMargins(),J=pt/this.plotWidth>(ot?1:1.1),st=ut/this.plotHeight>(ot?1:1.05),ot++}this.drawChartBox(),this.hasCartesianSeries?_(z):E&&E.length&&_(E),this.seriesGroup||(this.seriesGroup=N.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(z){let E=this,N=i(!0,this.options.credits,z);N.enabled&&!this.credits&&(this.credits=this.renderer.text(N.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){N.href&&(s.location.href=N.href)}).attr({align:N.position.align,zIndex:8}),E.styledMode||this.credits.css(N.style),this.credits.add().align(N.position),this.credits.update=function(X){E.credits=E.credits.destroy(),E.addCredits(X)})}destroy(){let z,E=this,N=E.axes,X=E.series,_=E.container,tt=_&&_.parentNode;for(W(E,"destroy"),E.renderer.forExport?F(O,E):O[E.index]=void 0,nt.chartCount--,E.renderTo.removeAttribute("data-highcharts-chart"),R(E),z=N.length;z--;)N[z]=N[z].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),z=X.length;z--;)X[z]=X[z].destroy();
3["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(J){let st=E[J];st&&st.destroy&&(E[J]=st.destroy())}),_&&(_.innerHTML=j.emptyHTML,R(_),tt&&T(_)),p(E,function(J,st){delete E[st]})}firstRender(){var X;let z=this,E=z.options;z.getContainer(),z.resetMargins(),z.setChartSize(),z.propFromSeries(),z.getAxes();let N=l(E.series)?E.series:[];E.series=[],N.forEach(function(_){z.initSeries(_)}),z.linkSeries(),z.setSortedData(),W(z,"beforeRender"),z.render(),(X=z.pointer)==null||X.getChartPosition(),z.renderer.imgCount||z.hasLoaded||z.onload(),z.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(z){z&&this.index!==void 0&&z.apply(this,[this])},this),W(this,"load"),W(this,"render"),b(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:z,title:E}=this;!z||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(E&&E.element.textContent||"").replace(/</g,"&lt;")}),z.accessibility&&z.accessibility.enabled===!1||f('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(z,E,N){let X,_=this;return z&&(E=c(E,!0),W(_,"addSeries",{options:z},function(){X=_.initSeries(z),_.isDirtyLegend=!0,_.linkSeries(),X.enabledDataSorting&&X.setData(z.data,!1),W(_,"afterAddSeries",{series:X}),E&&_.redraw(N)})),X}addAxis(z,E,N,X){return this.createAxis(E?"xAxis":"yAxis",{axis:z,redraw:N,animation:X})}addColorAxis(z,E,N){return this.createAxis("colorAxis",{axis:z,redraw:E,animation:N})}createAxis(z,E){let N=new et(this,E.axis,z);return c(E.redraw,!0)&&this.redraw(E.animation),N}showLoading(z){let E=this,N=E.options,X=N.loading,_=function(){tt&&m(tt,{left:E.plotLeft+"px",top:E.plotTop+"px",width:E.plotWidth+"px",height:E.plotHeight+"px"})},tt=E.loadingDiv,J=E.loadingSpan;tt||(E.loadingDiv=tt=a("div",{className:"highcharts-loading highcharts-loading-hidden"},null,E.container)),J||(E.loadingSpan=J=a("span",{className:"highcharts-loading-inner"},null,tt),t(E,"redraw",_)),tt.className="highcharts-loading",j.setElementHTML(J,c(z,N.lang.loading,"")),E.styledMode||(m(tt,L(X.style,{zIndex:10})),m(J,X.labelStyle),E.loadingShown||(m(tt,{opacity:0,display:""}),d(tt,{opacity:X.style.opacity||.5},{duration:X.showDuration||0}))),E.loadingShown=!0,_()}hideLoading(){let z=this.options,E=this.loadingDiv;E&&(E.className="highcharts-loading highcharts-loading-hidden",this.styledMode||d(E,{opacity:0},{duration:z.loading.hideDuration||100,complete:function(){m(E,{display:"none"})}})),this.loadingShown=!1}update(z,E,N,X){let _,tt,J,st=this,ot={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},ct=z.isResponsiveOptions,pt=[];W(st,"update",{options:z}),ct||st.setResponsive(!1,!0),z=h(z,st.options),st.userOptions=i(st.userOptions,z);let ut=z.chart;ut&&(i(!0,st.options.chart,ut),this.setZoomOptions(),"className"in ut&&st.setClassName(ut.className),("inverted"in ut||"polar"in ut||"type"in ut)&&(st.propFromSeries(),_=!0),"alignTicks"in ut&&(_=!0),"events"in ut&&G(this,ut),p(ut,function(ft,gt){st.propsRequireUpdateSeries.indexOf("chart."+gt)!==-1&&(tt=!0),st.propsRequireDirtyBox.indexOf(gt)!==-1&&(st.isDirtyBox=!0),st.propsRequireReflow.indexOf(gt)===-1||(st.isDirtyBox=!0,ct||(J=!0))}),!st.styledMode&&ut.style&&st.renderer.setStyle(st.options.chart.style||{})),!st.styledMode&&z.colors&&(this.options.colors=z.colors),z.time&&(this.time===u&&(this.time=new C(z.time)),i(!0,st.options.time,z.time)),p(z,function(ft,gt){st[gt]&&typeof st[gt].update=="function"?st[gt].update(ft,!1):typeof st[ot[gt]]=="function"?st[ot[gt]](ft):gt!=="colors"&&st.collectionsWithUpdate.indexOf(gt)===-1&&i(!0,st.options[gt],z[gt]),gt!=="chart"&&st.propsRequireUpdateSeries.indexOf(gt)!==-1&&(tt=!0)}),this.collectionsWithUpdate.forEach(function(ft){z[ft]&&(H(z[ft]).forEac
3h(function(gt,vt){let bt,St=b(gt.id);St&&(bt=st.get(gt.id)),!bt&&st[ft]&&(bt=st[ft][c(gt.index,vt)])&&(St&&b(bt.options.id)||bt.options.isInternal)&&(bt=void 0),bt&&bt.coll===ft&&(bt.update(gt,!1),N&&(bt.touched=!0)),!bt&&N&&st.collectionsWithInit[ft]&&(st.collectionsWithInit[ft][0].apply(st,[gt].concat(st.collectionsWithInit[ft][1]||[]).concat([!1])).touched=!0)}),N&&st[ft].forEach(function(gt){gt.touched||gt.options.isInternal?delete gt.touched:pt.push(gt)}))}),pt.forEach(function(ft){ft.chart&&ft.remove&&ft.remove(!1)}),_&&st.axes.forEach(function(ft){ft.update({},!1)}),tt&&st.getSeriesOrderByLinks().forEach(function(ft){ft.chart&&ft.update({},!1)},this);let mt=ut&&ut.width,xt=ut&&(D(ut.height)?w(ut.height,mt||st.chartWidth):ut.height);J||n(mt)&&mt!==st.chartWidth||n(xt)&&xt!==st.chartHeight?st.setSize(mt,xt,X):c(E,!0)&&st.redraw(X),W(st,"afterUpdate",{options:z,redraw:E,animation:X})}setSubtitle(z,E){this.applyDescription("subtitle",z),this.layOutTitles(E)}setCaption(z,E){this.applyDescription("caption",z),this.layOutTitles(E)}showResetZoom(){let z=this,E=S.lang,N=z.zooming.resetButton,X=N.theme,_=N.relativeTo==="chart"||N.relativeTo==="spacingBox"?null:"plotBox";function tt(){z.zoomOut()}W(this,"beforeShowResetZoom",null,function(){z.resetZoomButton=z.renderer.button(E.resetZoom,null,null,tt,X).attr({align:N.position.align,title:E.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(N.position,!1,_)}),W(this,"afterShowResetZoom")}zoomOut(){W(this,"selection",{resetSelection:!0}
3,()=>this.transform({reset:!0,trigger:"zoom"}))}pan(z,E){let N=this,X=typeof E=="object"?E:{enabled:E,type:"x"},_=X.type,tt=_&&N[{x:"xAxis",xy:"axes",y:"yAxis"}[_]].filter(st=>st.options.panningEnabled&&!st.options.isInternal),J=N.options.chart;J!=null&&J.panning&&(J.panning=X),W(this,"pan",{originalEvent:z},()=>{N.transform({axes:tt,event:z,to:{x:z.chartX-(N.mouseDownX||0),y:z.chartY-(N.mouseDownY||0)},trigger:"pan"}),m(N.container,{cursor:"move"})})}transform(z){var mt;let{axes:E=this.axes,event:N,from:X={},reset:_,selection:tt,to:J={},trigger:st}=z,{inverted:ot}=this,ct=!1,pt,ut;for(let xt of((mt=this.hoverPoints)==null||mt.forEach(ft=>ft.setState()),E)){let{horiz:ft,len:gt,minPointOffset:vt=0,options:bt,reversed:St}=xt,Ct=ft?"width":"height",kt=ft?"x":"y",wt=c(J[Ct],xt.len),Mt=c(X[Ct],xt.len),Tt=10>Math.abs(wt)?1:wt/Mt,Dt=(X[kt]||0)+Mt/2-xt.pos,Ot=Dt-((J[kt]??xt.pos)+wt/2-xt.pos)/Tt,jt=St&&!ot||!St&&ot?-1:1;if(!_&&(Dt<0||Dt>xt.len))continue;let At=xt.toValue(Ot,!0)+(tt||xt.isOrdinal?0:vt*jt),Lt=xt.toValue(Ot+gt/Tt,!0)-(tt||xt.isOrdinal?0:vt*jt||0),Et=xt.allExtremes;if(At>Lt&&([At,Lt]=[Lt,At]),Tt===1&&!_&&xt.coll==="yAxis"&&!Et){for(let $t of xt.series){let zt=$t.getExtremes($t.getProcessedData(!0).yData,!0);Et??(Et={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),n(zt.dataMin)&&n(zt.dataMax)&&(Et.dataMin=Math.min(zt.dataMin,Et.dataMin),Et.dataMax=Math.max(zt.dataMax,Et.dataMax))}xt.allExtremes=Et}let{dataMin:Jt,dataMax:Qt,min:Ht,max:Xt}=L(xt.getExtremes(),Et||{}),Ft=Jt??bt.min,Yt=Qt??bt.max,Nt=Lt-At,Ut=xt.categories?0:Math.min(Nt,Yt-Ft),Wt=Ft-Ut*(b(bt.min)?0:bt.minPadding),Gt=Yt+Ut*(b(bt.max)?0:bt.maxPadding),Vt=xt.allowZoomOutside||Tt===1||st!=="zoom"&&Tt>1,Bt=Math.min(bt.min??Wt,Wt,Vt?Ht:Wt),Rt=Math.max(bt.max??Gt,Gt,Vt?Xt:Gt);(!xt.isOrdinal||xt.options.overscroll||Tt!==1||_)&&(At<Bt&&(At=Bt,Tt>=1&&(Lt=At+Nt)),Lt>Rt&&(Lt=Rt,Tt>=1&&(At=Lt-Nt)),(_||xt.series.length&&(At!==Ht||Lt!==Xt)&&At>=Bt&&Lt<=Rt)&&(tt?tt[xt.coll].push({axis:xt,min:At,max:Lt}):(xt.isPanning=st!=="zoom",xt.isPanning&&(ut=!0),xt.setExtremes(_?void 0:At,_?void 0:Lt,!1,!1,{move:Ot,trigger:st,scale:Tt}),!_&&(At>Bt||Lt<Rt)&&st!=="mousewheel"&&(pt=!0)),ct=!0),N&&(this[ft?"mouseDownX":"mouseDownY"]=N[ft?"chartX":"chartY"]))}return ct&&(tt?W(this,"selection",tt,()=>{delete z.selection,z.trigger="zoom",this.transform(z)}):(!pt||ut||this.resetZoomButton?!pt&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(st==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),ct}}return L(rt.prototype,{callbacks:[],collectionsWithInit:{xAxis:[rt.prototype.addAxis,[!0]],yAxis:[rt.prototype.addAxis,[!1]],series:[rt.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroun
3dColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),rt}),yt(Y,"Extensions/ScrollablePlotArea.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Globals.js"],Y["Core/Renderer/RendererRegistry.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht){let{stop:dt}=K,{composed:nt}=et,{addEvent:at,createElement:q,css:$,defined:V,merge:C,pushUnique:B}=ht;function j(){let x=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!x&&(this.scrollablePlotArea=x=new d(this)),x==null||x.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class d{static compose(v,S,u){B(nt,this.compose)&&(at(v,"afterInit",P),at(S,"afterSetChartSize",M=>this.afterSetSize(M.target,M)),at(S,"render",j),at(u,"show",P))}static afterSetSize(v,S){let u,M,G,{minWidth:O,minHeight:k}=v.options.chart.scrollablePlotArea||{},{clipBox:o,plotBox:g,inverted:s,renderer:e}=v;if(!e.forExport&&(O?(v.scrollablePixelsX=u=Math.max(0,O-v.chartWidth),u&&(v.scrollablePlotBox=C(v.plotBox),g.width=v.plotWidth+=u,o[s?"height":"width"]+=u,G=!0)):k&&(v.scrollablePixelsY=M=Math.max(0,k-v.chartHeight),V(M)&&(v.scrollablePlotBox=C(v.plotBox),g.height=v.plotHeight+=M,o[s?"width":"height"]+=M,G=!1)),V(G)&&!S.skipAxes))for(let t of v.axes)t.horiz===G&&(t.setAxisSize(),t.setAxisTranslation())}constructor(v){var r;let S,u=v.options.chart,M=lt.getRendererType(),G=u.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),k={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};v.scrollablePixelsX&&(k.overflowX="auto"),v.scrollablePixelsY&&(k.overflowY="auto"),this.chart=v;let o=this.parentDiv=q("div",{className:"highcharts-scrolling-parent"},{position:"relative"},v.renderTo),g=this.scrollingContainer=q("div",{className:"highcharts-scrolling"},k,o),s=this.innerContainer=q("div",{className:"highcharts-inner-container"},void 0,g),e=this.fixedDiv=q("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(((r=u.style)==null?void 0:r.zIndex)||0)+2,top:0},void 0,!0),t=this.fixedRenderer=new M(e,v.chartWidth,v.chartHeight,u.style);this.mask=t.path().attr({fill:u.backgroundColor||"#fff","fill-opacity":G.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(e,g),$(v.renderTo,{overflow:"visible"}),at(v,"afterShowResetZoom",O),at(v,"afterApplyDrilldown",O),at(v,"afterLayOutTitles",O),at(g,"scroll",()=>{let{pointer:a,hoverPoint:m}=v;a&&(delete a.chartPosition,m&&(S=m),a.runPointActions(void 0,S,!0))}),s.appendChild(v.container)}applyFixed(){var n;let{chart:v,fixedRenderer:S,isDirty:u,scrollingContainer:M}=this,{axisOffset:G,chartWidth:O,chartHeight:k,container:o,plotHeight:g,plotLeft:s,plotTop:e,plotWidth:t,scrollablePixelsX:r=0,scrollablePixelsY:a=0}=v,{scrollPositionX:m=0,scrollPositionY:b=0}=v.options.chart.scrollablePlotArea||{},h=O+r,T=k+a;S.setSize(O,k),(u??!0)&&(this.isDirty=!1,this.moveFixedElements()),dt(v.container),$(o,{width:`${h}px`,height:`${T}px`}),v.renderer.boxWrapper.attr({width:h,height:T,viewBox:[0,0,h,T].join(" ")}),(n=v.chartBackground)==null||n.attr({width:h,height:T}),$(M,{width:`${O}px`,height:`${k}px`}),V(u)||(M.scrollLeft=r*m,M.scrollTop=a*b);let F=e-G[0]-1,f=s-G[3]-1,L=e+g+G[2]+1,I=s+t+G[1]+1,W=s+t-r,Q=e+g-a,l=[["M",0,0]];r?l=[["M",0,F],["L",s-1,F],["L",s-1,L],["L",0,L],["Z"],["M",W,F],["L",O,F],["L",O,L],["L",W,L],["Z"]]:a&&(l=[["M",f,0],["L",f,e-1],["L",I,e-1],["L",I,0],["Z"],["M",f,Q],["L",f,k],["L",I,k],["L",I,Q],["Z"]]),v.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:l})}moveFixedElements(){let v,{container:S,inverted:u,scrollablePixelsX:M,scrollablePixelsY:G}=this.chart,O=this.fixedRenderer,k=d.fixedSelectors;for(let o of(M&&!u?v=".highcharts-yaxis":M&&u||G&&!u?v=".highcharts-xaxis":G&&u&&(v=".highcharts-yaxis"),v&&k.push(`${v}:not(.highcharts-radial-axis)`,`${v}-labels:not(.highcharts-radial-axis-labels)`),k))[].forEach.call(S.querySelectorAll(
3o),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return d.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],d}),yt(Y,"Core/Axis/Stacking/StackItem.js",[Y["Core/Templating.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(K,et,lt){let{format:ht}=K,{series:dt}=et,{destroyObjectProperties:nt,fireEvent:at,isNumber:q,pick:$}=lt;return class{constructor(V,C,B,j,P){let d=V.chart.inverted,x=V.reversed;this.axis=V;let v=this.isNegative=!!B!=!!x;this.options=C=C||{},this.x=j,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:C.align||(d?v?"left":"right":"center"),verticalAlign:C.verticalAlign||(d?"middle":v?"bottom":"top"),y:C.y,x:C.x},this.textAlign=C.textAlign||(d?v?"right":"left":"center")}destroy(){nt(this,this.axis)}render(V){let C=this.axis.chart,B=this.options,j=B.format,P=j?ht(j,this,C):B.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=C.renderer.label(P,null,void 0,B.shape,void 0,void 0,B.useHTML,!1,"stack-labels");let d={r:B.borderRadius||0,text:P,padding:$(B.padding,5),visibility:"hidden"};C.styledMode||(d.fill=B.backgroundColor,d.stroke=B.borderColor,d["stroke-width"]=B.borderWidth,this.label.css(B.style||{})),this.label.attr(d),this.label.added||this.label.add(V)}this.label.labelrank=C.plotSizeY,at(this,"afterRender")}setOffset(V,C,B,j,P,d){let{alignOptions:x,axis:v,label:S,options:u,textAlign:M}=this,G=v.chart,O=this.getStackBox({xOffset:V,width:C,boxBottom:B,boxTop:j,defaultX:P,xAxis:d}),{verticalAlign:k}=x;if(S&&O){let o=S.getBBox(void 0,0),g=S.padding,s=$(u.overflow,"justify")==="justify",e;x.x=u.x||0,x.y=u.y||0;let{x:t,y:r}=this.adjustStackPosition({labelBox:o,verticalAlign:k,textAlign:M});O.x-=t,O.y-=r,S.align(x,!1,O),(e=G.isInsidePlot(S.alignAttr.x+x.x+t,S.alignAttr.y+x.y+r))||(s=!1),s&&dt.prototype.justifyDataLabel.call(v,S,x,S.alignAttr,o,O),S.attr({x:S.alignAttr.x,y:S.alignAttr.y,rotation:u.rotation,rotationOriginX:o.width*{left:0,center:.5,right:1}[u.textAlign||"center"],rotationOriginY:o.height/2}),$(!s&&u.crop,!0)&&(e=q(S.x)&&q(S.y)&&G.isInsidePlot(S.x-g+(S.width||0),S.y)&&G.isInsidePlot(S.x+g,S.y)),S[e?"show":"hide"]()}at(this,"afterSetOffset",{xOffset:V,width:C})}adjustStackPosition({labelBox:V,verticalAlign:C,textAlign:B}){let j={bottom:0,middle:1,top:2,right:1,center:0,left:-1},P=j[C],d=j[B];return{x:V.width/2+V.width/2*d,y:V.height/2*P}}getStackBox(V){let C=this.axis,B=C.chart,{boxTop:j,defaultX:P,xOffset:d,width:x,boxBottom:v}=V,S=C.stacking.usePercentage?100:$(j,this.total,0),u=C.toPixels(S),M=V.xAxis||B.xAxis[0],G=$(P,M.translate(this.x))+d,O=Math.abs(u-C.toPixels(v||q(C.min)&&C.logarithmic&&C.logarithmic.lin2log(C.min)||0)),k=B.inverted,o=this.isNegative;return k?{x:(o?u:u-O)-B.plotLeft,y:M.height-G-x+M.top-B.plotTop,width:O,height:x}:{x:G+M.transB-B.plotLeft,y:(o?u-O:u)-B.plotTop,width:x,height:O}}}}),yt(Y,"Core/Axis/Stacking/StackingAxis.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Axis/Axis.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Axis/Stacking/StackItem.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht,dt){var nt;let{getDeferredAnimation:at}=K,{series:{prototype:q}}=lt,{addEvent:$,correctFloat:V,defined:C,destroyObjectProperties:B,fireEvent:j,isArray:P,isNumber:d,objectEach:x,pick:v}=dt;function S(){let e=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let r=t.xAxis&&t.xAxis.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,v(t.options.stack,""),e?r.top:r.left,e?r.height:r.width].join(","))})}function u(){var t;let e=this.stacking;if(e){let r=e.stacks;x(r,(a,m)=>{B(a),delete r[m]}),(t=e.stackTotalGroup)==null||t.destroy()}}function M(){this.stacking||(this.stacking=new s(this))}function G(e,t,r,a){return!C(e)||e.x!==t||a&&e.stackKey!==a?e={x:t,index:0,key:a,stackKey:a}:e.index++,e.key=[r,t,e.index].join(","),e}function O(){let e,t=this,r=t.yAxis,a=t.stackKey||"",m=r.stacking.stacks,b=t.processedXData,h=t.options.stacking,T=t[h+"Stacker"];
3T&&[a,"-"+a].forEach(F=>{var Q;let f=b.length,L,I,W;for(;f--;)L=b[f],e=t.getStackIndicator(e,L,t.index,F),I=(Q=m[F])==null?void 0:Q[L],(W=I==null?void 0:I.points[e.key||""])&&T.call(t,W,I,f)})}function k(e,t,r){let a=t.total?100/t.total:0;e[0]=V(e[0]*a),e[1]=V(e[1]*a),this.stackedYData[r]=e[1]}function o(e){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?q.setStackedPoints.call(this,e,"group"):e.stacking.resetStacks())}function g(e,t){var Z,rt;let r,a,m,b,h,T,F,f,L,I=t||this.options.stacking;if(!I||!this.reserveSpace()||({group:"xAxis"}[I]||"yAxis")!==e.coll)return;let W=this.processedXData,Q=this.processedYData,l=[],n=Q.length,y=this.options,D=y.threshold||0,i=y.startFromThreshold?D:0,p=y.stack,c=t?`${this.type},${I}`:this.stackKey||"",A="-"+c,w=this.negStacks,R=e.stacking,H=R.stacks,U=R.oldStacks;for(R.stacksTouched+=1,F=0;F<n;F++){f=W[F],L=Q[F],T=(r=this.getStackIndicator(r,f,this.index)).key||"",H[h=(a=w&&L<(i?0:D))?A:c]||(H[h]={}),H[h][f]||((Z=U[h])!=null&&Z[f]?(H[h][f]=U[h][f],H[h][f].total=null):H[h][f]=new ht(e,e.options.stackLabels,!!a,f,p)),m=H[h][f],L!==null?(m.points[T]=m.points[this.index]=[v(m.cumulative,i)],C(m.cumulative)||(m.base=T),m.touched=R.stacksTouched,r.index>0&&this.singleStacks===!1&&(m.points[T][0]=m.points[this.index+","+f+",0"][0])):(delete m.points[T],delete m.points[this.index]);let it=m.total||0;I==="percent"?(b=a?c:A,it=w&&((rt=H[b])!=null&&rt[f])?(b=H[b][f]).total=Math.max(b.total||0,it)+Math.abs(L)||0:V(it+(Math.abs(L)||0))):I==="group"?(P(L)&&(L=L[0]),L!==null&&it++):it=V(it+(L||0)),I==="group"?m.cumulative=(it||1)-1:m.cumulative=V(v(m.cumulative,i)+(L||0)),m.total=it,L!==null&&(m.points[T].push(m.cumulative),l[F]=m.cumulative,m.hasValidPoints=!0)}I==="percent"&&(R.usePercentage=!0),I!=="group"&&(this.stackedYData=l),R.oldStacks={}}class s{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,r,a=this.axis,m=a.series,b=a.coll==="xAxis",h=a.options.reversedStacks,T=m.length;for(this.resetStacks(),this.usePercentage=!1,r=T;r--;)t=m[h?r:T-r-1],b&&t.setGroupedPoints(a),t.setStackedPoints(a);if(!b)for(r=0;r<T;r++)m[r].modifyStacks();j(a,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,x(this.stacks,t=>{x(t,r=>{r.cumulative=r.total})}))}resetStacks(){x(this.stacks,t=>{x(t,(r,a)=>{d(r.touched)&&r.touched<this.stacksTouched?(r.destroy(),delete t[a]):(r.total=null,r.cumulative=null)})})}renderStackTotals(){var T;let t=this.axis,r=t.chart,a=r.renderer,m=this.stacks,b=at(r,((T=t.options.stackLabels)==null?void 0:T.animation)||!1),h=this.stackTotalGroup=this.stackTotalGroup||a.g("stack-labels").attr({zIndex:6,opacity:0}).add();h.translate(r.plotLeft,r.plotTop),x(m,F=>{x(F,f=>{f.render(h)})}),h.animate({opacity:1},b)}}return(nt||(nt={})).compose=function(e,t,r){let a=t.prototype,m=r.prototype;a.getStacks||($(e,"init",M),$(e,"destroy",u),a.getStacks=S,m.getStackIndicator=G,m.modifyStacks=O,m.percentStacker=k,m.setGroupedPoints=o,m.setStackedPoints=g)},nt}),yt(Y,"Series/Line/LineSeries.js",[Y["Core/Series/Series.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(K,et,lt){let{defined:ht,merge:dt,isObject:nt}=lt;class at extends K{drawGraph(){let $=this.options,V=(this.gappedPath||this.getGraphPath).call(this),C=this.chart.styledMode;[this,...this.zones].forEach((B,j)=>{let P,d=B.graph,x=d?"animate":"attr",v=B.dashStyle||$.dashStyle;d?(d.endX=this.preventGraphAnimation?null:V.xMap,d.animate({d:V})):V.length&&(B.graph=d=this.chart.renderer.path(V).addClass("highcharts-graph"+(j?` highcharts-zone-graph-${j-1} `:" ")+(j&&B.className||"")).attr({zIndex:1}).add(this.group)),d&&!C&&(P={stroke:!j&&$.lineColor||B.color||this.color||"#cccccc","stroke-width":$.lineWidth||0,fill:this.fillGraph&&this.color||"none"},v?P.dashstyle=v:$.linecap!=="square"&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),d[x](P).shadow(j<2&&$.shadow&&dt({filterUnits:"userSpaceOnUse"},nt($.shadow)?$.shadow:{}))),d&&(d.startX=V.xMap,d.isArea=V.isArea)})}getGraphPath($,V,C){let B=this,j=B.options,P=[],d=[],x,v=j.step,S=($=$||B.points).reversed;return S&&$.reverse(),(v={right:1,center:2}[v]||v&&3)&&S&&(v=4-v),($=this.getValidPoints($,!1,!(j.connectNulls&&!V&&!C))).forEac
3h(function(u,M){let G,O=u.plotX,k=u.plotY,o=$[M-1],g=u.isNull||typeof k!="number";(u.leftCliff||o&&o.rightCliff)&&!C&&(x=!0),g&&!ht(V)&&M>0?x=!j.connectNulls:g&&!V?x=!0:(M===0||x?G=[["M",u.plotX,u.plotY]]:B.getPointSpline?G=[B.getPointSpline($,u,M)]:v?(G=v===1?[["L",o.plotX,k]]:v===2?[["L",(o.plotX+O)/2,o.plotY],["L",(o.plotX+O)/2,k]]:[["L",O,o.plotY]]).push(["L",O,k]):G=[["L",O,k]],d.push(u.x),v&&(d.push(u.x),v===2&&d.push(u.x)),P.push.apply(P,G),x=!1)}),P.xMap=d,B.graphPath=P,P}}return at.defaultOptions=dt(K.defaultOptions,{legendSymbol:"lineMarker"}),et.registerSeriesType("line",at),at}),yt(Y,"Series/Area/AreaSeriesDefaults.js",[],function(){return{threshold:0,legendSymbol:"areaMarker"}}),yt(Y,"Series/Area/AreaSeries.js",[Y["Series/Area/AreaSeriesDefaults.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(K,et,lt){let{seriesTypes:{line:ht}}=et,{extend:dt,merge:nt,objectEach:at,pick:q}=lt;class $ extends ht{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:C,options:B}=this;[this,...this.zones].forEach((j,P)=>{let d={},x=j.fillColor||B.fillColor,v=j.area,S=v?"animate":"attr";v?(v.endX=this.preventGraphAnimation?null:C.xMap,v.animate({d:C})):(d.zIndex=0,(v=j.area=this.chart.renderer.path(C).addClass("highcharts-area"+(P?` highcharts-zone-area-${P-1} `:" ")+(P&&j.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(d.fill=x||j.color||this.color,d["fill-opacity"]=x?1:B.fillOpacity??.75,v.css({pointerEvents:this.stickyTracking?"none":"auto"})),v[S](d),v.startX=C.xMap,v.shiftUnit=B.step?2:1})}getGraphPath(C){let B,j,P,d=ht.prototype.getGraphPath,x=this.options,v=x.stacking,S=this.yAxis,u=[],M=[],G=this.index,O=S.stacking.stacks[this.stackKey],k=x.threshold,o=Math.round(S.getThreshold(x.threshold)),g=q(x.connectNulls,v==="percent"),s=function(b,h,T){let F=C[b],f=v&&O[F.x].points[G],L=F[T+"Null"]||0,I=F[T+"Cliff"]||0,W,Q,l=!0;I||L?(W=(L?f[0]:f[1])+I,Q=f[0]+I,l=!!L):!v&&C[h]&&C[h].isNull&&(W=Q=k),W!==void 0&&(M.push({plotX:B,plotY:W===null?o:S.getThreshold(W),isNull:l,isCliff:!0}),u.push({plotX:B,plotY:Q===null?o:S.getThreshold(Q),doCurve:!1}))};C=C||this.points,v&&(C=this.getStackPoints(C));for(let b=0,h=C.length;b<h;++b)v||(C[b].leftCliff=C[b].rightCliff=C[b].leftNull=C[b].rightNull=void 0),j=C[b].isNull,B=q(C[b].rectPlotX,C[b].plotX),P=v?q(C[b].yBottom,o):o,j&&!g||(g||s(b,b-1,"left"),j&&!v&&g||(M.push(C[b]),u.push({x:b,plotX:B,plotY:P})),g||s(b,b+1,"right"));let e=d.call(this,M,!0,!0);u.reversed=!0;let t=d.call(this,u,!0,!0),r=t[0];r&&r[0]==="M"&&(t[0]=["L",r[1],r[2]]);let a=e.concat(t);a.length&&a.push(["Z"]);let m=d.call(this,M,!1,g);return this.chart.series.length>1&&v&&M.some(b=>b.isCliff)&&(a.hasStackedCliffs=m.hasStackedCliffs=!0),a.xMap=e.xMap,this.areaPath=a,m}getStackPoints(C){let B=this,j=[],P=[],d=this.xAxis,x=this.yAxis,v=x.stacking.stacks[this.stackKey],S={},u=x.series,M=u.length,G=x.options.reversedStacks?1:-1,O=u.indexOf(B);if(C=C||this.points,this.options.stacking){for(let o=0;o<C.length;o++)C[o].leftNull=C[o].rightNull=void 0,S[C[o].x]=C[o];at(v,function(o,g){o.total!==null&&P.push(g)}),P.sort(function(o,g){return o-g});let k=u.map(o=>o.visible);P.forEach(function(o,g){let s=0,e,t;if(S[o]&&!S[o].isNull)j.push(S[o]),[-1,1].forEach(function(r){let a=r===1?"rightNull":"leftNull",m=v[P[g+r]],b=0;if(m){let h=O;for(;h>=0&&h<M;){let T=u[h].index;!(e=m.points[T])&&(T===B.index?S[o][a]=!0:k[h]&&(t=v[o].points[T])&&(b-=t[1]-t[0])),h+=G}}S[o][r===1?"rightCliff":"leftCliff"]=b});else{let r=O;for(;r>=0&&r<M;){let a=u[r].index;if(e=v[o].points[a]){s=e[1];break}r+=G}s=q(s,0),s=x.translate(s,0,1,0,1),j.push({isNull:!0,plotX:d.translate(o,0,0,0,1),x:o,plotY:s,yBottom:s})}})}return j}}return $.defaultOptions=nt(ht.defaultOptions,K),dt($.prototype,{singleStacks:!1}),et.registerSeriesType("area",$),$}),yt(Y,"Series/Spline/SplineSeries.js",[Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(K,et){let{line:lt}=K.seriesTypes,{merge:ht,pick:dt}=et;class nt extends lt{getPointSpline(q,$,V){let C,B,j,P,d=$.plotX||0,x=$.plotY||0,v=q[V-1],S=q[V+1];function u(G){return G&&!G.isNull&&G.doCurve!==!1&&!$.isCliff}if(u(v)&&u(S)){let G=v.plotX||0,O=v.plotY||0,k=S.plotX||0,o=S.plotY||0,g=0;C=(1.5*d+G)/2.5,B=(1.5*x+O)/2.5,j=(1.5*d+k)/2.5,P=(1.5*x+o)/2.5,j!==C&&(g=(P-B)*(j-d)/(j-C)+x-P),B+=g,P+=g,B>O&&B>x?(B=Math.max(O,x),P=2*x-B):B<O&&B<x&&(B=Math.min(O,x),P=2*x-B),P>o&&P>x?(P=Math.max(o,x),B=2*x-P):P<o&&P<x&&(P=Math.min(o,x),B=2*x-P),$.rightContX=j,$.rightContY=P,$.controlPoints={low:[C,B],high:[j,P]}}let M=["C",dt(v.rightContX,v.plotX,0),dt(v.rightContY,v.plotY,0),dt(C,d,0),dt(B,x,0),d,x];return v.rightContX=v.rightContY=void 0,M}}return nt.defaultOptions=ht(lt.defaultOptions),K.registerSeriesType("spline",nt),nt}),yt(Y,"Series/AreaSpline/AreaSplineSeries.js",[Y["Series/Spline/SplineSeries.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(K,et,lt){let{area:ht,area:{prototype:dt}}=et.seriesTypes,{extend:nt,merge:at}=lt;class q extends K{}return q.defaultOptions=at(K.defaultOptions,ht.defaultOptions),nt(q.prototype,{getGraphPath:dt.getGraphPath,getStackPoints:dt.getStackPoints,drawGraph:dt.drawGraph}),et.registerSeriesType("areaspline",q),q}),yt(Y,"Series/Column/ColumnSeriesDefaults.js",[],function(){return{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}}
3),yt(Y,"Series/Column/ColumnSeries.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Color/Color.js"],Y["Series/Column/ColumnSeriesDefaults.js"],Y["Core/Globals.js"],Y["Core/Series/Series.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht,dt,nt,at){let{animObject:q}=K,{parse:$}=et,{noop:V}=ht,{clamp:C,crisp:B,defined:j,extend:P,fireEvent:d,isArray:x,isNumber:v,merge:S,pick:u,objectEach:M}=at;class G extends dt{animate(k){let o,g,s=this,e=this.yAxis,t=e.pos,r=e.reversed,a=s.options,{clipOffset:m,inverted:b}=this.chart,h={},T=b?"translateX":"translateY";k&&m?(h.scaleY=.001,g=C(e.toPixels(a.threshold),t,t+e.len),b?(g+=r?-Math.floor(m[0]):Math.ceil(m[2]),h.translateX=g-e.len):(g+=r?Math.ceil(m[0]):-Math.floor(m[2]),h.translateY=g),s.clipBox&&s.setClip(),s.group.attr(h)):(o=Number(s.group.attr(T)),s.group.animate({scaleY:1},P(q(s.options.animation),{step:function(F,f){s.group&&(h[T]=o+f.pos*(t-o),s.group.attr(h))}})))}init(k,o){super.init.apply(this,arguments);let g=this;(k=g.chart).hasRendered&&k.series.forEach(function(s){s.type===g.type&&(s.isDirty=!0)})}getColumnMetrics(){var L,I;let k=this,o=k.options,g=k.xAxis,s=k.yAxis,e=g.options.reversedStacks,t=g.reversed&&!e||!g.reversed&&e,r={},a,m=0;o.grouping===!1?m=1:k.chart.series.forEach(function(W){let Q,l=W.yAxis,n=W.options;W.type===k.type&&W.reserveSpace()&&s.len===l.len&&s.pos===l.pos&&(n.stacking&&n.stacking!=="group"?(r[a=W.stackKey]===void 0&&(r[a]=m++),Q=r[a]):n.grouping!==!1&&(Q=m++),W.columnIndex=Q)});let b=Math.min(Math.abs(g.transA)*(!((L=g.brokenAxis)!=null&&L.hasBreaks)&&((I=g.ordinal)==null?void 0:I.slope)||o.pointRange||g.closestPointRange||g.tickInterval||1),g.len),h=b*o.groupPadding,T=(b-2*h)/(m||1),F=Math.min(o.maxPointWidth||g.len,u(o.pointWidth,T*(1-2*o.pointPadding))),f=(k.columnIndex||0)+(t?1:0);return k.columnMetrics={width:F,offset:(T-F)/2+(h+f*T-b/2)*(t?-1:1),paddedWidth:T,columnCount:m},k.columnMetrics}crispCol(k,o,g,s){let e=this.borderWidth,t=this.chart.inverted;return s=B(o+s,e,t)-(o=B(o,e,t)),this.options.crisp&&(g=B(k+g,e)-(k=B(k,e))),{x:k,y:o,width:g,height:s}}adjustForMissingColumns(k,o,g,s){var e;if(!g.isNull&&s.columnCount>1){let t=this.xAxis.series.filter(b=>b.visible).map(b=>b.index),r=0,a=0;M((e=this.xAxis.stacking)==null?void 0:e.stacks,b=>{if(typeof g.x=="number"){let h=b[g.x.toString()];if(h&&x(h.points[this.index])){let T=Object.keys(h.points).filter(F=>!F.match(",")&&h.points[F]&&h.points[F].length>1).map(parseFloat).filter(F=>t.indexOf(F)!==-1).sort((F,f)=>f-F);r=T.indexOf(this.index),a=T.length}}}),r=this.xAxis.reversed?a-1-r:r;let m=(a-1)*s.paddedWidth+o;k=(g.plotX||0)+m/2-o-r*s.paddedWidth}return k}translate(){let k=this,o=k.chart,g=k.options,s=k.dense=k.closestPointRange*k.xAxis.transA<2,e=k.borderWidth=u(g.borderWidth,s?0:1),t=k.xAxis,r=k.yAxis,a=g.threshold,m=u(g.minPointLength,5),b=k.getColumnMetrics(),h=b.width,T=k.pointXOffset=b.offset,F=k.dataMin,f=k.dataMax,L=k.translatedThreshold=r.getThreshold(a),I=k.barW=Math.max(h,1+2*e);g.pointPadding&&(I=Math.ceil(I)),dt.prototype.translate.apply(k),k.points.forEach(function(W){let Q=u(W.yBottom,L),l=999+Math.abs(Q),n=W.plotX||0,y=C(W.plotY,-l,r.len+l),D,i=Math.min(y,Q),p=Math.max(y,Q)-i,c=h,A=n+T,w=I;m&&Math.abs(p)<m&&(p=m,D=!r.reversed&&!W.negative||r.reversed&&W.negative,v(a)&&v(f)&&W.y===a&&f<=a&&(r.min||0)<a&&(F!==f||(r.max||0)<=a)&&(D=!D,W.negative=!W.negative),i=Math.abs(i-L)>m?Q-m:L-(D?m:0)),j(W.options.pointWidth)&&(A-=Math.round(((c=w=Math.ceil(W.options.pointWidth))-h)/2)),g.centerInCategory&&!g.stacking&&(A=k.adjustForMissingColumns(A,c,W,b)),W.barX=A,W.pointWidth=c,W.tooltipPos=o.inverted?[C(r.len+r.pos-o.plotLeft-y,r.pos-o.plotLeft,r.len+r.pos-o.plotLeft),t.len+t.pos-o.plotTop-A-w/2,p]:[t.left-o.plotLeft+A+w/2,C(y+r.pos-o.plotTop,r.pos-o.plotTop,r.len+r.pos-o.plotTop),p],W.shapeType=k.pointClass.prototype.shapeType||"roundedRect",W.shapeArgs=k.crispCol(A,W.isNull?L:i,w,W.isNull?0:p)}),d(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(k,o){let g=this.options,s=this.pointAttrToOptions||{},e=s.stroke||"borderColor",t=s["stroke-width"]||"borderWidth",r,a,m,b=k&&k.color||this.color,h=k&&k[e]||g[e]||b,T=k&&k.options.dashStyle||g.dashStyle,F=k&&k[t]||g[t]||this[t]||0,f=u(k&&k.opacity,g.opacity,1);k&&this.zones.length&&(a=k.getZone(),b=k.options.color||a&&(a.color||k.nonZonedColor)||this.color,a&&(h=a.borderColor||h,T=a.dashStyle||T,F=a.borderWidth||F)),o&&k&&(m=(r=S(g.states[o],k.options.states&&k.options.states[o]||{})).brightness,b=r.color||m!==void 0&&$(b).brighten(r.brightness).get()||b,h=r[e]||h,F=r[t]||F,T=r.dashStyle||T,f=u(r.opacity,f));let L={fill:b,stroke:h,"stroke-width":F,opacity:f};return T&&(L.dashstyle=T),L}drawPoints(k=this.points){let o,g=this,s=this.chart,e=g.options,t=s.renderer,r=e.animationLimit||250;
3k.forEach(function(a){let m=a.plotY,b=a.graphic,h=!!b,T=b&&s.pointCount<r?"animate":"attr";v(m)&&a.y!==null?(o=a.shapeArgs,b&&a.hasNewShapeType()&&(b=b.destroy()),g.enabledDataSorting&&(a.startXPos=g.xAxis.reversed?-(o&&o.width||0):g.xAxis.width),!b&&(a.graphic=b=t[a.shapeType](o).add(a.group||g.group),b&&g.enabledDataSorting&&s.hasRendered&&s.pointCount<r&&(b.attr({x:a.startXPos}),h=!0,T="animate")),b&&h&&b[T](S(o)),s.styledMode||b[T](g.pointAttribs(a,a.selected&&"select")).shadow(a.allowShadow!==!1&&e.shadow),b&&(b.addClass(a.getClassName(),!0),b.attr({visibility:a.visible?"inherit":"hidden"}))):b&&(a.graphic=b.destroy())})}drawTracker(k=this.points){let o,g=this,s=g.chart,e=s.pointer,t=function(r){let a=e==null?void 0:e.getPointFromEvent(r);e&&a&&g.options.enableMouseTracking&&(e.isDirectTouch=!0,a.onMouseOver(r))};k.forEach(function(r){o=x(r.dataLabels)?r.dataLabels:r.dataLabel?[r.dataLabel]:[],r.graphic&&(r.graphic.element.point=r),o.forEach(function(a){(a.div||a.element).point=r})}),g._hasTracking||(g.trackerGroups.forEach(function(r){g[r]&&(g[r].addClass("highcharts-tracker").on("mouseover",t).on("mouseout",function(a){e==null||e.onTrackerMouseOut(a)}).on("touchstart",t),!s.styledMode&&g.options.cursor&&g[r].css({cursor:g.options.cursor}))}),g._hasTracking=!0),d(this,"afterDrawTracker")}remove(){let k=this,o=k.chart;o.hasRendered&&o.series.forEach(function(g){g.type===k.type&&(g.isDirty=!0)}),dt.prototype.remove.apply(k,arguments)}}return G.defaultOptions=S(dt.defaultOptions,lt),P(G.prototype,{directTouch:!0,getSymbol:V,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),nt.registerSeriesType("column",G),G}),yt(Y,"Core/Series/DataLabel.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Templating.js"],Y["Core/Utilities.js"]],function(K,et,lt){var ht;let{getDeferredAnimation:dt}=K,{format:nt}=et,{defined:at,extend:q,fireEvent:$,isArray:V,isString:C,merge:B,objectEach:j,pick:P,pInt:d,splat:x}=lt;return function(v){function S(){return g(this).some(e=>e==null?void 0:e.enabled)}function u(e,t,r,a,m){var y;let{chart:b,enabledDataSorting:h}=this,T=this.isCartesian&&b.inverted,F=e.plotX,f=e.plotY,L=r.rotation||0,I=at(F)&&at(f)&&b.isInsidePlot(F,Math.round(f),{inverted:T,paneCoordinates:!0,series:this}),W=L===0&&P(r.overflow,h?"none":"justify")==="justify",Q=this.visible&&e.visible!==!1&&at(F)&&(e.series.forceDL||h&&!W||I||P(r.inside,!!this.options.stacking)&&a&&b.isInsidePlot(F,T?a.x+1:a.y+a.height-1,{inverted:T,paneCoordinates:!0,series:this})),l=e.pos();if(Q&&l){var n;let D=t.getBBox(),i=t.getBBox(void 0,0),p={right:1,center:.5}[r.align||0]||0,c={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(a=q({x:l[0],y:Math.round(l[1]),width:0,height:0},a||{}),r.alignTo==="plotEdges"&&this.isCartesian&&(a[T?"x":"y"]=0,a[T?"width":"height"]=((y=this.yAxis)==null?void 0:y.len)||0),q(r,{width:D.width,height:D.height}),n=a,h&&this.xAxis&&!W&&this.setDataLabelStartPos(e,t,m,I,n),t.align(B(r,{width:i.width,height:i.height}),!1,a,!1),t.alignAttr.x+=p*(i.width-D.width),t.alignAttr.y+=c*(i.height-D.height),t[t.placed?"animate":"attr"]({x:t.alignAttr.x+(D.width-i.width)/2,y:t.alignAttr.y+(D.height-i.height)/2,rotationOriginX:(t.width||0)/2,rotationOriginY:(t.height||0)/2}),W&&a.height>=0)this.justifyDataLabel(t,r,t.alignAttr,D,a,m);else if(P(r.crop,!0)){let{x:A,y:w}=t.alignAttr;Q=b.isInsidePlot(A,w,{paneCoordinates:!0,series:this})&&b.isInsidePlot(A+D.width-1,w+D.height-1,{paneCoordinates:!0,series:this})}r.shape&&!L&&t[m?"attr":"animate"]({anchorX:l[0],anchorY:l[1]})}m&&h&&(t.placed=!1),Q||h&&!W?(t.show(),t.placed=!0):(t.hide(),t.placed=!1)}function M(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function G(e){let t=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+t});return!t&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},e):r.attr({opacity:1})),r}function O(e){var Q;let t;e=e||this.points;let r=this,a=r.chart,m=r.options,b=a.renderer,{backgroundColor:h,plotBackgroun
3dColor:T}=a.options.chart,F=b.getContrast(C(T)&&T||C(h)&&h||"#000000"),f=g(r),{animation:L,defer:I}=f[0],W=I?dt(a,L,r):{defer:0,duration:0};$(this,"drawDataLabels"),(Q=r.hasDataLabels)!=null&&Q.call(r)&&(t=this.initDataLabels(W),e.forEach(l=>{var D,i;let n=l.dataLabels||[];x(o(f,l.dlOptions||((D=l.options)==null?void 0:D.dataLabels))).forEach((p,c)=>{let A=p.enabled&&(l.visible||l.dataLabelOnHidden)&&(!l.isNull||l.dataLabelOnNull)&&function(tt,J){let st=J.filter;if(st){let ot=st.operator,ct=tt[st.property],pt=st.value;return ot===">"&&ct>pt||ot==="<"&&ct<pt||ot===">="&&ct>=pt||ot==="<="&&ct<=pt||ot==="=="&&ct==pt||ot==="==="&&ct===pt||ot==="!="&&ct!=pt||ot==="!=="&&ct!==pt}return!0}(l,p),{backgroundColor:w,borderColor:R,distance:H,style:U={}}=p,Z,rt,it,z,E={},N=n[c],X=!N,_;A&&(rt=P(p[l.formatPrefix+"Format"],p.format),Z=l.getLabelConfig(),it=at(rt)?nt(rt,Z,a):(p[l.formatPrefix+"Formatter"]||p.formatter).call(Z,p),z=p.rotation,!a.styledMode&&(U.color=P(p.color,U.color,C(r.color)?r.color:void 0,"#000000"),U.color==="contrast"?(w!=="none"&&(_=w),l.contrastColor=b.getContrast(_!=="auto"&&_||l.color||r.color),U.color=_||!at(H)&&p.inside||0>d(H||0)||m.stacking?l.contrastColor:F):delete l.contrastColor,m.cursor&&(U.cursor=m.cursor)),E={r:p.borderRadius||0,rotation:z,padding:p.padding,zIndex:1},a.styledMode||(E.fill=w==="auto"?l.color:w,E.stroke=R==="auto"?l.color:R,E["stroke-width"]=p.borderWidth),j(E,(tt,J)=>{tt===void 0&&delete E[J]})),!N||A&&at(it)&&!!N.div==!!p.useHTML&&(N.rotation&&p.rotation||N.rotation===p.rotation)||(N=void 0,X=!0),A&&at(it)&&(N?E.text=it:(N=b.label(it,0,0,p.shape,void 0,void 0,p.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+l.colorIndex+" "+(p.className||"")+(p.useHTML?" highcharts-tracker":"")),N&&(N.options=p,N.attr(E),a.styledMode?U.width&&N.css({width:U.width,textOverflow:U.textOverflow}):N.css(U).shadow(p.shadow),$(N,"beforeAddingDataLabel",{labelOptions:p,point:l}),N.added||N.add(t),r.alignDataLabel(l,N,p,void 0,X),N.isActive=!0,n[c]&&n[c]!==N&&n[c].destroy(),n[c]=N))});let y=n.length;for(;y--;)n[y]&&n[y].isActive?n[y].isActive=!1:((i=n[y])==null||i.destroy(),n.splice(y,1));l.dataLabel=n[0],l.dataLabels=n})),$(this,"afterDrawDataLabels")}function k(e,t,r,a,m,b){let h=this.chart,T=t.align,F=t.verticalAlign,f=e.box?0:e.padding||0,L=h.inverted?this.yAxis:this.xAxis,I=L?L.left-h.plotLeft:0,W=h.inverted?this.xAxis:this.yAxis,Q=W?W.top-h.plotTop:0,{x:l=0,y:n=0}=t,y,D;return(y=(r.x||0)+f+I)<0&&(T==="right"&&l>=0?(t.align="left",t.inside=!0):l-=y,D=!0),(y=(r.x||0)+a.width-f+I)>h.plotWidth&&(T==="left"&&l<=0?(t.align="right",t.inside=!0):l+=h.plotWidth-y,D=!0),(y=r.y+f+Q)<0&&(F==="bottom"&&n>=0?(t.verticalAlign="top",t.inside=!0):n-=y,D=!0),(y=(r.y||0)+a.height-f+Q)>h.plotHeight&&(F==="top"&&n<=0?(t.verticalAlign="bottom",t.inside=!0):n+=h.plotHeight-y,D=!0),D&&(t.x=l,t.y=n,e.placed=!b,e.align(t,void 0,m)),D}function o(e,t){let r=[],a;if(V(e)&&!V(t))r=e.map(function(m){return B(m,t)});else if(V(t)&&!V(e))r=t.map(function(m){return B(e,m)});else if(V(e)||V(t)){if(V(e)&&V(t))for(a=Math.max(e.length,t.length);a--;)r[a]=B(e[a],t[a])}else r=B(e,t);return r}function g(e){var r,a;let t=e.chart.options.plotOptions;return x(o(o((r=t==null?void 0:t.series)==null?void 0:r.dataLabels,(a=t==null?void 0:t[e.type])==null?void 0:a.dataLabels),e.options.dataLabels))}function s(e,t,r,a,m){let b=this.chart,h=b.inverted,T=this.xAxis,F=T.reversed,f=((h?t.height:t.width)||0)/2,L=e.pointWidth,I=L?L/2:0;t.startXPos=h?m.x:F?-f-I:T.width-f+I,t.startYPos=h?F?this.yAxis.height-f+I:-f-I:m.y,a?t.visibility==="hidden"&&(t.show(),t.attr({opacity:0}).animate({opacity:1})):t.attr({opacity:1}).animate({opacity:0}
3,void 0,t.hide),b.hasRendered&&(r&&t.attr({x:t.startXPos,y:t.startYPos}),t.placed=!0)}v.compose=function(e){let t=e.prototype;t.initDataLabels||(t.initDataLabels=G,t.initDataLabelsGroup=M,t.alignDataLabel=u,t.drawDataLabels=O,t.justifyDataLabel=k,t.setDataLabelStartPos=s,t.hasDataLabels=S)}}(ht||(ht={})),ht}),yt(Y,"Series/Column/ColumnDataLabel.js",[Y["Core/Series/DataLabel.js"],Y["Core/Globals.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht){var dt;let{composed:nt}=et,{series:at}=lt,{merge:q,pick:$,pushUnique:V}=ht;return function(C){function B(j,P,d,x,v){let S=this.chart.inverted,u=j.series,M=(u.xAxis?u.xAxis.len:this.chart.plotSizeX)||0,G=(u.yAxis?u.yAxis.len:this.chart.plotSizeY)||0,O=j.dlBox||j.shapeArgs,k=$(j.below,j.plotY>$(this.translatedThreshold,G)),o=$(d.inside,!!this.options.stacking);if(O){if(x=q(O),!(d.overflow==="allow"&&d.crop===!1)){x.y<0&&(x.height+=x.y,x.y=0);let g=x.y+x.height-G;g>0&&g<x.height-1&&(x.height-=g)}S&&(x={x:G-x.y-x.height,y:M-x.x-x.width,width:x.height,height:x.width}),o||(S?(x.x+=k?0:x.width,x.width=0):(x.y+=k?x.height:0,x.height=0))}d.align=$(d.align,!S||o?"center":k?"right":"left"),d.verticalAlign=$(d.verticalAlign,S||o?"middle":k?"top":"bottom"),at.prototype.alignDataLabel.call(this,j,P,d,x,v),d.inside&&j.contrastColor&&P.css({color:j.contrastColor})}C.compose=function(j){K.compose(at),V(nt,"ColumnDataLabel")&&(j.prototype.alignDataLabel=B)}}(dt||(dt={})),dt}),yt(Y,"Series/Bar/BarSeries.js",[Y["Series/Column/ColumnSeries.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(K,et,lt){let{extend:ht,merge:dt}=lt;class nt extends K{}return nt.defaultOptions=dt(K.defaultOptions,{}),ht(nt.prototype,{inverted:!0}),et.registerSeriesType("bar",nt),nt}),yt(Y,"Series/Scatter/ScatterSeriesDefaults.js",[],function(){return{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}}),yt(Y,"Series/Scatter/ScatterSeries.js",[Y["Series/Scatter/ScatterSeriesDefaults.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(K,et,lt){let{column:ht,line:dt}=et.seriesTypes,{addEvent:nt,extend:at,merge:q}=lt;class $ extends dt{applyJitter(){let C=this,B=this.options.jitter,j=this.points.length;B&&this.points.forEach(function(P,d){["x","y"].forEach(function(x,v){if(B[x]&&!P.isNull){let S=`plot${x.toUpperCase()}`,u=C[`${x}Axis`],M=B[x]*u.transA;if(u&&!u.logarithmic){let G=Math.max(0,(P[S]||0)-M),O=Math.min(u.len,(P[S]||0)+M);P[S]=G+(O-G)*function(k){let o=1e4*Math.sin(k);return o-Math.floor(o)}(d+v*j),x==="x"&&(P.clientX=P.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return $.defaultOptions=q(dt.defaultOptions,K),at($.prototype,{drawTracker:ht.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),nt($,"afterTranslate",function(){this.applyJitter()}),et.registerSeriesType("scatter",$),$}),yt(Y,"Series/CenteredUtilities.js",[Y["Core/Globals.js"],Y["Core/Series/Series.js"],Y["Core/Utilities.js"]],function(K,et,lt){var ht,dt;let{deg2rad:nt}=K,{fireEvent:at,isNumber:q,pick:$,relativeLength:V}=lt;return(dt=ht||(ht={})).getCenter=function(){let C=this.options,B=this.chart,j=2*(C.slicedOffset||0),P=B.plotWidth-2*j,d=B.plotHeight-2*j,x=C.center,v=Math.min(P,d),S=C.thickness,u,M=C.size,G=C.innerSize||0,O,k;typeof M=="string"&&(M=parseFloat(M)),typeof G=="string"&&(G=parseFloat(G));let o=[$(x[0],"50%"),$(x[1],"50%"),$(M&&M<0?void 0:C.size,"100%"),$(G&&G<0?void 0:C.innerSize||0,"0%")];for(!B.angular||this instanceof et||(o[3]=0),O=0;O<4;++O)k=o[O],u=O<2||O===2&&/%$/.test(k),o[O]=V(k,[P,d,v,o[2]][O])+(u?j:0);return o[3]>o[2]&&(o[3]=o[2]),q(S)&&2*S<o[2]&&S>0&&(o[3]=o[2]-2*S),at(this,"afterGetCenter",{positions:o}),o},dt.getStartAndEndRadians=function(C,B){let j=q(C)?C:0,P=q(B)&&B>j&&B-j<360?B:j+360;return{start:nt*(j+-90),end:nt*(P+-90)}},ht}
3),yt(Y,"Series/Pie/PiePoint.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Series/Point.js"],Y["Core/Utilities.js"]],function(K,et,lt){let{setAnimation:ht}=K,{addEvent:dt,defined:nt,extend:at,isNumber:q,pick:$,relativeLength:V}=lt;class C extends et{getConnectorPath(j){let P=j.dataLabelPosition,d=j.options||{},x=d.connectorShape,v=this.connectorShapes[x]||x;return P&&v.call(this,{...P.computed,alignment:P.alignment},P.connectorPosition,d)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(j){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+j,P.r+j,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(j,P,d){super(j,P,d),this.half=0,this.name??(this.name="Slice");let x=v=>{this.slice(v.type==="select")};dt(this,"select",x),dt(this,"unselect",x)}isValid(){return q(this.y)&&this.y>=0}setVisible(j,P=!0){j!==this.visible&&this.update({visible:j??!this.visible},P,void 0,!1)}slice(j,P,d){let x=this.series;ht(d,x.chart),P=$(P,!0),this.sliced=this.options.sliced=j=nt(j)?j:!this.sliced,x.options.data[x.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return at(C.prototype,{connectorShapes:{fixedOffset:function(B,j,P){let d=j.breakAt,x=j.touchingSliceAt,v=P.softConnector?["C",B.x+(B.alignment==="left"?-5:5),B.y,2*d.x-x.x,2*d.y-x.y,d.x,d.y]:["L",d.x,d.y];return[["M",B.x,B.y],v,["L",x.x,x.y]]},straight:function(B,j){let P=j.touchingSliceAt;return[["M",B.x,B.y],["L",P.x,P.y]]},crookedLine:function(B,j,P){let{breakAt:d,touchingSliceAt:x}=j,{series:v}=this,[S,u,M]=v.center,G=M/2,{plotLeft:O,plotWidth:k}=v.chart,o=B.alignment==="left",{x:g,y:s}=B,e=d.x;if(P.crookDistance){let r=V(P.crookDistance,1);e=o?S+G+(k+O-S-G)*(1-r):O+(S-G)*r}else e=S+(u-s)*Math.tan((this.angle||0)-Math.PI/2);let t=[["M",g,s]];return(o?e<=g&&e>=d.x:e>=g&&e<=d.x)&&t.push(["L",e,s]),t.push(["L",d.x,d.y],["L",x.x,x.y]),t}}}),C}),yt(Y,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),yt(Y,"Series/Pie/PieSeries.js",[Y["Series/CenteredUtilities.js"],Y["Series/Column/ColumnSeries.js"],Y["Core/Globals.js"],Y["Series/Pie/PiePoint.js"],Y["Series/Pie/PieSeriesDefaults.js"],Y["Core/Series/Series.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Renderer/SVG/Symbols.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht,dt,nt,at,q,$){let{getStartAndEndRadians:V}=K,{noop:C}=lt,{clamp:B,extend:j,fireEvent:P,merge:d,pick:x}=$;class v extends nt{animate(u){let M=this,G=M.points,O=M.startAngleRad;u||G.forEach(function(k){let o=k.graphic,g=k.shapeArgs;o&&g&&(o.attr({r:x(k.startR,M.center&&M.center[3]/2),start:O,end:O}),o.animate({r:g.r,start:g.start,end:g.end},M.options.animation))})}drawEmpty(){let u,M,G=this.startAngleRad,O=this.endAngleRad,k=this.options;this.total===0&&this.center?(u=this.center[0],M=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(u,M,this.center[1]/2,0,G,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:q.arc(u,M,this.center[2]/2,0,{start:G,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":k.borderWidth,fill:k.fillColor||"none",stroke:k.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let u=this.chart.renderer;this.points.forEach(function(M){M.graphic&&M.hasNewShapeType()&&(M.graphic=M.graphic.destroy()),M.graphic||(M.graphic=u[M.shapeType](M.shapeArgs).add(M.series.group),M.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(u,M,G,O){let k=this.center,o=this.radii?this.radii[G.index]||0:k[2]/2,g=O.dataLabelPosition,s=(g==null?void 0:g.distance)||0,e=Math.asin(B((u-k[1])/(o+s),-1,1));return k[0]+Math.cos(e)*(o+s)*(M?-1:1)+(s>0?(M?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let u,M,G,O,k=this,o=k.chart;this.drawEmpty(),k.group&&!o.styledMode&&k.group.shadow(k.options.shadow),k.points.forEac
3h(function(g){let s={};M=g.graphic,!g.isNull&&M?(O=g.shapeArgs,u=g.getTranslate(),o.styledMode||(G=k.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(M.setRadialReference(k.center).attr(O).attr(u),o.styledMode||M.attr(G).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(M.setRadialReference(k.center),o.styledMode||d(!0,s,G),d(!0,s,O,u),M.animate(s)),M.attr({visibility:g.visible?"inherit":"hidden"}),M.addClass(g.getClassName(),!0)):M&&(g.graphic=M.destroy())})}sortByAngle(u,M){u.sort(function(G,O){return G.angle!==void 0&&(O.angle-G.angle)*M})}translate(u){P(this,"translate"),this.generatePoints();let M=this.options,G=M.slicedOffset,O=V(M.startAngle,M.endAngle),k=this.startAngleRad=O.start,o=(this.endAngleRad=O.end)-k,g=this.points,s=M.ignoreHiddenPoint,e=g.length,t,r,a,m,b,h,T,F=0;for(u||(this.center=u=this.getCenter()),h=0;h<e;h++){T=g[h],t=k+F*o,T.isValid()&&(!s||T.visible)&&(F+=T.percentage/100),r=k+F*o;let f={x:u[0],y:u[1],r:u[2]/2,innerR:u[3]/2,start:Math.round(1e3*t)/1e3,end:Math.round(1e3*r)/1e3};T.shapeType="arc",T.shapeArgs=f,(a=(r+t)/2)>1.5*Math.PI?a-=2*Math.PI:a<-Math.PI/2&&(a+=2*Math.PI),T.slicedTranslation={translateX:Math.round(Math.cos(a)*G),translateY:Math.round(Math.sin(a)*G)},m=Math.cos(a)*u[2]/2,b=Math.sin(a)*u[2]/2,T.tooltipPos=[u[0]+.7*m,u[1]+.7*b],T.half=a<-Math.PI/2||a>Math.PI/2?1:0,T.angle=a}P(this,"afterTranslate")}updateTotals(){let u=this.points,M=u.length,G=this.options.ignoreHiddenPoint,O,k,o=0;for(O=0;O<M;O++)(k=u[O]).isValid()&&(!G||k.visible)&&(o+=k.y);for(O=0,this.total=o;O<M;O++)(k=u[O]).percentage=o>0&&(k.visible||!G)?k.y/o*100:0,k.total=o}}return v.defaultOptions=d(nt.defaultOptions,dt),j(v.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:et.prototype.drawTracker,getCenter:K.getCenter,getSymbol:C,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:et.prototype.pointAttribs,pointClass:ht,requireSorting:!1,searchPoint:C,trackerGroups:["group","dataLabelsGroup"]}),at.registerSeriesType("pie",v),v}),yt(Y,"Series/Pie/PieDataLabel.js",[Y["Core/Series/DataLabel.js"],Y["Core/Globals.js"],Y["Core/Renderer/RendererUtilities.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(K,et,lt,ht,dt){var nt;let{composed:at,noop:q}=et,{distribute:$}=lt,{series:V}=ht,{arrayMax:C,clamp:B,defined:j,pick:P,pushUnique:d,relativeLength:x}=dt;return function(v){let S={radialDistributionY:function(k,o){var g;return(((g=o.dataLabelPosition)==null?void 0:g.top)||0)+k.distributeBox.pos},radialDistributionX:function(k,o,g,s,e){let t=e.dataLabelPosition;return k.getX(g<((t==null?void 0:t.top)||0)+2||g>((t==null?void 0:t.bottom)||0)-2?s:g,o.half,o,e)},justify:function(k,o,g,s){var e;return s[0]+(k.half?-1:1)*(g+(((e=o.dataLabelPosition)==null?void 0:e.distance)||0))},alignToPlotEdges:function(k,o,g,s){let e=k.getBBox().width;return o?e+s:g-e-s},alignToConnectors:function(k,o,g,s){let e=0,t;return k.forEach(function(r){(t=r.dataLabel.getBBox().width)>e&&(e=t)}),o?e+s:g-e-s}};function u(k,o){let{center:g,options:s}=this,e=g[2]/2,t=k.angle||0,r=Math.cos(t),a=Math.sin(t),m=g[0]+r*e,b=g[1]+a*e,h=Math.min((s.slicedOffset||0)+(s.borderWidth||0),o/5);
3return{natural:{x:m+r*o,y:b+a*o},computed:{},alignment:o<0?"center":k.half?"right":"left",connectorPosition:{breakAt:{x:m+r*h,y:b+a*h},touchingSliceAt:{x:m,y:b}},distance:o}}function M(){var Q;let k=this,o=k.points,g=k.chart,s=g.plotWidth,e=g.plotHeight,t=g.plotLeft,r=Math.round(g.chartWidth/3),a=k.center,m=a[2]/2,b=a[1],h=[[],[]],T=[0,0,0,0],F=k.dataLabelPositioners,f,L,I,W=0;k.visible&&((Q=k.hasDataLabels)!=null&&Q.call(k))&&(o.forEach(l=>{(l.dataLabels||[]).forEach(n=>{n.shortened&&(n.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),n.shortened=!1)})}),V.prototype.drawDataLabels.apply(k),o.forEach(l=>{(l.dataLabels||[]).forEach((n,y)=>{var c;let D=a[2]/2,i=n.options,p=x((i==null?void 0:i.distance)||0,D);y===0&&h[l.half].push(l),!j((c=i==null?void 0:i.style)==null?void 0:c.width)&&n.getBBox().width>r&&(n.css({width:Math.round(.7*r)+"px"}),n.shortened=!0),n.dataLabelPosition=this.getDataLabelPosition(l,p),W=Math.max(W,p)})}),h.forEach((l,n)=>{let y=l.length,D=[],i,p,c=0,A;y&&(k.sortByAngle(l,n-.5),W>0&&(i=Math.max(0,b-m-W),p=Math.min(b+m+W,g.plotHeight),l.forEach(w=>{(w.dataLabels||[]).forEach(R=>{var U;let H=R.dataLabelPosition;H&&H.distance>0&&(H.top=Math.max(0,b-m-H.distance),H.bottom=Math.min(b+m+H.distance,g.plotHeight),c=R.getBBox().height||21,R.lineHeight=g.renderer.fontMetrics(R.text||R).h+2*R.padding,w.distributeBox={target:(((U=R.dataLabelPosition)==null?void 0:U.natural.y)||0)-H.top+R.lineHeight/2,size:c,rank:w.y},D.push(w.distributeBox))})}),$(D,A=p+c-i,A/5)),l.forEach(w=>{(w.dataLabels||[]).forEach(R=>{let H=R.options||{},U=w.distributeBox,Z=R.dataLabelPosition,rt=(Z==null?void 0:Z.natural.y)||0,it=H.connectorPadding||0,z=R.lineHeight||21,E=(z-R.getBBox().height)/2,N=0,X=rt,_="inherit";if(Z){if(j(U)&&Z.distance>0&&(U.pos===void 0?_="hidden":(I=U.size,X=F.radialDistributionY(w,R))),H.justify)N=F.justify(w,R,m,a);else switch(H.alignTo){case"connectors":N=F.alignToConnectors(l,n,s,t);break;case"plotEdges":N=F.alignToPlotEdges(R,n,s,t);break;default:N=F.radialDistributionX(k,w,X-E,rt,R)}if(Z.attribs={visibility:_,align:Z.alignment},Z.posAttribs={x:N+(H.x||0)+({left:it,right:-it}[Z.alignment]||0),y:X+(H.y||0)-z/2},Z.computed.x=N,Z.computed.y=X-E,P(H.crop,!0)){let tt;N-(L=R.getBBox().width)<it&&n===1?(tt=Math.round(L-N+it),T[3]=Math.max(tt,T[3])):N+L>s-it&&n===0&&(tt=Math.round(N+L-s+it),T[1]=Math.max(tt,T[1])),X-I/2<0?T[0]=Math.max(Math.round(-X+I/2),T[0]):X+I/2>e&&(T[2]=Math.max(Math.round(X+I/2-e),T[2])),Z.sideOverflow=tt}}})}))}),(C(T)===0||this.verifyDataLabelOverflow(T))&&(this.placeDataLabels(),this.points.forEach(l=>{(l.dataLabels||[]).forEach(n=>{var p;let{connectorColor:y,connectorWidth:D=1}=n.options||{},i=n.dataLabelPosition;if(D){let c;f=n.connector,i&&i.distance>0?(c=!f,f||(n.connector=f=g.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+l.colorIndex+(l.className?" "+l.className:"")).add(k.dataLabelsGroup)),g.styledMode||f.attr({"stroke-width":D,stroke:y||l.color||"#666666"}),f[c?"attr":"animate"]({d:l.getConnectorPath(n)}),f.attr({visibility:(p=i.attribs)==null?void 0:p.visibility})):f&&(n.connector=f.destroy())}})})))}function G(){this.points.forEach(k=>{(k.dataLabels||[]).forEach(o=>{var s;let g=o.dataLabelPosition;g?(g.sideOverflow&&(o.css({width:Math.max(o.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(((s=o.options)==null?void 0:s.style)||{}).textOverflow||"ellipsis"}),o.shortened=!0),o.attr(g.attribs),o[o.moved?"animate":"attr"](g.posAttribs),o.moved=!0):o&&o.attr({y:-9999})}),delete k.distributeBox},this)}function O(k){let o=this.center,g=this.options,s=g.center,e=g.minSize||80,t=e,r=g.size!==null;return!r&&(s[0]!==null?t=Math.max(o[2]-Math.max(k[1],k[3]),e):(t=Math.max(o[2]-k[1]-k[3],e),o[0]+=(k[3]-k[1])/2),s[1]!==null?t=B(t,e,o[2]-Math.max(k[0],k[2])):(t=B(t,e,o[2]-k[0]-k[2]),o[1]+=(k[0]-k[2])/2),t<o[2]?(o[2]=t,o[3]=Math.min(g.thickness?Math.max(0,t-2*g.thickness):Math.max(0,x(g.innerSize||0,t)),t),this.translate(o),this.drawDataLabels&&this.drawDataLabels()):r=!0),r}v.compose=function(k){if(K.compose(V),d(at,"PieDataLabel")){let o=k.prototype;o.dataLabelPositioners=S,o.alignDataLabel=q,o.drawDataLabels=M,o.getDataLabelPosition=u,o.placeDataLabels=G,o.verifyDataLabelOverflow=O}}}(nt||(nt={})),nt}),yt(Y,"Core/Geometry/GeometryUtilities.js",[],function(){var K,et;return(et=K||(K={})).getCenterOfPoints=function(lt){let ht=lt.reduce((dt,nt)=>(dt.x+=nt.x,dt.y+=nt.y,dt),{x:0,y:0});return{x:ht.x/lt.length,y:ht.y/lt.length}},et.getDistanceBetweenPoints=function(lt,ht){return Math.sqrt(Math.pow(ht.x-lt.x,2)+Math.pow(ht.y-lt.y,2))}
3,et.getAngleBetweenPoints=function(lt,ht){return Math.atan2(ht.x-lt.x,ht.y-lt.y)},et.pointInPolygon=function({x:lt,y:ht},dt){let nt=dt.length,at,q,$=!1;for(at=0,q=nt-1;at<nt;q=at++){let[V,C]=dt[at],[B,j]=dt[q];C>ht!=j>ht&&lt<(B-V)*(ht-C)/(j-C)+V&&($=!$)}return $},K}),yt(Y,"Extensions/OverlappingDataLabels.js",[Y["Core/Geometry/GeometryUtilities.js"],Y["Core/Utilities.js"]],function(K,et){let{pointInPolygon:lt}=K,{addEvent:ht,fireEvent:dt,objectEach:nt,pick:at}=et;function q(C){let B=C.length,j=(G,O)=>!(O.x>=G.x+G.width||O.x+O.width<=G.x||O.y>=G.y+G.height||O.y+O.height<=G.y),P=(G,O)=>{for(let k of G)if(lt({x:k[0],y:k[1]},O))return!0;return!1},d,x,v,S,u,M=!1;for(let G=0;G<B;G++)(d=C[G])&&(d.oldOpacity=d.opacity,d.newOpacity=1,d.absoluteBox=function(O){var k,o;if(O&&(!O.alignAttr||O.placed)){let g=O.box?0:O.padding||0,s=O.alignAttr||{x:O.attr("x"),y:O.attr("y")},e=O.getBBox();return O.width=e.width,O.height=e.height,{x:s.x+(((k=O.parentGroup)==null?void 0:k.translateX)||0)+g,y:s.y+(((o=O.parentGroup)==null?void 0:o.translateY)||0)+g,width:(O.width||0)-2*g,height:(O.height||0)-2*g,polygon:e==null?void 0:e.polygon}}}(d));C.sort((G,O)=>(O.labelrank||0)-(G.labelrank||0));for(let G=0;G<B;++G){S=(x=C[G])&&x.absoluteBox;let O=S==null?void 0:S.polygon;for(let k=G+1;k<B;++k){u=(v=C[k])&&v.absoluteBox;let o=!1;if(S&&u&&x!==v&&x.newOpacity!==0&&v.newOpacity!==0&&x.visibility!=="hidden"&&v.visibility!=="hidden"){let g=u.polygon;if(O&&g&&O!==g?P(O,g)&&(o=!0):j(S,u)&&(o=!0),o){let s=x.labelrank<v.labelrank?x:v,e=s.text;s.newOpacity=0,e!=null&&e.element.querySelector("textPath")&&e.hide()}}}}for(let G of C)$(G,this)&&(M=!0);M&&dt(this,"afterHideAllOverlappingLabels")}function $(C,B){let j,P,d=!1;return C&&(P=C.newOpacity,C.oldOpacity!==P&&(C.hasClass("highcharts-data-label")?(C[P?"removeClass":"addClass"]("highcharts-data-label-hidden"),j=function(){B.styledMode||C.css({pointerEvents:P?"auto":"none"})},d=!0,C[C.isOld?"animate":"attr"]({opacity:P},void 0,j),dt(B,"afterHideOverlappingLabel")):C.attr({opacity:P})),C.isOld=!0),d}function V(){var j;let C=this,B=[];for(let P of C.labelCollectors||[])B=B.concat(P());for(let P of C.yAxis||[])P.stacking&&P.options.stackLabels&&!P.options.stackLabels.allowOverlap&&nt(P.stacking.stacks,d=>{nt(d,x=>{x.label&&B.push(x.label)})});for(let P of C.series||[])if(P.visible&&((j=P.hasDataLabels)!=null&&j.call(P))){let d=x=>{for(let v of x)v.visible&&(v.dataLabels||[]).forEach(S=>{var M;let u=S.options||{};S.labelrank=at(u.labelrank,v.labelrank,(M=v.shapeArgs)==null?void 0:M.height),u.allowOverlap??Number(u.distance)>0?(S.oldOpacity=S.opacity,S.newOpacity=1,$(S,C)):B.push(S)})};d(P.nodes||[]),d(P.points)}this.hideOverlappingLabels(B)}return{compose:function(C){let B=C.prototype;B.hideOverlappingLabels||(B.hideOverlappingLabels=q,ht(C,"render",V))}}}
3),yt(Y,"Extensions/BorderRadius.js",[Y["Core/Defaults.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(K,et,lt){let{defaultOptions:ht}=K,{noop:dt}=et,{addEvent:nt,extend:at,isObject:q,merge:$,relativeLength:V}=lt,C={radius:0,scope:"stack",where:void 0},B=dt,j=dt;function P(u,M,G,O,k={}){let o=B(u,M,G,O,k),{innerR:g=0,r:s=G,start:e=0,end:t=0}=k;if(k.open||!k.borderRadius)return o;let r=t-e,a=Math.sin(r/2),m=Math.max(Math.min(V(k.borderRadius||0,s-g),(s-g)/2,s*a/(1+a)),0),b=Math.min(m,r/Math.PI*2*g),h=o.length-1;for(;h--;)(function(T,F,f){let L,I,W,Q=T[F],l=T[F+1];if(l[0]==="Z"&&(l=T[0]),(Q[0]==="M"||Q[0]==="L")&&l[0]==="A"?(L=Q,I=l,W=!0):Q[0]==="A"&&(l[0]==="M"||l[0]==="L")&&(L=l,I=Q),L&&I&&I.params){let n=I[1],y=I[5],D=I.params,{start:i,end:p,cx:c,cy:A}=D,w=y?n-f:n+f,R=w?Math.asin(f/w):0,H=y?R:-R,U=Math.cos(R)*w;W?(D.start=i+H,L[1]=c+U*Math.cos(i),L[2]=A+U*Math.sin(i),T.splice(F+1,0,["A",f,f,0,0,1,c+n*Math.cos(D.start),A+n*Math.sin(D.start)])):(D.end=p-H,I[6]=c+n*Math.cos(D.end),I[7]=A+n*Math.sin(D.end),T.splice(F+1,0,["A",f,f,0,0,1,c+U*Math.cos(p),A+U*Math.sin(p)])),I[4]=Math.abs(D.end-D.start)<Math.PI?0:1}})(o,h,h>1?b:m);return o}function d(){var u,M;if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:G,yAxis:O}=this,k=G.stacking==="percent",o=(M=(u=ht.plotOptions)==null?void 0:u[this.type])==null?void 0:M.borderRadius,g=x(G.borderRadius,q(o)?o:{}),s=O.options.reversed;for(let e of this.points){let{shapeArgs:t}=e;if(e.shapeType==="roundedRect"&&t){let{width:r=0,height:a=0,y:m=0}=t,b=m,h=a;if(g.scope==="stack"&&e.stackTotal){let L=O.translate(k?100:e.stackTotal,!1,!0,!1,!0),I=O.translate(G.threshold||0,!1,!0,!1,!0),W=this.crispCol(0,Math.min(L,I),0,Math.abs(L-I));b=W.y,h=W.height}let T=(e.negative?-1:1)*(s?-1:1)==-1,F=g.where;!F&&this.is("waterfall")&&Math.abs((e.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(F="all"),F||(F="end");let f=Math.min(V(g.radius,r),r/2,F==="all"?a/2:1/0)||0;F==="end"&&(T&&(b-=f),h+=f),at(t,{brBoxHeight:h,brBoxY:b,r:f})}}}}function x(u,M){return q(u)||(u={radius:u||0}),$(C,M,u)}function v(){let u=x(this.options.borderRadius);for(let M of this.points){let G=M.shapeArgs;G&&(G.borderRadius=V(u.radius,(G.r||0)-(G.innerR||0)))}}function S(u,M,G,O,k={}){let o=j(u,M,G,O,k),{r:g=0,brBoxHeight:s=O,brBoxY:e=M}=k,t=M-e,r=e+s-(M+O),a=t-g>-.1?0:g,m=r-g>-.1?0:g,b=Math.max(a&&t,0),h=Math.max(m&&r,0),T=[u+a,M],F=[u+G-a,M],f=[u+G,M+a],L=[u+G,M+O-m],I=[u+G-m,M+O],W=[u+m,M+O],Q=[u,M+O-m],l=[u,M+a],n=(y,D)=>Math.sqrt(Math.pow(y,2)-Math.pow(D,2));if(b){let y=n(a,a-b);T[0]-=y,F[0]+=y,f[1]=l[1]=M+a-b}if(O<a-b){let y=n(a,a-b-O);f[0]=L[0]=u+G-a+y,I[0]=Math.min(f[0],I[0]),W[0]=Math.max(L[0],W[0]),Q[0]=l[0]=u+a-y,f[1]=l[1]=M+O}if(h){let y=n(m,m-h);I[0]+=y,W[0]-=y,L[1]=Q[1]=M+O-m+h}if(O<m-h){let y=n(m,m-h-O);f[0]=L[0]=u+G-m+y,F[0]=Math.min(f[0],F[0]),T[0]=Math.max(L[0],T[0]),Q[0]=l[0]=u+m-y,L[1]=Q[1]=M}return o.length=0,o.push(["M",...T],["L",...F],["A",a,a,0,0,1,...f],["L",...L],["A",m,m,0,0,1,...I],["L",...W],["A",m,m,0,0,1,...Q],["L",...l],["A",a,a,0,0,1,...T],["Z"]),o}return{compose:function(u,M,G){let O=u.types.pie;if(!M.symbolCustomAttribs.includes("borderRadius")){let k=G.prototype.symbols;nt(u,"afterColumnTranslate",d,{order:9}),nt(O,"afterTranslate",v),M.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),B=k.arc,j=k.roundedRect,k.arc=P,k.roundedRect=S}},optionsToObject:x}}),yt(Y,"Core/Responsive.js",[Y["Core/Utilities.js"]],function(K){var et;let{diffObjects:lt,extend:ht,find:dt,merge:nt,pick:at,uniqueKey:q}=K;return function($){function V(B,j){let P=B.condition;(P.callback||function(){return this.chartWidth<=at(P.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=at(P.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=at(P.minWidth,0)&&this.chartHeight>=at(P.minHeight,0)}).call(this)&&j.push(B._id)}function C(B,j){let P=this.options.responsive,d=this.currentResponsive,x=[],v;
3!j&&P&&P.rules&&P.rules.forEach(M=>{M._id===void 0&&(M._id=q()),this.matchResponsiveRule(M,x)},this);let S=nt(...x.map(M=>dt((P||{}).rules||[],G=>G._id===M)).map(M=>M&&M.chartOptions));S.isResponsiveOptions=!0,x=x.toString()||void 0;let u=d&&d.ruleIds;x===u||(d&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(d.undoOptions,B,!0),this.updatingResponsive=!1),x?((v=lt(S,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:x,mergedOptions:S,undoOptions:v},this.updatingResponsive||this.update(S,B,!0)):this.currentResponsive=void 0)}$.compose=function(B){let j=B.prototype;return j.matchResponsiveRule||ht(j,{matchResponsiveRule:V,setResponsive:C}),B}}(et||(et={})),et}),yt(Y,"masters/highcharts.src.js",[Y["Core/Globals.js"],Y["Core/Utilities.js"],Y["Core/Defaults.js"],Y["Core/Animation/Fx.js"],Y["Core/Animation/AnimationUtilities.js"],Y["Core/Renderer/HTML/AST.js"],Y["Core/Templating.js"],Y["Core/Renderer/RendererRegistry.js"],Y["Core/Renderer/RendererUtilities.js"],Y["Core/Renderer/SVG/SVGElement.js"],Y["Core/Renderer/SVG/SVGRenderer.js"],Y["Core/Renderer/HTML/HTMLElement.js"],Y["Core/Axis/Axis.js"],Y["Core/Axis/DateTimeAxis.js"],Y["Core/Axis/LogarithmicAxis.js"],Y["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],Y["Core/Axis/Tick.js"],Y["Core/Tooltip.js"],Y["Core/Series/Point.js"],Y["Core/Pointer.js"],Y["Core/Legend/Legend.js"],Y["Core/Legend/LegendSymbol.js"],Y["Core/Chart/Chart.js"],Y["Extensions/ScrollablePlotArea.js"],Y["Core/Axis/Stacking/StackingAxis.js"],Y["Core/Axis/Stacking/StackItem.js"],Y["Core/Series/Series.js"],Y["Core/Series/SeriesRegistry.js"],Y["Series/Column/ColumnDataLabel.js"],Y["Series/Pie/PieDataLabel.js"],Y["Core/Series/DataLabel.js"],Y["Extensions/OverlappingDataLabels.js"],Y["Extensions/
3BorderRadius.js"],Y["Core/Responsive.js"],Y["Core/Color/Color.js"],Y["Core/Time.js"]],function(K,et,lt,ht,dt,nt,at,q,$,V,C,B,j,P,d,x,v,S,u,M,G,O,k,o,g,s,e,t,r,a,m,b,h,T,F,f){return K.AST=nt,K.Axis=j,K.Chart=k,K.Color=F,K.DataLabel=m,K.Fx=ht,K.HTMLElement=B,K.Legend=G,K.LegendSymbol=O,K.OverlappingDataLabels=K.OverlappingDataLabels||b,K.PlotLineOrBand=x,K.Point=u,K.Pointer=M,K.RendererRegistry=q,K.Series=e,K.SeriesRegistry=t,K.StackItem=s,K.SVGElement=V,K.SVGRenderer=C,K.Templating=at,K.Tick=v,K.Time=f,K.Tooltip=S,K.animate=dt.animate,K.animObject=dt.animObject,K.chart=k.chart,K.color=F.parse,K.dateFormat=at.dateFormat,K.defaultOptions=lt.defaultOptions,K.distribute=$.distribute,K.format=at.format,K.getDeferredAnimation=dt.getDeferredAnimation,K.getOptions=lt.getOptions,K.numberFormat=at.numberFormat,K.seriesType=t.seriesType,K.setAnimation=dt.setAnimation,K.setOptions=lt.setOptions,K.stop=dt.stop,K.time=lt.defaultTime,K.timers=ht.timers,h.compose(K.Series,K.SVGElement,K.SVGRenderer),r.compose(K.Series.types.column),m.compose(K.Series),P.compose(K.Axis),B.compose(K.SVGRenderer),G.compose(K.Chart),d.compose(K.Axis),b.compose(K.Chart),a.compose(K.Series.types.pie),x.compose(K.Chart,K.Axis),M.compose(K.Chart),T.compose(K.Chart),o.compose(K.Axis,K.Chart,K.Series),g.compose(K.Axis,K.Chart,K.Series),S.compose(K.Pointer),et.extend(K,et),K}),Y["masters/highcharts.src.js"]._modules=Y,Y["masters/highcharts.src.js"]})})(_t);var ie=_t.exports;const oe=Zt(ie);export{re as H,oe as a};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.