dealposbooks 5.45.1 → 5.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/scss/components/_tables.scss +27 -3
- package/assets/scss/style.scss +4 -0
- package/{chunk-RIEXBPQ3.js → chunk-265PINEB.js} +1 -1
- package/{chunk-4OROB43Y.js → chunk-2G2COOKC.js} +1 -1
- package/{chunk-AYBSWMQT.js → chunk-37MHHHLT.js} +1 -1
- package/{chunk-IWHPWZIL.js → chunk-3H2MG3RX.js} +1 -1
- package/{chunk-PPSWJ3KZ.js → chunk-3UEIZQIL.js} +1 -1
- package/{chunk-7X6D62QP.js → chunk-3WWUSVNY.js} +1 -1
- package/{chunk-3E76NHYR.js → chunk-45SKCDTK.js} +1 -1
- package/{chunk-4SJCTDC5.js → chunk-5VNZJNWI.js} +1 -1
- package/{chunk-4LUDLDRM.js → chunk-6E6DIFFQ.js} +1 -1
- package/{chunk-F4ZNQXWG.js → chunk-6ETOXPS6.js} +1 -1
- package/{chunk-VCNN5RVA.js → chunk-6KPBN6PL.js} +1 -1
- package/{chunk-F5QD3IJY.js → chunk-6XOFO2US.js} +1 -1
- package/chunk-76ISI6NH.js +8 -0
- package/{chunk-3YP5GGRN.js → chunk-7QXFTI7P.js} +1 -1
- package/{chunk-5UQN26GG.js → chunk-BEKYAQHU.js} +1 -1
- package/chunk-BXCTHZLV.js +129 -0
- package/{chunk-4EASZOWM.js → chunk-CJMQPCRF.js} +1 -1
- package/{chunk-34AG6ZRL.js → chunk-DJSX32J5.js} +1 -1
- package/{chunk-XYDMR5UH.js → chunk-ECB5EIQL.js} +1 -1
- package/{chunk-IYWJ4NQV.js → chunk-FQIBBQO2.js} +1 -1
- package/chunk-FVWAFBXC.js +7 -0
- package/{chunk-3O7PYVJB.js → chunk-G3GX7TJT.js} +1 -1
- package/{chunk-YN2HKWAW.js → chunk-GVZFU3IL.js} +2 -2
- package/{chunk-Q5K47PTK.js → chunk-H5BCW5OG.js} +1 -1
- package/{chunk-B6BFJFA6.js → chunk-H5J2ODXS.js} +1 -1
- package/chunk-H7WUM7IF.js +1 -0
- package/{chunk-FBAUSUGQ.js → chunk-HOHCN6MI.js} +1 -1
- package/{chunk-B5ICLX2M.js → chunk-J4KTOC3S.js} +1 -1
- package/{chunk-GBBQUUCQ.js → chunk-JDN7HSFT.js} +1 -1
- package/{chunk-ZFZPBYHM.js → chunk-KJLM2JDU.js} +4 -4
- package/{chunk-NVB5C5WN.js → chunk-KRHMP57P.js} +1 -1
- package/{chunk-GVDMC4IX.js → chunk-KXRN2WUT.js} +1 -1
- package/{chunk-QMVQ67BR.js → chunk-LVSES747.js} +1 -1
- package/{chunk-V4XZTIO4.js → chunk-MXWBKCQV.js} +1 -1
- package/{chunk-MAZVUNNB.js → chunk-NA23LDSJ.js} +1 -1
- package/{chunk-34WPW5D2.js → chunk-NCP5HSZO.js} +1 -1
- package/{chunk-M675R5IO.js → chunk-NUAND7BZ.js} +1 -1
- package/{chunk-L2MQOC56.js → chunk-NWVLHJBT.js} +1 -1
- package/{chunk-X7UDCQV2.js → chunk-R4SNCEXI.js} +1 -1
- package/{chunk-55PBPTNF.js → chunk-RAM3BLIZ.js} +1 -1
- package/chunk-S2HTMYMU.js +1 -0
- package/chunk-ST5JWMO4.js +1 -0
- package/{chunk-KV6EPP4J.js → chunk-TN245HA6.js} +1 -1
- package/{chunk-EK3VPTHC.js → chunk-UOJZMQ6X.js} +1 -1
- package/{chunk-ADIJSTCG.js → chunk-UOSXT5W7.js} +1 -1
- package/{chunk-CBAJ6F64.js → chunk-V4A5GTYQ.js} +1 -1
- package/{chunk-WQLQI7VC.js → chunk-VDUU7T7V.js} +1 -1
- package/chunk-WLS2E4JE.js +1 -0
- package/{chunk-ULJ2Y7SG.js → chunk-X5TFTF7J.js} +1 -1
- package/{chunk-NKCNDLCN.js → chunk-X5UUEKFM.js} +1 -1
- package/{chunk-KYNEAC2L.js → chunk-YUYV2CG7.js} +1 -1
- package/{chunk-BCRBHPPF.js → chunk-YXJCCERT.js} +1 -1
- package/index.html +2 -2
- package/{main-VBAUVWYV.js → main-6YJJH4E2.js} +1 -1
- package/package.json +1 -1
- package/{styles-TEWF6HBI.css → styles-D4BND7FA.css} +1 -1
- package/chunk-7EJY6C3Q.js +0 -7
- package/chunk-F7JURLD3.js +0 -1
- package/chunk-KQEKK7SJ.js +0 -1
- package/chunk-OVSN4E2D.js +0 -8
- package/chunk-PUGHX4BL.js +0 -1
- package/chunk-QR5KD37B.js +0 -129
- package/chunk-VW47RJKF.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{f as ah}from"./chunk-CNXYBR45.js";import{b as xh}from"./chunk-
|
|
1
|
+
import{f as ah}from"./chunk-CNXYBR45.js";import{b as xh}from"./chunk-X5TFTF7J.js";import{a as ch}from"./chunk-5CZNOXPC.js";import"./chunk-IGWIRCAS.js";import{a as mh,b as fh}from"./chunk-EQ4PLHI4.js";import"./chunk-H7Q35Y7G.js";import"./chunk-R7N6BWL5.js";import{b as hh}from"./chunk-VJ3IBUVO.js";import{a as gh,b as uh}from"./chunk-KJ2WX3FC.js";import"./chunk-6GN3MGBY.js";import"./chunk-Q24GCSGD.js";import{h as ph}from"./chunk-GVZFU3IL.js";import"./chunk-VGNJD35F.js";import{a as lh,b as dh}from"./chunk-2XUSZCQL.js";import"./chunk-YV2QJ63P.js";import{c as nh}from"./chunk-ARH3WEEF.js";import"./chunk-H6HNANYB.js";import"./chunk-2D2YD753.js";import{e as Qa,f as th,k as eh,l as ih,o as sh,u as oh,x as rh}from"./chunk-OIBDX2CA.js";import{d as Za,e as qa,l as Ka}from"./chunk-AOOG6YOT.js";import{a as Ja}from"./chunk-3UEIZQIL.js";import"./chunk-2MKKFLNJ.js";import{k as _a,q as Va,s as Ua,z as $a}from"./chunk-VZ5CMS5O.js";import"./chunk-F2X3VGZZ.js";import{$b as Wa,Aa as _o,Ba as Da,Db as hi,Fa as Ia,Ha as Vo,Lb as oe,Nc as di,Oc as ci,Rc as ze,Vb as at,Wb as lt,Xb as re,Y as Oa,Yb as Na,Zb as Ra,_ as Yo,ca as ns,da as La,ec as $o,fb as Ba,fc as ye,hb as jt,ia as Yt,lc as Ha,mc as Fa,nb as Uo,nc as Xa,pa as Ea,qa as jo,ra as Go,rc as Ot,tc as li,wc as Ya,xb as as,xc as ja,yb as za,yc as Ga}from"./chunk-NMCKMUY4.js";import{a as At,b as se,d as Fg,e as Xg,f as Aa}from"./chunk-YQFG5XE2.js";var kh=Fg((pi,qo)=>{(function(H,yt){typeof pi=="object"&&typeof qo=="object"?(H._Highcharts=yt(),qo.exports=H._Highcharts):typeof define=="function"&&define.amd?define("highcharts/highcharts",[],yt):typeof pi=="object"?(H._Highcharts=yt(),pi.highcharts=H._Highcharts):(H.Highcharts&&H.Highcharts.error(16,!0),H.Highcharts=yt())})(typeof window>"u"?pi:window,()=>(()=>{"use strict";let H,yt;var B,R,J,vt,Ne,ls,ds,cs,ps,gs,us,ms,fs,xs,ys,bs,vs,ks,Re={};Re.d=(h,t)=>{for(var e in t)Re.o(t,e)&&!Re.o(h,e)&&Object.defineProperty(h,e,{enumerable:!0,get:t[e]})},Re.o=(h,t)=>Object.prototype.hasOwnProperty.call(h,t);var Ko={};Re.d(Ko,{default:()=>Hg}),function(h){h.SVG_NS="http://www.w3.org/2000/svg",h.product="Highcharts",h.version="12.2.0",h.win=typeof window<"u"?window:{},h.doc=h.win.document,h.svg=!!h.doc?.createElementNS?.(h.SVG_NS,"svg")?.createSVGRect,h.pageLang=h.doc?.documentElement?.closest("[lang]")?.lang,h.userAgent=h.win.navigator?.userAgent||"",h.isChrome=h.win.chrome,h.isFirefox=h.userAgent.indexOf("Firefox")!==-1,h.isMS=/(edge|msie|trident)/i.test(h.userAgent)&&!h.win.opera,h.isSafari=!h.isChrome&&h.userAgent.indexOf("Safari")!==-1,h.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(h.userAgent),h.isWebKit=h.userAgent.indexOf("AppleWebKit")!==-1,h.deg2rad=2*Math.PI/360,h.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],h.noop=function(){},h.supportsPassiveEvents=function(){let t=!1;if(!h.isMS){let e=Object.defineProperty({},"passive",{get:function(){t=!0}});h.win.addEventListener&&h.win.removeEventListener&&(h.win.addEventListener("testPassive",h.noop,e),h.win.removeEventListener("testPassive",h.noop,e))}return t}(),h.charts=[],h.composed=[],h.dateFormats={},h.seriesTypes={},h.symbolSizes={},h.chartCount=0}(B||(B={}));let A=B,{charts:Mh,doc:gi,win:ne}=A;function We(h,t,e,i){let s=t?"Highcharts error":"Highcharts warning";h===32&&(h=`${s}: Deprecated member`);let o=Ms(h),r=o?`${s} #${h}: www.highcharts.com/errors/${h}/`:h.toString();if(i!==void 0){let n="";o&&(r+="?"),ae(i,function(a,l){n+=`
|
|
2
2
|
- ${l}: ${a}`,o&&(r+=encodeURI(l)+"="+encodeURI(a))}),r+=n}rr(A,"displayError",{chart:e,code:h,message:r,params:i},function(){if(t)throw Error(r);ne.console&&We.messages.indexOf(r)===-1&&console.warn(r)}),We.messages.push(r)}function Jo(h,t){return parseInt(h,t||10)}function He(h){return typeof h=="string"}function ui(h){let t=Object.prototype.toString.call(h);return t==="[object Array]"||t==="[object Array Iterator]"}function be(h,t){return!!h&&typeof h=="object"&&(!t||!ui(h))}function ws(h){return be(h)&&typeof h.nodeType=="number"}function Qo(h){let t=h?.constructor;return!!(be(h,!0)&&!ws(h)&&t?.name&&t.name!=="Object")}function Ms(h){return typeof h=="number"&&!isNaN(h)&&h<1/0&&h>-1/0}function ve(h){return h!=null}function tr(h,t,e){let i,s=He(t)&&!ve(e),o=(r,n)=>{ve(r)?h.setAttribute(n,r):s?(i=h.getAttribute(n))||n!=="class"||(i=h.getAttribute(n+"Name")):h.removeAttribute(n)};return He(t)?o(e,t):ae(t,o),i}function er(h){return ui(h)?h:[h]}function ke(h,t){let e;for(e in h||(h={}),t)h[e]=t[e];return h}function Fe(){let h=arguments,t=h.length;for(let e=0;e<t;e++){let i=h[e];if(i!=null)return i}}function Ss(h,t){ke(h.style,t)}function ir(h){return Math.pow(10,Math.floor(Math.log(h)/Math.LN10))}function sr(h,t){return h>1e14?h:parseFloat(h.toPrecision(t||14))}(We||(We={})).messages=[],Math.easeInOutSine=function(h){return-.5*(Math.cos(Math.PI*h)-1)};let Sh=Array.prototype.find?function(h,t){return h.find(t)}:function(h,t){let e,i=h.length;for(e=0;e<i;e++)if(t(h[e],e))return h[e]};function ae(h,t,e){for(let i in h)Object.hasOwnProperty.call(h,i)&&t.call(e||h[i],h[i],i,h)}function or(h,t,e){function i(r,n){let a=h.removeEventListener;a&&a.call(h,r,n,!1)}function s(r){let n,a;h.nodeName&&(t?(n={})[t]=!0:n=r,ae(n,function(l,c){if(r[c])for(a=r[c].length;a--;)i(c,r[c][a].fn)}))}let o=typeof h=="function"&&h.prototype||h;if(Object.hasOwnProperty.call(o,"hcEvents")){let r=o.hcEvents;if(t){let n=r[t]||[];e?(r[t]=n.filter(function(a){return e!==a.fn}),i(t,e)):(s(r),r[t]=[])}else s(r),delete o.hcEvents}}function rr(h,t,e,i){if(e=e||{},gi?.createEvent&&(h.dispatchEvent||h.fireEvent&&h!==A)){let s=gi.createEvent("Events");s.initEvent(t,!0,!0),e=ke(s,e),h.dispatchEvent?h.dispatchEvent(e):h.fireEvent(t,e)}else if(h.hcEvents){e.target||ke(e,{preventDefault:function(){e.defaultPrevented=!0},target:h,type:t});let s=[],o=h,r=!1;for(;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[t]&&(s.length&&(r=!0),s.unshift.apply(s,o.hcEvents[t])),o=Object.getPrototypeOf(o);r&&s.sort((n,a)=>n.order-a.order),s.forEach(n=>{n.fn.call(h,e)===!1&&e.preventDefault()})}i&&!e.defaultPrevented&&i.call(h,e)}let Ch=function(){let h=Math.random().toString(36).substring(2,9)+"-",t=0;return function(){return"highcharts-"+(H?"":h)+t++}}();ne.jQuery&&(ne.jQuery.fn.highcharts=function(){let h=[].slice.call(arguments);if(this[0])return h[0]?(new A[He(h[0])?h.shift():"Chart"](this[0],h[0],h[1]),this):Mh[tr(this[0],"data-highcharts-chart")]});let N={addEvent:function(h,t,e,i={}){let s=typeof h=="function"&&h.prototype||h;Object.hasOwnProperty.call(s,"hcEvents")||(s.hcEvents={});let o=s.hcEvents;A.Point&&h instanceof A.Point&&h.series&&h.series.chart&&(h.series.chart.runTrackerClick=!0);let r=h.addEventListener;r&&r.call(h,t,e,!!A.supportsPassiveEvents&&{passive:i.passive===void 0?t.indexOf("touch")!==-1:i.passive,capture:!1}),o[t]||(o[t]=[]);let n={fn:e,order:typeof i.order=="number"?i.order:1/0};return o[t].push(n),o[t].sort((a,l)=>a.order-l.order),function(){or(h,t,e)}},arrayMax:function(h){let t=h.length,e=h[0];for(;t--;)h[t]>e&&(e=h[t]);return e},arrayMin:function(h){let t=h.length,e=h[0];for(;t--;)h[t]<e&&(e=h[t]);return e},attr:tr,clamp:function(h,t,e){return h>t?h<e?h:e:t},clearTimeout:function(h){ve(h)&&clearTimeout(h)},correctFloat:sr,createElement:function(h,t,e,i,s){let o=gi.createElement(h);return t&&ke(o,t),s&&Ss(o,{padding:"0",border:"none",margin:"0"}),e&&Ss(o,e),i&&i.appendChild(o),o},crisp:function(h,t=0,e){let i=t%2/2,s=e?-1:1;return(Math.round(h*s-i)+i)*s},css:Ss,defined:ve,destroyObjectProperties:function(h,t,e){ae(h,function(i,s){i!==t&&i?.destroy&&i.destroy(),(i?.destroy||!e)&&delete h[s]})},diffObjects:function(h,t,e,i){let s={};return function o(r,n,a,l){let c=e?n:r;ae(r,function(d,p){if(!l&&i&&i.indexOf(p)>-1&&n[p]){d=er(d),a[p]=[];for(let g=0;g<Math.max(d.length,n[p].length);g++)n[p][g]&&(d[g]===void 0?a[p][g]=n[p][g]:(a[p][g]={},o(d[g],n[p][g],a[p][g],l+1)))}else be(d,!0)&&!d.nodeType?(a[p]=ui(d)?[]:{},o(d,n[p]||{},a[p],l+1),Object.keys(a[p]).length===0&&(p!=="colorAxis"||l!==0)&&delete a[p]):(r[p]!==n[p]||p in r&&!(p in n))&&p!=="__proto__"&&p!=="constructor"&&(a[p]=c[p])})}(h,t,s,0),s},discardElement:function(h){h?.parentElement?.removeChild(h)},erase:function(h,t){let e=h.length;for(;e--;)if(h[e]===t){h.splice(e,1);break}},error:We,extend:ke,extendClass:function(h,t){let e=function(){};return e.prototype=new h,ke(e.prototype,t),e},find:Sh,fireEvent:rr,getAlignFactor:(h="")=>({center:.5,right:1,middle:.5,bottom:1})[h]||0,getClosestDistance:function(h,t){let e,i,s,o,r=!t;return h.forEach(n=>{if(n.length>1)for(o=i=n.length-1;o>0;o--)(s=n[o]-n[o-1])<0&&!r?(t?.(),t=void 0):s&&(e===void 0||s<e)&&(e=s)}),e},getMagnitude:ir,getNestedProperty:function(h,t){let e=h.split(".");for(;e.length&&ve(t);){let i=e.shift();if(i===void 0||i==="__proto__")return;if(i==="this"){let o;return be(t)&&(o=t["@this"]),o??t}let s=t[i.replace(/[\\'"]/g,"")];if(!ve(s)||typeof s=="function"||typeof s.nodeType=="number"||s===ne)return;t=s}return t},getStyle:function h(t,e,i){let s;if(e==="width"){let r=Math.min(t.offsetWidth,t.scrollWidth),n=t.getBoundingClientRect?.().width;return n<r&&n>=r-1&&(r=Math.floor(n)),Math.max(0,r-(h(t,"padding-left",!0)||0)-(h(t,"padding-right",!0)||0))}if(e==="height")return Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-(h(t,"padding-top",!0)||0)-(h(t,"padding-bottom",!0)||0));let o=ne.getComputedStyle(t,void 0);return o&&(s=o.getPropertyValue(e),Fe(i,e!=="opacity")&&(s=Jo(s))),s},insertItem:function(h,t){let e,i=h.options.index,s=t.length;for(e=h.options.isInternal?s:0;e<s+1;e++)if(!t[e]||Ms(i)&&i<Fe(t[e].options.index,t[e]._i)||t[e].options.isInternal){t.splice(e,0,h);break}return e},isArray:ui,isClass:Qo,isDOMElement:ws,isFunction:function(h){return typeof h=="function"},isNumber:Ms,isObject:be,isString:He,merge:function(h,...t){let e,i=[h,...t],s={},o=function(n,a){return typeof n!="object"&&(n={}),ae(a,function(l,c){c!=="__proto__"&&c!=="constructor"&&(!be(l,!0)||Qo(l)||ws(l)?n[c]=a[c]:n[c]=o(n[c]||{},l))}),n};h===!0&&(s=i[1],i=Array.prototype.slice.call(i,2));let r=i.length;for(e=0;e<r;e++)s=o(s,i[e]);return s},normalizeTickInterval:function(h,t,e,i,s){let o,r=h;e=Fe(e,ir(h));let n=h/e;for(!t&&(t=s?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],i===!1&&(e===1?t=t.filter(function(a){return a%1==0}):e<=.1&&(t=[1/e]))),o=0;o<t.length&&(r=t[o],(!s||!(r*e>=h))&&(s||!(n<=(t[o]+(t[o+1]||t[o]))/2)));o++);return sr(r*e,-Math.round(Math.log(.001)/Math.LN10))},objectEach:ae,offset:function(h){let t=gi.documentElement,e=h.parentElement||h.parentNode?h.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:e.top+(ne.pageYOffset||t.scrollTop)-(t.clientTop||0),left:e.left+(ne.pageXOffset||t.scrollLeft)-(t.clientLeft||0),width:e.width,height:e.height}},pad:function(h,t,e){return Array((t||2)+1-String(h).replace("-","").length).join(e||"0")+h},pick:Fe,pInt:Jo,pushUnique:function(h,t){return 0>h.indexOf(t)&&!!h.push(t)},relativeLength:function(h,t,e){return/%$/.test(h)?t*parseFloat(h)/100+(e||0):parseFloat(h)},removeEvent:or,replaceNested:function(h,...t){let e,i;do for(i of(e=h,t))h=h.replace(i[0],i[1]);while(h!==e);return h},splat:er,stableSort:function(h,t){let e,i,s=h.length;for(i=0;i<s;i++)h[i].safeI=i;for(h.sort(function(o,r){return(e=t(o,r))===0?o.safeI-r.safeI:e}),i=0;i<s;i++)delete h[i].safeI},syncTimeout:function(h,t,e){return t>0?setTimeout(h,t,e):(h.call(0,e),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},ucfirst:function(h){return He(h)?h.substring(0,1).toUpperCase()+h.substring(1):String(h)},uniqueKey:Ch,useSerialIds:function(h){return H=Fe(h,H)},wrap:function(h,t,e){let i=h[t];h[t]=function(){let s=arguments,o=this;return e.apply(this,[function(){return i.apply(o,arguments.length?arguments:s)}].concat([].slice.call(arguments)))}}},{pageLang:Th,win:mi}=A,{defined:nr,error:ar,extend:Cs,isNumber:hr,isObject:Ts,isString:Xe,merge:Ph,objectEach:Ah,pad:Gt,splat:Oh,timeUnits:Ps,ucfirst:Lh}=N,Eh=A.isSafari&&mi.Intl&&!mi.Intl.DateTimeFormat.prototype.formatRange,Dh=h=>h.main===void 0,Ih=class{constructor(h,t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=mi.Date,this.update(h),this.lang=t}update(h={}){this.dTLCache={},this.options=h=Ph(!0,this.options,h);let{timezoneOffset:t,useUTC:e}=h;this.Date=h.Date||mi.Date||Date;let i=h.timezone;nr(e)&&(i=e?"UTC":void 0),t&&t%60==0&&(i="Etc/GMT"+(t>0?"+":"")+t/60),this.variableTimezone=i!=="UTC"&&i?.indexOf("Etc/GMT")!==0,this.timezone=i,["months","shortMonths","weekdays","shortWeekdays"].forEach(s=>{let o=/months/i.test(s),r=/short/.test(s),n={timeZone:"UTC"};n[o?"month":"weekday"]=r?"short":"long",this[s]=(o?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(a=>this.dateFormat(n,(o?31:1)*24*36e5*a))})}toParts(h){let[t,e,i,s,o,r,n]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},h,"es").split(/(?:, | |\/|:)/g);return[s,+i-1,e,o,r,n,Math.floor(Number(h)||0)%1e3,"DLMXJVS".indexOf(t)].map(Number)}dateTimeFormat(h,t,e=this.options.locale||Th){let i=JSON.stringify(h)+e;Xe(h)&&(h=this.str2dtf(h));let s=this.dTLCache[i];if(!s){h.timeZone??(h.timeZone=this.timezone);try{s=new Intl.DateTimeFormat(e,h)}catch(o){/Invalid time zone/i.test(o.message)?(ar(34),h.timeZone="UTC",s=new Intl.DateTimeFormat(e,h)):ar(o.message,!1)}}return this.dTLCache[i]=s,s?.format(t)||""}str2dtf(h,t={}){let e={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(e).forEach(i=>{h.indexOf(i)!==-1&&Cs(t,e[i])}),t}makeTime(h,t,e=1,i=0,s,o,r){let n=this.Date.UTC(h,t,e,i,s||0,o||0,r||0);if(this.timezone!=="UTC"){let a=this.getTimezoneOffset(n);if(n+=a,[2,3,8,9,10,11].indexOf(t)!==-1&&(i<5||i>20)){let l=this.getTimezoneOffset(n);a!==l?n+=l-a:a-36e5!==this.getTimezoneOffset(n-36e5)||Eh||(n-=36e5)}}return n}parse(h){if(!Xe(h))return h??void 0;let t=(h=h.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(h),e=/^[0-9]{4}-[0-9]{2}(-[0-9]{2}|)$/.test(h);t||e||(h+="Z");let i=Date.parse(h);if(hr(i))return i+(!t||e?this.getTimezoneOffset(i):0)}getTimezoneOffset(h){if(this.timezone!=="UTC"){let[t,e,i,s,o=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},h,"en").split(/(GMT|:)/).map(Number),r=-(36e5*(i+o/60));if(hr(r))return r}return 0}dateFormat(h,t,e){let i=this.lang;if(!nr(t)||isNaN(t))return i?.invalidDate||"";if(Xe(h=h??"%Y-%m-%d %H:%M:%S")){let s,o=/%\[([a-zA-Z]+)\]/g;for(;s=o.exec(h);)h=h.replace(s[0],this.dateTimeFormat(s[1],t,i?.locale))}if(Xe(h)&&h.indexOf("%")!==-1){let s=this,[o,r,n,a,l,c,d,p]=this.toParts(t),g=i?.weekdays||this.weekdays,u=i?.shortWeekdays||this.shortWeekdays,m=i?.months||this.months,x=i?.shortMonths||this.shortMonths;Ah(Cs({a:u?u[p]:g[p].substr(0,3),A:g[p],d:Gt(n),e:Gt(n,2," "),w:p,v:i?.weekFrom??"",b:x[r],B:m[r],m:Gt(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:Gt(a),k:a,I:Gt(a%12||12),l:a%12||12,M:Gt(l),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:Gt(c),L:Gt(d,3)},A.dateFormats),function(f,y){if(Xe(h))for(;h.indexOf("%"+y)!==-1;)h=h.replace("%"+y,typeof f=="function"?f.call(s,t):f)})}else if(Ts(h)){let s=(this.getTimezoneOffset(t)||0)/36e5,o=this.timezone||"Etc/GMT"+(s>=0?"+":"")+s,{prefix:r="",suffix:n=""}=h;h=r+this.dateTimeFormat(Cs({timeZone:o},h),t)+n}return e?Lh(h):h}resolveDTLFormat(h){return Ts(h,!0)?Ts(h,!0)&&Dh(h)?{main:h}:h:{main:(h=Oh(h))[0],from:h[1],to:h[2]}}getDateFormat(h,t,e,i){let s=this.dateFormat("%m-%d %H:%M:%S.%L",t),o="01-01 00:00:00.000",r={millisecond:15,second:12,minute:9,hour:6,day:3},n="millisecond",a=n;for(n in Ps){if(h&&h===Ps.week&&+this.dateFormat("%w",t)===e&&s.substr(6)===o.substr(6)){n="week";break}if(h&&Ps[n]>h){n=a;break}if(r[n]&&s.substr(r[n])!==o.substr(r[n]))break;n!=="week"&&(a=n)}return this.resolveDTLFormat(i[n]).main}},{defined:lr,extend:Bh,timeUnits:nt}=N,As=class extends Ih{getTimeTicks(h,t,e,i){let s=this,o=[],r={},{count:n=1,unitRange:a}=h,[l,c,d,p,g,u]=s.toParts(t),m=(t||0)%1e3,x;if(i??(i=1),lr(t)){if(m=a>=nt.second?0:n*Math.floor(m/n),a>=nt.second&&(u=a>=nt.minute?0:n*Math.floor(u/n)),a>=nt.minute&&(g=a>=nt.hour?0:n*Math.floor(g/n)),a>=nt.hour&&(p=a>=nt.day?0:n*Math.floor(p/n)),a>=nt.day&&(d=a>=nt.month?1:Math.max(1,n*Math.floor(d/n))),a>=nt.month&&(c=a>=nt.year?0:n*Math.floor(c/n)),a>=nt.year&&(l-=l%n),a===nt.week){n&&(t=s.makeTime(l,c,d,p,g,u,m));let b=this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},t,"es"),v="DLMXJVS".indexOf(b);d+=-v+i+(v<i?-7:0)}t=s.makeTime(l,c,d,p,g,u,m),s.variableTimezone&&lr(e)&&(x=e-t>4*nt.month||s.getTimezoneOffset(t)!==s.getTimezoneOffset(e));let f=t,y=1;for(;f<e;)o.push(f),a===nt.year?f=s.makeTime(l+y*n,0):a===nt.month?f=s.makeTime(l,c+y*n):x&&(a===nt.day||a===nt.week)?f=s.makeTime(l,c,d+y*n*(a===nt.day?1:7)):x&&a===nt.hour&&n>1?f=s.makeTime(l,c,d,p+y*n):f+=a*n,y++;o.push(f),a<=nt.hour&&o.length<1e4&&o.forEach(b=>{b%18e5==0&&s.dateFormat("%H%M%S%L",b)==="000000000"&&(r[b]="day")})}return o.info=Bh(h,{higherRanks:r,totalRange:a*n}),o}},{isTouchDevice:zh}=A,{fireEvent:Nh,merge:Rh}=N,Ht={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{weekFrom:"week from",chartTitle:"Chart title",locale:void 0,loading:"Loading...",months:void 0,seriesName:"Series {add index 1}",shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],pieSliceName:"Slice",resetZoom:"Reset zoom",yAxisTitle:"Values",resetZoomTitle:"Reset zoom level 1:1"},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,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{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"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},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:h=>Math.sqrt(1-Math.pow(h-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"%v %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,position:{x:0,y:3},shared:!1,snap:zh?25:10,headerFormat:'<span style="font-size: 0.8em">{ucfirst point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25CF</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 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"}},Os=new As(Ht.time,Ht.lang),Mt={defaultOptions:Ht,defaultTime:Os,getOptions:function(){return Ht},setOptions:function(h){return Nh(A,"setOptions",{options:h}),Rh(!0,Ht,h),h.time&&Os.update(Ht.time),h.lang&&"locale"in h.lang&&Os.update({locale:h.lang.locale}),h.lang?.chartTitle&&(Ht.title=se(At({},Ht.title),{text:h.lang.chartTitle})),Ht}},{win:Wh}=A,{isNumber:Ye,isString:Hh,merge:Fh,pInt:xt,defined:dr}=N,cr=(h,t,e)=>`color-mix(in srgb,${h},${t} ${100*e}%)`,Ls=h=>Hh(h)&&!!h&&h!=="none";class et{static parse(t){return t?new et(t):et.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let r=A.Color;if(r&&r!==et)return new r(t);if(typeof t=="object"&&t.stops!==void 0)this.stops=t.stops.map(n=>new et(n[1]));else if(typeof t=="string")for(this.input=t=et.names[t.toLowerCase()]||t,s=et.parsers.length;s--&&!i;)(e=(o=et.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if(this.output)return this.output;if(typeof e=="object"&&this.stops!==void 0){let s=Fh(e);return s.stops=[].slice.call(s.stops),this.stops.forEach((o,r)=>{s.stops[r]=[s.stops[r][0],o.get(t)]}),s}return i&&Ye(i[0])?t!=="rgb"&&(t||i[3]!==1)?t==="a"?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(i){i.brighten(t)});else if(Ye(t)&&t!==0)if(Ye(e[0]))for(let i=0;i<3;i++)e[i]+=xt(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);else et.useColorMix&&Ls(this.input)&&(this.output=cr(this.input,t>0?"white":"black",Math.abs(t)));return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!Ye(i[0])||!Ye(s[0]))return et.useColorMix&&Ls(this.input)&&Ls(t.input)&&e<.99?cr(this.input,t.input,e):t.input||"none";let o=s[3]!==1||i[3]!==1,r=(a,l)=>a+(i[l]-a)*(1-e),n=s.slice(0,3).map(r).map(Math.round);return o&&n.push(r(s[3],3)),(o?"rgba(":"rgb(")+n.join(",")+")"}}et.names={white:"#ffffff",black:"#000000"},et.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(h){return[xt(h[1]),xt(h[2]),xt(h[3]),parseFloat(h[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(h){return[xt(h[1]),xt(h[2]),xt(h[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(h){return[xt(h[1]+h[1],16),xt(h[2]+h[2],16),xt(h[3]+h[3],16),dr(h[4])?xt(h[4]+h[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(h){return[xt(h[1],16),xt(h[2],16),xt(h[3],16),dr(h[4])?xt(h[4],16)/255:1]}}],et.useColorMix=Wh.CSS?.supports("color","color-mix(in srgb,red,blue 9%)"),et.None=new et("");let{parse:pr}=et,{win:Xh}=A,{isNumber:Es,objectEach:Yh}=N,he=(()=>{class h{constructor(e,i,s){this.pos=NaN,this.options=i,this.elem=e,this.prop=s}dSetter(){let e=this.paths,i=e?.[0],s=e?.[1],o=this.now||0,r=[];if(o!==1&&i&&s)if(i.length===s.length&&o<1)for(let n=0;n<s.length;n++){let a=i[n],l=s[n],c=[];for(let d=0;d<l.length;d++){let p=a[d],g=l[d];Es(p)&&Es(g)&&(l[0]!=="A"||d!==4&&d!==5)?c[d]=p+o*(g-p):c[d]=g}r.push(c)}else r=s;else r=this.toD||[];this.elem.attr("d",r,void 0,!0)}update(){let e=this.elem,i=this.prop,s=this.now,o=this.options.step;this[i+"Setter"]?this[i+"Setter"]():e.attr?e.element&&e.attr(i,s,null,!0):e.style[i]=s+this.unit,o&&o.call(e,s,this)}run(e,i,s){let o=this,r=o.options,n=function(c){return!n.stopped&&o.step(c)},a=Xh.requestAnimationFrame||function(c){setTimeout(c,13)},l=function(){for(let c=0;c<h.timers.length;c++)h.timers[c]()||h.timers.splice(c--,1);h.timers.length&&a(l)};e!==i||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=e,this.end=i,this.unit=s,this.now=this.start,this.pos=0,n.elem=this.elem,n.prop=this.prop,n()&&h.timers.push(n)===1&&a(l)):(delete r.curAnim[this.prop],r.complete&&Object.keys(r.curAnim).length===0&&r.complete.call(this.elem))}step(e){let i,s,o=+new Date,r=this.options,n=this.elem,a=r.complete,l=r.duration,c=r.curAnim;return n.attr&&!n.element?i=!1:e||o>=l+this.startTime?(this.now=this.end,this.pos=1,this.update(),c[this.prop]=!0,s=!0,Yh(c,function(d){d!==!0&&(s=!1)}),s&&a&&a.call(n),i=!1):(this.pos=r.easing((o-this.startTime)/l),this.now=this.start+(this.end-this.start)*this.pos,this.update(),i=!0),i}initPath(e,i,s){let o=e.startX,r=e.endX,n=s.slice(),a=e.isArea,l=a?2:1,c=i&&s.length>i.length&&s.hasStackedCliffs,d,p,g,u,m=i?.slice();if(!m||c)return[n,n];function x(y,b){for(;y.length<p;){let v=y[0],S=b[p-y.length];if(S&&v[0]==="M"&&(S[0]==="C"?y[0]=["C",v[1],v[2],v[1],v[2],v[1],v[2]]:y[0]=["L",v[1],v[2]]),y.unshift(v),a){let w=y.pop();y.push(y[y.length-1],w)}}}function f(y){for(;y.length<p;){let b=y[Math.floor(y.length/l)-1].slice();if(b[0]==="C"&&(b[1]=b[5],b[2]=b[6]),a){let v=y[Math.floor(y.length/l)].slice();y.splice(y.length/2,0,b,v)}else y.push(b)}}if(o&&r&&r.length){for(g=0;g<o.length;g++){if(o[g]===r[0]){d=g;break}if(o[0]===r[r.length-o.length+g]){d=g,u=!0;break}if(o[o.length-1]===r[r.length-o.length+g]){d=o.length-g;break}}d===void 0&&(m=[])}return m.length&&Es(d)&&(p=n.length+d*l,u?(x(m,n),f(n)):(x(n,m),f(m))),[m,n]}fillSetter(){h.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,pr(this.start).tweenTo(pr(this.end),this.pos),void 0,!0)}}return h.timers=[],h})(),{defined:jh,getStyle:Gh,isArray:_h,isNumber:Vh,isObject:Ds,merge:gr,objectEach:Uh,pick:$h}=N;function Is(h){return Ds(h)?gr({duration:500,defer:0},h):{duration:500*!!h,defer:0}}function ur(h,t){let e=he.timers.length;for(;e--;)he.timers[e].elem!==h||t&&t!==he.timers[e].prop||(he.timers[e].stopped=!0)}let gt={animate:function(h,t,e){let i,s="",o,r,n;Ds(e)||(n=arguments,e={duration:n[2],easing:n[3],complete:n[4]}),Vh(e.duration)||(e.duration=400),e.easing=typeof e.easing=="function"?e.easing:Math[e.easing]||Math.easeInOutSine,e.curAnim=gr(t),Uh(t,function(a,l){ur(h,l),r=new he(h,e,l),o=void 0,l==="d"&&_h(t.d)?(r.paths=r.initPath(h,h.pathArray,t.d),r.toD=t.d,i=0,o=1):h.attr?i=h.attr(l):(i=parseFloat(Gh(h,l))||0,l!=="opacity"&&(s="px")),o||(o=a),typeof o=="string"&&o.match("px")&&(o=o.replace(/px/g,"")),r.run(i,o,s)})},animObject:Is,getDeferredAnimation:function(h,t,e){let i=Is(t),s=e?[e]:h.series,o=0,r=0;return s.forEach(n=>{let a=Is(n.options.animation);o=Ds(t)&&jh(t.defer)?i.defer:Math.max(o,a.duration+a.defer),r=Math.min(i.duration,a.duration)}),h.renderer.forExport&&(o=0),{defer:Math.max(0,o-r),duration:Math.min(o,r)}},setAnimation:function(h,t){t.renderer.globalAnimation=$h(h,t.options.chart.animation,!0)},stop:ur},{SVG_NS:mr,win:Zh}=A,{attr:qh,createElement:Kh,css:Jh,error:fr,isFunction:Qh,isString:xr,objectEach:yr,splat:tl}=N,{trustedTypes:Bs}=Zh,fi=Bs&&Qh(Bs.createPolicy)&&Bs.createPolicy("highcharts",{createHTML:h=>h}),el=fi?fi.createHTML(""):"";class Q{static filterUserAttributes(t){return yr(t,(e,i)=>{let s=!0;Q.allowedAttributes.indexOf(i)===-1&&(s=!1),["background","dynsrc","href","lowsrc","src"].indexOf(i)!==-1&&(s=xr(e)&&Q.allowedReferences.some(o=>e.indexOf(o)===0)),s||(fr(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),xr(e)&&t[i]&&(t[i]=e.replace(/</g,"<"))}),t}static parseStyle(t){return t.split(";").reduce((e,i)=>{let s=i.split(":").map(r=>r.trim()),o=s.shift();return o&&s.length&&(e[o.replace(/-([a-z])/g,r=>r[1].toUpperCase())]=s.join(":")),e},{})}static setElementHTML(t,e){t.innerHTML=Q.emptyHTML,e&&new Q(e).addToDOM(t)}constructor(t){this.nodes=typeof t=="string"?this.parseMarkup(t):t}addToDOM(t){return function e(i,s){let o;return tl(i).forEach(function(r){let n,a=r.tagName,l=r.textContent?A.doc.createTextNode(r.textContent):void 0,c=Q.bypassHTMLFiltering;if(a)if(a==="#text")n=l;else if(Q.allowedTags.indexOf(a)!==-1||c){let d=a==="svg"?mr:s.namespaceURI||mr,p=A.doc.createElementNS(d,a),g=r.attributes||{};yr(r,function(u,m){m!=="tagName"&&m!=="attributes"&&m!=="children"&&m!=="style"&&m!=="textContent"&&(g[m]=u)}),qh(p,c?g:Q.filterUserAttributes(g)),r.style&&Jh(p,r.style),l&&p.appendChild(l),e(r.children||[],p),n=p}else fr(33,!1,void 0,{"Invalid tagName in config":a});n&&s.appendChild(n),o=n}),o}(this.nodes,t)}parseMarkup(t){let e,i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(fi?fi.createHTML(t):t,"text/html")}catch{}if(!e){let o=Kh("div");o.innerHTML=t,e={body:o}}let s=(o,r)=>{let n=o.nodeName.toLowerCase(),a={tagName:n};n==="#text"&&(a.textContent=o.textContent||"");let l=o.attributes;if(l){let c={};[].forEach.call(l,d=>{d.name==="data-style"?a.style=Q.parseStyle(d.value):c[d.name]=d.value}),a.attributes=c}if(o.childNodes.length){let c=[];[].forEach.call(o.childNodes,d=>{s(d,c)}),c.length&&(a.children=c)}r.push(a)};return[].forEach.call(e.body.childNodes,o=>s(o,i)),i}}Q.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","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],Q.allowedReferences=["https://","http://","mailto:","/","../","./","#"],Q.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"],Q.emptyHTML=el,Q.bypassHTMLFiltering=!1;let{defaultOptions:br,defaultTime:vr}=Mt,{pageLang:il}=A,{extend:sl,getNestedProperty:ol,isArray:rl,isNumber:kr,isObject:nl,isString:al,pick:hl,ucfirst:ll}=N,xi={add:(h,t)=>h+t,divide:(h,t)=>t!==0?h/t:"",eq:(h,t)=>h==t,each:function(h){let t=arguments[arguments.length-1];return!!rl(h)&&h.map((e,i)=>yi(t.body,sl(nl(e)?e:{"@this":e},{"@index":i,"@first":i===0,"@last":i===h.length-1}))).join("")},ge:(h,t)=>h>=t,gt:(h,t)=>h>t,if:h=>!!h,le:(h,t)=>h<=t,lt:(h,t)=>h<t,multiply:(h,t)=>h*t,ne:(h,t)=>h!=t,subtract:(h,t)=>h-t,ucfirst:ll,unless:h=>!h},wr={},Mr=h=>/^["'].+["']$/.test(h);function yi(h="",t,e){let i=/\{([a-zA-Z\u00C0-\u017F\d:\.,;\-\/<>\[\]%_@+"'’= #\(\)]+)\}/g,s=/\(([a-zA-Z\u00C0-\u017F\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/g,o=[],r=/f$/,n=/\.(\d)/,a=e?.options?.lang||br.lang,l=e?.time||vr,c=e?.numberFormatter||Sr,d=(x="")=>{let f;return x==="true"||x!=="false"&&((f=Number(x)).toString()===x?f:Mr(x)?x.slice(1,-1):ol(x,t))},p,g,u=0,m;for(;(p=i.exec(h))!==null;){let x=p,f=s.exec(p[1]);f&&(p=f,m=!0),g?.isBlock||(g={ctx:t,expression:p[1],find:p[0],isBlock:p[1].charAt(0)==="#",start:p.index,startInner:p.index+p[0].length,length:p[0].length});let y=(g.isBlock?x:p)[1].split(" ")[0].replace("#","");xi[y]&&(g.isBlock&&y===g.fn&&u++,g.fn||(g.fn=y));let b=p[1]==="else";if(g.isBlock&&g.fn&&(p[1]===`/${g.fn}`||b))if(u)!b&&u--;else{let v=g.startInner,S=h.substr(v,p.index-v);g.body===void 0?(g.body=S,g.startInner=p.index+p[0].length):g.elseBody=S,g.find+=S+p[0],b||(o.push(g),g=void 0)}else g.isBlock||o.push(g);if(f&&!g?.isBlock)break}return o.forEach(x=>{let f,y,{body:b,elseBody:v,expression:S,fn:w}=x;if(w){let k=[x],M=[],C=S.length,T=0,P;for(y=0;y<=C;y++){let O=S.charAt(y);P||O!=='"'&&O!=="'"?P===O&&(P=""):P=O,P||O!==" "&&y!==C||(M.push(S.substr(T,y-T)),T=y+1)}for(y=xi[w].length;y--;)k.unshift(d(M[y+1]));f=xi[w].apply(t,k),x.isBlock&&typeof f=="boolean"&&(f=yi(f?b:v,t,e))}else{let k=Mr(S)?[S]:S.split(":");if(f=d(k.shift()||""),k.length&&typeof f=="number"){let M=k.join(":");if(r.test(M)){let C=parseInt((M.match(n)||["","-1"])[1],10);f!==null&&(f=c(f,C,a.decimalPoint,M.indexOf(",")>-1?a.thousandsSep:""))}else f=l.dateFormat(M,f)}s.lastIndex=0,s.test(x.find)&&al(f)&&(f=`"${f}"`)}h=h.replace(x.find,hl(f,""))}),m?yi(h,t,e):h}function Sr(h,t,e,i){t*=1;let s,o,[r,n]=(h=+h||0).toString().split("e").map(Number),a=this?.options?.lang||br.lang,l=(h.toString().split(".")[1]||"").split("e")[0].length,c=t,d={};e??(e=a.decimalPoint),i??(i=a.thousandsSep),t===-1?t=Math.min(l,20):kr(t)?t&&n<0&&((o=t+n)>=0?(r=+r.toExponential(o).split("e")[0],t=o):(r=Math.floor(r),h=t<20?+(r*Math.pow(10,n)).toFixed(t):0,n=0)):t=2,n&&(t??(t=2),h=r),kr(t)&&t>=0&&(d.minimumFractionDigits=t,d.maximumFractionDigits=t),i===""&&(d.useGrouping=!1);let p=i||e,g=p?"en":this?.locale||a.locale||il,u=JSON.stringify(d)+g;return s=(wr[u]??(wr[u]=new Intl.NumberFormat(g,d))).format(h),p&&(s=s.replace(/([,\.])/g,"_$1").replace(/_\,/g,i??",").replace("_.",e??".")),(t||+s!=0)&&(!(n<0)||c)||(s="0"),n&&+s!=0&&(s+="e"+(n<0?"":"+")+n),s}let St={dateFormat:function(h,t,e){return vr.dateFormat(h,t,e)},format:yi,helpers:xi,numberFormat:Sr};(function(h){let t;h.rendererTypes={},h.getRendererType=function(e=t){return h.rendererTypes[e]||h.rendererTypes[t]},h.registerRendererType=function(e,i,s){h.rendererTypes[e]=i,(!t||s)&&(t=e,A.Renderer=i)}})(R||(R={}));let je=R,{clamp:dl,pick:cl,pushUnique:pl,stableSort:zs}=N;(J||(J={})).distribute=function h(t,e,i){let s=t,o=s.reducedLen||e,r=(b,v)=>b.target-v.target,n=[],a=t.length,l=[],c=n.push,d,p,g,u=!0,m,x,f=0,y;for(d=a;d--;)f+=t[d].size;if(f>o){for(zs(t,(b,v)=>(v.rank||0)-(b.rank||0)),g=(y=t[0].rank===t[t.length-1].rank)?a/2:-1,p=y?g:a-1;g&&f>o;)m=t[d=Math.floor(p)],pl(l,d)&&(f-=m.size),p+=g,y&&p>=t.length&&(g/=2,p=g);l.sort((b,v)=>v-b).forEach(b=>c.apply(n,t.splice(b,1)))}for(zs(t,r),t=t.map(b=>({size:b.size,targets:[b.target],align:cl(b.align,.5)}));u;){for(d=t.length;d--;)m=t[d],x=(Math.min.apply(0,m.targets)+Math.max.apply(0,m.targets))/2,m.pos=dl(x-m.size*m.align,0,e-m.size);for(d=t.length,u=!1;d--;)d>0&&t[d-1].pos+t[d-1].size>t[d].pos&&(t[d-1].size+=t[d].size,t[d-1].targets=t[d-1].targets.concat(t[d].targets),t[d-1].align=.5,t[d-1].pos+t[d-1].size>e&&(t[d-1].pos=e-t[d-1].size),t.splice(d,1),u=!0)}return c.apply(s,n),d=0,t.some(b=>{let v=0;return(b.targets||[]).some(()=>(s[d].pos=b.pos+v,i!==void 0&&Math.abs(s[d].pos-s[d].target)>i?(s.slice(0,d+1).forEach(S=>delete S.pos),s.reducedLen=(s.reducedLen||e)-.1*e,s.reducedLen>.1*e&&h(s,e,i),!0):(v+=s[d].size,d++,!1)))}),zs(s,r),s};let bi=J,{animate:gl,animObject:ul,stop:Cr}=gt,{deg2rad:Tr,doc:we,svg:ml,SVG_NS:vi,win:fl,isFirefox:xl}=A,{addEvent:yl,attr:Ns,createElement:bl,crisp:ki,css:Pr,defined:It,erase:vl,extend:Ge,fireEvent:Rs,getAlignFactor:Ws,isArray:Ar,isFunction:Or,isNumber:kl,isObject:wl,isString:Lr,merge:Hs,objectEach:Me,pick:Ft,pInt:wi,pushUnique:Ml,replaceNested:Sl,syncTimeout:Cl,uniqueKey:Er}=N;class dt{_defaultGetter(t){let e=Ft(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),this.textStr!==void 0&&this.element.nodeName==="text"&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(s,o){return i.indexOf(o)===-1&&s.push(o),s},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o=this.renderer,r=o.alignedObjects,n=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let a=!i||Lr(i)?i||"renderer":void 0;a&&(n&&Ml(r,this),i=void 0);let l=Ft(i,o[a],o),c=(l.x||0)+(t.x||0)+((l.width||0)-(t.width||0))*Ws(t.align),d=(l.y||0)+(t.y||0)+((l.height||0)-(t.height||0))*Ws(t.verticalAlign),p={"text-align":t?.align};return p[e?"translateX":"x"]=Math.round(c),p[e?"translateY":"y"]=Math.round(d),s&&(this[this.placed?"animate":"attr"](p),this.placed=!0),this.alignAttr=p,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=ul(Ft(e,this.renderer.globalAnimation,!0)),o=s.defer;return we.hidden&&(s.duration=0),s.duration!==0?(i&&(s.complete=i),Cl(()=>{this.element&&gl(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),Me(t,function(r,n){s.step&&s.step.call(this,r,{prop:n,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;t.indexOf("contrast")!==-1&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.indexOf(" "),s=t.substring(i+1),o=t.substring(0,i);if(o&&o!=="none"&&A.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(c,d,p){return 2*Number(d)+p}),this.removeTextOutline();let r=we.createElementNS(vi,"tspan");Ns(r,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let n=e.querySelector("textPath")||e;[].forEach.call(n.childNodes,c=>{let d=c.cloneNode(!0);d.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(p=>d.removeAttribute(p)),r.appendChild(d)});let a=0;[].forEach.call(n.querySelectorAll("text tspan"),c=>{a+=Number(c.getAttribute("dy"))});let l=we.createElementNS(vi,"tspan");l.textContent="\u200B",Ns(l,{x:Number(e.getAttribute("x")),dy:-a}),r.appendChild(l),n.insertBefore(r,n.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=dt.symbolCustomAttribs,n,a,l=this,c;return typeof t=="string"&&e!==void 0&&(n=t,(t={})[n]=e),typeof t=="string"?l=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(Me(t,function(d,p){c=!1,s||Cr(this,p),this.symbolName&&r.indexOf(p)!==-1&&(a||(this.symbolAttr(t),a=!0),c=!0),this.rotation&&(p==="x"||p==="y")&&(this.doTransform=!0),c||(this[p+"Setter"]||this._defaultSetter).call(this,d,p,o)},this),this.afterSetters()),i&&i.call(this),l}clip(t){if(t&&!t.clipPath){let e=Er()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);Ge(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,n=ki(i,e),a=ki(s,e);return Ge(t,{x:n,y:a,width:ki(o,e)-n,height:ki(r,e)-a}),It(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,n,a,l,c,d,p,g,u,m=[],x;Rs(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(n=t[r],l=s.gradients,c=t.stops,g=i.radialReference,Ar(n)&&(t[r]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),r==="radialGradient"&&g&&!It(n.gradientUnits)&&(a=n,n=Hs(n,s.getRadialAttr(g,a),{gradientUnits:"userSpaceOnUse"})),Me(n,function(f,y){y!=="id"&&m.push(y,f)}),Me(c,function(f){m.push(f)}),l[m=m.join(",")])u=l[m].attr("id");else{n.id=u=Er();let f=l[m]=s.createElement(r).attr(n).add(s.defs);f.radAttr=a,f.stops=[],c.forEach(function(y){y[1].indexOf("rgba")===0?(d=(o=et.parse(y[1])).get("rgb"),p=o.get("a")):(d=y[1],p=1);let b=s.createElement("stop").attr({offset:y[0],"stop-color":d,"stop-opacity":p}).add(f);f.stops.push(b)})}x="url("+s.url+"#"+u+")",i.setAttribute(e,x),i.gradient=m,t.toString=function(){return x}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&Me(t,function(n,a){e&&e[a]!==n&&(i[a]=n,r=!0)}),r){e&&(t=Ge(e,i)),t.width===null||t.width==="auto"?delete this.textWidth:s.nodeName.toLowerCase()==="text"&&t.width&&(o=this.textWidth=wi(t.width)),Ge(this.styles,t),o&&!ml&&this.renderer.forExport&&delete t.width;let n=xl&&t.fontSize||null;n&&(kl(n)||/^\d+$/.test(n))&&(t.fontSize+="px");let a=Hs(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(l=>a&&delete a[l]),a.color&&(a.fill=a.color,delete a.color)),Pr(s,a)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if(i==="inherit"&&(i=1),t){let s=(t=t.toLowerCase()).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(e=s.length;e--;)s[e]=""+wi(s[e])*Ft(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,o=e.nodeName==="SPAN"&&t.parentGroup||void 0,r,n;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,Cr(t),t.clipPath&&s){let a=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(l){l.getAttribute("clip-path").indexOf(a.element.id)>-1&&l.removeAttribute("clip-path")}),t.clipPath=a.destroy()}if(t.stops){for(n=0;n<t.stops.length;n++)t.stops[n].destroy();t.stops.length=0,t.stops=void 0}for(t.safeRemoveChild(e);o?.div&&o.div.childNodes.length===0;)r=o.parentGroup,t.safeRemoveChild(o.div),delete o.div,o=r;t.alignOptions&&vl(i.alignedObjects,t),Me(t,(a,l)=>{(t[l]?.parentGroup===t||["connector","foreignObject"].indexOf(l)!==-1)&&t[l]?.destroy?.(),delete t[l]})}dSetter(t,e,i){Ar(t)&&(typeof t[0]=="string"&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce((s,o,r)=>o?.join?(r?s+" ":"")+o.join(" "):(o||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){typeof t=="string"?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r,{alignValue:n,element:a,renderer:l,styles:c,textStr:d}=this,{cache:p,cacheKeys:g}=l,u=a.namespaceURI===this.SVG_NS,m=Ft(e,this.rotation,0),x=l.styledMode?a&&dt.prototype.getStyle.call(a,"font-size"):c.fontSize;if(It(d)&&((r=d.toString()).indexOf("<")===-1&&(r=r.replace(/\d/g,"0")),r+=["",l.rootFontSize,x,m,this.textWidth,n,c.lineClamp,c.textOverflow,c.fontWeight].join(",")),r&&!t&&(i=p[r]),!i||i.polygon){if(u||l.forExport){try{o=this.fakeTS&&function(y){let b=a.querySelector(".highcharts-text-outline");b&&Pr(b,{display:y})},Or(o)&&o("none"),i=a.getBBox?Ge({},a.getBBox()):{width:a.offsetWidth,height:a.offsetHeight,x:0,y:0},Or(o)&&o("")}catch{}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s={"11px,17":14,"13px,20":16}[`${x||""},${Math.round(s)}`]||s),m&&(i=this.getRotatedBox(i,m));let f={bBox:i};Rs(this,"afterGetBBox",f),i=f.bBox}if(r&&(d===""||i.height>0)){for(;g.length>250;)delete p[g.shift()];p[r]||g.push(r),p[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:n,translateY:a,rotationOriginX:l=0,rotationOriginY:c=0}=this,d=Ws(n),p=Number(this.element.getAttribute("y")||0)-(a?0:s),g=e*Tr,u=(e-90)*Tr,m=Math.cos(g),x=Math.sin(g),f=o*m,y=o*x,b=Math.cos(u),v=Math.sin(u),[[S,w],[k,M]]=[l,c].map(F=>[F-F*m,F*x]),C=i+d*(o-f)+S+M+p*b,T=C+f,P=T-r*b,O=P-f,L=s+p-d*y-w+k+p*v,D=L+y,I=D-r*v,E=I-y,z=Math.min(C,T,P,O),K=Math.min(L,D,I,E),_=Math.max(C,T,P,O)-z,mt=Math.max(L,D,I,E)-K;return{x:z,y:K,width:_,height:mt,polygon:[[C,L],[T,D],[P,I],[O,E]]}}getStyle(t){return fl.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return(""+this.attr("class")).split(" ").indexOf(t)!==-1}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=vi,this.element=e==="span"||e==="body"?bl(e):we.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},Rs(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=yl(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(Lr(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient]||void 0;return this.element.radialReference=t,e?.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=Hs(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},wl(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=wi(t):t!==""&&(Ns(i=we.createElementNS(vi,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;dt.symbolCustomAttribs.forEach(function(i){e[i]=Ft(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||we.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=Sl(Ft(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,foreignObject:i,matrix:s,padding:o,rotation:r=0,rotationOriginX:n,rotationOriginY:a,scaleX:l,scaleY:c,text:d,translateX:p=0,translateY:g=0}=this,u=["translate("+p+","+g+")"];It(s)&&u.push("matrix("+s.join(",")+")"),r&&(u.push("rotate("+r+" "+(n??e.getAttribute("x")??this.x??0)+" "+(a??e.getAttribute("y")??this.y??0)+")"),d?.element.tagName!=="SPAN"||d?.foreignObject||d.attr({rotation:r,rotationOriginX:(n||0)-o,rotationOriginY:(a||0)-o})),(It(l)||It(c))&&u.push("scale("+Ft(l,1)+" "+Ft(c,1)+")"),u.length&&!(d||this).textPath&&(i?.element||e).setAttribute(t,u.join(" "))}visibilitySetter(t,e,i){t==="inherit"?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return this.element.nodeName==="circle"&&(t==="x"?t="cx":t==="y"&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,n=o===i.box,a,l,c,d=!1,p,g=this.added,u;if(It(t)?(r.setAttribute("data-z-index",t),t*=1,this[e]===t&&(g=!1)):It(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,g){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(a=o.childNodes).length-1;u>=0&&!d;u--)p=!It(c=(l=a[u]).getAttribute("data-z-index")),l!==r&&(t<0&&p&&!n&&!u?(o.insertBefore(r,a[u]),d=!0):(wi(c)<=t||p&&(!It(t)||t>=0))&&(o.insertBefore(r,a[u+1]),d=!0));d||(o.insertBefore(r,a[3*!!n]),d=!0)}return d}}dt.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],dt.prototype.strokeSetter=dt.prototype.fillSetter,dt.prototype.yGetter=dt.prototype.xGetter,dt.prototype.matrixSetter=dt.prototype.rotationOriginXSetter=dt.prototype.rotationOriginYSetter=dt.prototype.rotationSetter=dt.prototype.scaleXSetter=dt.prototype.scaleYSetter=dt.prototype.translateXSetter=dt.prototype.translateYSetter=dt.prototype.verticalAlignSetter=function(h,t){this[t]=h,this.doTransform=!0};let Bt=dt,{defined:Dr,extend:Tl,getAlignFactor:Ir,isNumber:_e,merge:Pl,pick:Mi,removeEvent:Br}=N;class le extends Bt{constructor(t,e,i,s,o,r,n,a,l,c){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=n,this.baseline=l,this.className=c,this.addClass(c==="button"?"highcharts-no-tooltip":"highcharts-label"),c&&this.addClass("highcharts-"+c),this.text=t.text(void 0,0,0,a).attr({zIndex:1}),typeof o=="string"&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=le.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=Ir(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&_e(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=Pl(t),le.textProps.forEach(i=>{t[i]!==void 0&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return Bt.prototype.css.call(this,t)}destroy(){Br(this.element,"mouseenter"),Br(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),Bt.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&this.bBox.width===0&&this.bBox.height===0&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:n=0}=this,a=Mi(this.paddingLeft,i),l=e??(this.rotation||0),c={width:n,height:s,x:o+this.bBox.x-a,y:r+this.bBox.y-i+this.baselineOffset};return l&&(c=this.getRotatedBox(c,l)),c}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:Mi(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&Dr(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){_e(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=this["text-align"]=t,this.updateTextPadding()}textSetter(t){t!==void 0&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t,e=this.text,i={},s=this.padding,o=this.bBox=(!_e(this.widthSetting)||!_e(this.heightSetting)||this.textAlign)&&Dr(e.textStr)?e.getBBox(void 0,0):le.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let n=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();n.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),n.add(this)}i.x=t=this.getCrispAdjust(),i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(Tl(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+Ir(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),i!==void 0&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=_e(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=Mi(this.paddingLeft,t),i=Mi(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}le.emptyBBox={width:0,height:0,x:0,y:0},le.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let{defined:zr,isNumber:Al,pick:Ve}=N;function Nr(h,t,e,i,s){let o=[];if(s){let r=s.start||0,n=s.end||0,a=Ve(s.r,e),l=Ve(s.r,i||e),c=2e-4/(s.borderRadius?1:Math.max(a,1)),d=Math.abs(n-r-2*Math.PI)<c;d&&(r=Math.PI/2,n=2.5*Math.PI-c);let p=s.innerR,g=Ve(s.open,d),u=Math.cos(r),m=Math.sin(r),x=Math.cos(n),f=Math.sin(n),y=Ve(s.longArc,n-r-Math.PI<c?0:1),b=["A",a,l,0,y,Ve(s.clockwise,1),h+a*x,t+l*f];b.params={start:r,end:n,cx:h,cy:t},o.push(["M",h+a*u,t+l*m],b),zr(p)&&((b=["A",p,p,0,y,zr(s.clockwise)?1-s.clockwise:0,h+p*u,t+p*m]).params={start:n,end:r,cx:h,cy:t},o.push(g?["M",h+p*x,t+p*f]:["L",h+p*x,t+p*f],b)),g||o.push(["Z"])}return o}function Rr(h,t,e,i,s){return s?.r?Fs(h,t,e,i,s):[["M",h,t],["L",h+e,t],["L",h+e,t+i],["L",h,t+i],["Z"]]}function Fs(h,t,e,i,s){let o=s?.r||0;return[["M",h+o,t],["L",h+e-o,t],["A",o,o,0,0,1,h+e,t+o],["L",h+e,t+i-o],["A",o,o,0,0,1,h+e-o,t+i],["L",h+o,t+i],["A",o,o,0,0,1,h,t+i-o],["L",h,t+o],["A",o,o,0,0,1,h+o,t],["Z"]]}let Wr={arc:Nr,callout:function(h,t,e,i,s){let o=Math.min(s?.r||0,e,i),r=o+6,n=s?.anchorX,a=s?.anchorY||0,l=Fs(h,t,e,i,{r:o});if(!Al(n)||n<e&&n>0&&a<i&&a>0)return l;if(h+n>e-r)if(a>t+r&&a<t+i-r)l.splice(3,1,["L",h+e,a-6],["L",h+e+6,a],["L",h+e,a+6],["L",h+e,t+i-o]);else if(n<e){let c=a<t+r,d=c?t:t+i;l.splice(c?2:5,0,["L",n,a],["L",h+e-o,d])}else l.splice(3,1,["L",h+e,i/2],["L",n,a],["L",h+e,i/2],["L",h+e,t+i-o]);else if(h+n<r)if(a>t+r&&a<t+i-r)l.splice(7,1,["L",h,a+6],["L",h-6,a],["L",h,a-6],["L",h,t+o]);else if(n>0){let c=a<t+r,d=c?t:t+i;l.splice(c?1:6,0,["L",n,a],["L",h+o,d])}else l.splice(7,1,["L",h,i/2],["L",n,a],["L",h,i/2],["L",h,t+o]);else a>i&&n<e-r?l.splice(5,1,["L",n+6,t+i],["L",n,t+i+6],["L",n-6,t+i],["L",h+o,t+i]):a<0&&n>r&&l.splice(1,1,["L",n-6,t],["L",n,t-6],["L",n+6,t],["L",e-o,t]);return l},circle:function(h,t,e,i){return Nr(h+e/2,t+i/2,e/2,i/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(h,t,e,i){return[["M",h+e/2,t],["L",h+e,t+i/2],["L",h+e/2,t+i],["L",h,t+i/2],["Z"]]},rect:Rr,roundedRect:Fs,square:Rr,triangle:function(h,t,e,i){return[["M",h+e/2,t],["L",h+e,t+i],["L",h,t+i],["Z"]]},"triangle-down":function(h,t,e,i){return[["M",h,t],["L",h+e,t],["L",h+e/2,t+i],["Z"]]}},{doc:Xs,SVG_NS:Ol,win:Hr}=A,{attr:Ys,extend:Ll,fireEvent:El,isString:Dl,objectEach:Il,pick:Bl}=N,js=(h,t)=>h.substring(0,t)+"\u2026",zl=class{constructor(h){let t=h.styles;this.renderer=h.renderer,this.svgElement=h,this.width=h.textWidth,this.textLineHeight=t?.lineHeight,this.textOutline=t?.textOutline,this.ellipsis=t?.textOverflow==="ellipsis",this.lineClamp=t?.lineClamp,this.noWrap=t?.whiteSpace==="nowrap"}buildSVG(){let h=this.svgElement,t=h.element,e=h.renderer,i=Bl(h.textStr,"").toString(),s=i.indexOf("<")!==-1,o=t.childNodes,r=!h.added&&e.box,n=[i,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,h.getStyle("font-size"),h.styles.lineClamp,this.width].join(",");if(n!==h.textCache){h.textCache=n,delete h.actualWidth;for(let a=o.length;a--;)t.removeChild(o[a]);if(s||this.ellipsis||this.width||h.textPath||i.indexOf(" ")!==-1&&(!this.noWrap||/<br.*?>/g.test(i))){if(i!==""){r&&r.appendChild(t);let a=new Q(i);this.modifyTree(a.nodes),a.addToDOM(t),this.modifyDOM(),this.ellipsis&&(t.textContent||"").indexOf("\u2026")!==-1&&h.attr("title",this.unescapeEntities(h.textStr||"",["<",">"])),r&&r.removeChild(t)}}else t.appendChild(Xs.createTextNode(this.unescapeEntities(i)));Dl(this.textOutline)&&h.applyTextOutline&&h.applyTextOutline(this.textOutline)}}modifyDOM(){let h,t=this.svgElement,e=Ys(t.element,"x");for(t.firstLineMetrics=void 0;(h=t.element.firstChild)&&/^[\s\u200B]*$/.test(h.textContent||" ");)t.element.removeChild(h);[].forEach.call(t.element.querySelectorAll("tspan.highcharts-br"),(r,n)=>{r.nextSibling&&r.previousSibling&&(n===0&&r.previousSibling.nodeType===1&&(t.firstLineMetrics=t.renderer.fontMetrics(r.previousSibling)),Ys(r,{dy:this.getLineHeight(r.nextSibling),x:e}))});let i=this.width||0;if(!i)return;let s=(r,n)=>{let a=r.textContent||"",l=a.replace(/([^\^])-/g,"$1- ").split(" "),c=!this.noWrap&&(l.length>1||t.element.childNodes.length>1),d=this.getLineHeight(n),p=Math.max(0,i-.8*d),g=0,u=t.actualWidth;if(c){let m=[],x=[];for(;n.firstChild&&n.firstChild!==r;)x.push(n.firstChild),n.removeChild(n.firstChild);for(;l.length;)if(l.length&&!this.noWrap&&g>0&&(m.push(r.textContent||""),r.textContent=l.join(" ").replace(/- /g,"-")),this.truncate(r,void 0,l,g===0&&u||0,i,p,(f,y)=>l.slice(0,y).join(" ").replace(/- /g,"-")),u=t.actualWidth,g++,this.lineClamp&&g>=this.lineClamp){l.length&&(this.truncate(r,r.textContent||"",void 0,0,i,p,js),r.textContent=r.textContent?.replace("\u2026","")+"\u2026");break}x.forEach(f=>{n.insertBefore(f,r)}),m.forEach(f=>{n.insertBefore(Xs.createTextNode(f),r);let y=Xs.createElementNS(Ol,"tspan");y.textContent="\u200B",Ys(y,{dy:d,x:e}),n.insertBefore(y,r)})}else this.ellipsis&&a&&this.truncate(r,a,void 0,0,i,p,js)},o=r=>{[].slice.call(r.childNodes).forEach(n=>{n.nodeType===Hr.Node.TEXT_NODE?s(n,r):(n.className.baseVal.indexOf("highcharts-br")!==-1&&(t.actualWidth=0),o(n))})};o(t.element)}getLineHeight(h){let t=h.nodeType===Hr.Node.TEXT_NODE?h.parentElement:h;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(h){let t=(e,i)=>{let{attributes:s={},children:o,style:r={},tagName:n}=e,a=this.renderer.styledMode;if(n==="b"||n==="strong"?a?s.class="highcharts-strong":r.fontWeight="bold":(n==="i"||n==="em")&&(a?s.class="highcharts-emphasized":r.fontStyle="italic"),r?.color&&(r.fill=r.color),n==="br"){s.class="highcharts-br",e.textContent="\u200B";let l=h[i+1];l?.textContent&&(l.textContent=l.textContent.replace(/^ +/gm,""))}else n==="a"&&o&&o.some(l=>l.tagName==="#text")&&(e.children=[{children:o,tagName:"tspan"}]);n!=="#text"&&n!=="a"&&(e.tagName="tspan"),Ll(e,{attributes:s,style:r}),o&&o.filter(l=>l.tagName!=="#text").forEach(t)};h.forEach(t),El(this.svgElement,"afterModifyTree",{nodes:h})}truncate(h,t,e,i,s,o,r){let n,a,l=this.svgElement,{rotation:c}=l,d=[],p=e&&!i?1:0,g=(t||e||"").length,u=g;e||(s=o);let m=function(x,f){let y=f||x,b=h.parentNode;if(b&&d[y]===void 0&&b.getSubStringLength)try{d[y]=i+b.getSubStringLength(0,e?y+1:y)}catch{}return d[y]};if(l.rotation=0,i+(a=m(h.textContent.length))>s){for(;p<=g;)u=Math.ceil((p+g)/2),e&&(n=r(e,u)),a=m(u,n&&n.length-1),p===g?p=g+1:a>s?g=u-1:p=u;g===0?h.textContent="":t&&g===t.length-1||(h.textContent=n||r(t||e,u)),this.ellipsis&&a>s&&this.truncate(h,h.textContent||"",void 0,0,s,o,js)}e&&e.splice(0,u),l.actualWidth=a,l.rotation=c}unescapeEntities(h,t){return Il(this.renderer.escapes,function(e,i){t&&t.indexOf(e)!==-1||(h=h.toString().replace(RegExp(e,"g"),i))}),h}},{defaultOptions:Nl}=Mt,{charts:Rl,deg2rad:Fr,doc:Se,isFirefox:Xr,isMS:Yr,isWebKit:Wl,noop:Hl,SVG_NS:Fl,symbolSizes:Gs,win:_s}=A,{addEvent:Si,attr:Ci,createElement:Xl,crisp:jr,css:Ti,defined:de,destroyObjectProperties:Yl,extend:ce,isArray:jl,isNumber:Ce,isObject:Ue,isString:Gl,merge:Vs,pick:Us,pInt:_l,replaceNested:Vl,uniqueKey:Ul}=N;class Pi{constructor(t,e,i,s,o,r,n){let a,l;this.x=0,this.y=0;let c=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=c.element;n||c.css(this.getStyle(s||{})),t.appendChild(d),Ci(t,"dir","ltr"),t.innerHTML.indexOf("xmlns")===-1&&Ci(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=c,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(Se.createTextNode("Created with Highcharts 12.2.0")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=n,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=c.getStyle("font-size"),this.setSize(e,i,!1),Xr&&t.getBoundingClientRect&&((a=function(){Ti(t,{left:0,top:0}),l=t.getBoundingClientRect(),Ti(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=Si(_s,"resize",a))}definition(t){return new Q([t]).addToDOM(this.defs.element)}getReferenceURL(){if((Xr||Wl)&&Se.getElementsByTagName("base").length){if(!de(yt)){let t=Ul(),e=new Q([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(Se.body);Ti(e,{position:"fixed",top:0,left:0,zIndex:9e5}),yt=Se.elementFromPoint(6,6)?.id==="hitme",Se.body.removeChild(e)}if(yt)return Vl(_s.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=ce({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),Yl(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(s=>`${s}-${t[s]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=Vs({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new zl(t).buildSVG()}getContrast(t){let e=et.parse(t).rgba,i=" clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1)";if(Ce(e[0])||!et.useColorMix){let s=e.map(r=>{let n=r/255;return n<=.04?n/12.92:Math.pow((n+.055)/1.055,2.4)}),o=.2126*s[0]+.7152*s[1]+.0722*s[2];return 1.05/(o+.05)>(o+.05)/.05?"#FFFFFF":"#000000"}return"color(from "+t+" srgb"+i+i+i+")"}button(t,e,i,s,o={},r,n,a,l,c){let d=this.label(t,e,i,l,void 0,void 0,c,void 0,"button"),p=this.styledMode,g=arguments,u=0;o=Vs(Nl.global.buttonTheme,o),p&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let m=o.states||{},x=o.style||{};delete o.states,delete o.style;let f=[Q.filterUserAttributes(o)],y=[x];return p||["hover","select","disabled"].forEach((b,v)=>{f.push(Vs(f[0],Q.filterUserAttributes(g[v+5]||m[b]||{}))),y.push(f[v+1].style),delete f[v+1].style}),Si(d.element,Yr?"mouseover":"mouseenter",function(){u!==3&&d.setState(1)}),Si(d.element,Yr?"mouseout":"mouseleave",function(){u!==3&&d.setState(u)}),d.setState=(b=0)=>{if(b!==1&&(d.state=u=b),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][b]),!p){d.attr(f[b]);let v=y[b];Ue(v)&&d.css(v)}},d.attr(f[0]),!p&&(d.css(ce({cursor:"default"},x)),c&&d.text.css({pointerEvents:"none"})),d.on("touchstart",b=>b.stopPropagation()).on("click",function(b){u!==3&&s?.call(d,b)})}crispLine(t,e){let[i,s]=t;return de(i[1])&&i[1]===s[1]&&(i[1]=s[1]=jr(i[1],e)),de(i[2])&&i[2]===s[2]&&(i[2]=s[2]=jr(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return jl(t)?e.d=t:Ue(t)&&ce(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=Ue(t)?t:t===void 0?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(r,n,a){a.setAttribute("c"+n,r)},o.attr(s)}arc(t,e,i,s,o,r){let n;Ue(t)?(e=(n=t).y,i=n.r,s=n.innerR,o=n.start,r=n.end,t=n.x):n={innerR:s,start:o,end:r};let a=this.symbol("arc",t,e,i,i,n);return a.r=i,a}rect(t,e,i,s,o,r){let n=Ue(t)?t:t===void 0?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},a=this.createElement("rect");return this.styledMode||(r!==void 0&&(n["stroke-width"]=r,ce(n,a.crisp(n))),n.fill="none"),a.rSetter=function(l,c,d){a.r=l,Ci(d,{rx:l,ry:l})},a.rGetter=function(){return a.r||0},a.attr(n)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:Us(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let n={preserveAspectRatio:"none"};Ce(e)&&(n.x=e),Ce(i)&&(n.y=i),Ce(s)&&(n.width=s),Ce(o)&&(n.height=o);let a=this.createElement("image").attr(n),l=function(c){a.attr({href:t}),r.call(a,c)};if(r){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let c=new _s.Image;Si(c,"load",l),c.src=t,c.complete&&l({})}else a.attr({href:t});return a}symbol(t,e,i,s,o,r){let n,a,l,c,d=this,p=/^url\((.*?)\)$/,g=p.test(t),u=!g&&(this.symbols[t]?t:"circle"),m=u&&this.symbols[u];if(m)typeof e=="number"&&(a=m.call(this.symbols,e||0,i||0,s||0,o||0,r)),n=this.path(a),d.styledMode||n.attr("fill","none"),ce(n,{symbolName:u||void 0,x:e,y:i,width:s,height:o}),r&&ce(n,r);else if(g){l=t.match(p)[1];let x=n=this.image(l);x.imgwidth=Us(r?.width,Gs[l]?.width),x.imgheight=Us(r?.height,Gs[l]?.height),c=f=>f.attr({width:f.width,height:f.height}),["width","height"].forEach(f=>{x[`${f}Setter`]=function(y,b){this[b]=y;let{alignByTranslate:v,element:S,width:w,height:k,imgwidth:M,imgheight:C}=this,T=b==="width"?M:C,P=1;r&&r.backgroundSize==="within"&&w&&k&&M&&C?(P=Math.min(w/M,k/C),Ci(S,{width:Math.round(M*P),height:Math.round(C*P)})):S&&T&&S.setAttribute(b,T),!v&&M&&C&&this.translate(((w||0)-M*P)/2,((k||0)-C*P)/2)}}),de(e)&&x.attr({x:e,y:i}),x.isImg=!0,x.symbolUrl=t,de(x.imgwidth)&&de(x.imgheight)?c(x):(x.attr({width:0,height:0}),Xl("img",{onload:function(){let f=Rl[d.chartIndex];this.width===0&&(Ti(this,{position:"absolute",top:"-999em"}),Se.body.appendChild(this)),Gs[l]={width:this.width,height:this.height},x.imgwidth=this.width,x.imgheight=this.height,x.element&&c(x),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!f||f.hasLoaded||f.onload()},src:l}),this.imgCount++)}return n}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),de(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(n,a,l){let c=l.getElementsByTagName("tspan"),d=l.getAttribute(a);for(let p=0,g;p<c.length;p++)(g=c[p]).getAttribute(a)===d&&g.setAttribute(a,n);l.setAttribute(a,n)}),r}fontMetrics(t){let e=_l(Bt.prototype.getStyle.call(t,"font-size")||0),i=e<24?e+3:Math.round(1.2*e),s=Math.round(.8*i);return{h:i,b:s,f:e}}rotCorr(t,e,i){let s=t;return e&&i&&(s=Math.max(s*Math.cos(e*Fr),4)),{x:-t/3*Math.sin(e*Fr),y:s}}pathToSegments(t){let e=[],i=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let o=0;o<t.length;o++)Gl(i[0])&&Ce(t[o])&&i.length===s[i[0].toUpperCase()]&&t.splice(o,0,i[0].replace("M","L").replace("m","l")),typeof t[o]=="string"&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[o]);return e.push(i.slice(0)),e}label(t,e,i,s,o,r,n,a,l){return new le(this,t,e,i,s,o,r,n,a,l)}alignElements(){this.alignedObjects.forEach(t=>t.align())}}ce(Pi.prototype,{Element:Bt,SVG_NS:Fl,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:Wr,draw:Hl}),je.registerRendererType("svg",Pi,!0);let{composed:$l,isFirefox:Zl}=A,{attr:ql,css:_t,createElement:Kl,defined:Gr,extend:Jl,getAlignFactor:Ql,isNumber:Ai,pInt:td,pushUnique:ed}=N;function _r(h,t,e){let i=this.div?.style||e.style;Bt.prototype[`${t}Setter`].call(this,h,t,e),i&&(i[t]=h)}let id=(h,t)=>{if(!h.div){let e=ql(h.element,"class"),i=h.css,s=Kl("div",e?{className:e}:void 0,se(At({position:"absolute",left:`${h.translateX||0}px`,top:`${h.translateY||0}px`},h.styles),{display:h.display,opacity:h.opacity,visibility:h.visibility}),h.parentGroup?.div||t);h.classSetter=(o,r,n)=>{n.setAttribute("class",o),s.className=o},h.translateXSetter=h.translateYSetter=(o,r)=>{h[r]=o,s.style[r==="translateX"?"left":"top"]=`${o}px`,h.doTransform=!0},h.opacitySetter=h.visibilitySetter=_r,h.css=o=>(i.call(h,o),o.cursor&&(s.style.cursor=o.cursor),o.pointerEvents&&(s.style.pointerEvents=o.pointerEvents),h),h.on=function(){return Bt.prototype.on.apply({element:s,onEvents:h.onEvents},arguments),h},h.div=s}return h.div};class Te extends Bt{static compose(t){ed($l,this.compose)&&(t.prototype.html=function(e,i,s){return new Te(this,"span").attr({text:e,x:Math.round(i),y:Math.round(s)})})}constructor(t,e){super(t,e),Te.useForeignObject?this.foreignObject=t.createElement("foreignObject").attr({zIndex:2}):this.css(At({position:"absolute"},t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize})),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e,{element:i}=this,s=i.tagName==="SPAN"&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=td(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden",t.whiteSpace="nowrap"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),Ai(Number(t?.fontSize))&&(t.fontSize+="px"),Jl(this.styles,t),_t(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,foreignObject:e,oldTextWidth:i,renderer:s,rotation:o,rotationOriginX:r,rotationOriginY:n,scaleX:a,scaleY:l,styles:{display:c="inline-block",whiteSpace:d},textAlign:p="left",textWidth:g,translateX:u=0,translateY:m=0,x=0,y:f=0}=this;if(e||_t(t,{marginLeft:`${u}px`,marginTop:`${m}px`}),t.tagName==="SPAN"){let y,b=[o,p,t.innerHTML,g,this.textAlign].join(","),v=-(this.parentGroup?.padding*1)||0;if(g!==i){let M=this.textPxLength?this.textPxLength:(_t(t,{width:"",whiteSpace:d||"nowrap"}),t.offsetWidth),C=g||0,T=t.style.textOverflow===""&&t.style.webkitLineClamp;(C>i||M>C||T)&&(/[\-\s\u00AD]/.test(t.textContent||t.innerText)||t.style.textOverflow==="ellipsis")&&(_t(t,{width:(o||a||M>C||T)&&Ai(g)?g+"px":"auto",display:c,whiteSpace:d||"normal"}),this.oldTextWidth=g)}e&&(_t(t,{display:"inline-block",verticalAlign:"top"}),e.attr({width:s.width,height:s.height})),b!==this.cTT&&(y=s.fontMetrics(t).b,Gr(o)&&!e&&(o!==(this.oldRotation||0)||p!==this.oldAlign)&&_t(t,{transform:`rotate(${o}deg)`,transformOrigin:`${v}% ${v}px`}),this.getSpanCorrection(!Gr(o)&&!this.textWidth&&this.textPxLength||t.offsetWidth,y,Ql(p)));let{xCorr:S=0,yCorr:w=0}=this,k={left:`${x+S}px`,top:`${f+w}px`,textAlign:p,transformOrigin:`${(r??x)-S-x-v}px ${(n??f)-w-f-v}px`};(a||l)&&(k.transform=`scale(${a??1},${l??1})`),e?(super.updateTransform(),Ai(x)&&Ai(f)?(e.attr({x:x+S,y:f+w,width:t.offsetWidth+3,height:t.offsetHeight,"transform-origin":t.getAttribute("transform-origin")||"0 0"}),_t(t,{display:c,textAlign:p})):Zl&&e.attr({width:0,height:0})):_t(t,k),this.cTT=b,this.oldRotation=o,this.oldAlign=p}}add(t){let{foreignObject:e,renderer:i}=this,s=i.box.parentNode,o=[];if(e)e.add(t),super.add(i.createElement("body").attr({xmlns:"http://www.w3.org/1999/xhtml"}).css({background:"transparent",margin:"0 3px 0 0"}).add(e));else{let r;if(this.parentGroup=t,t&&!(r=t.div)){let n=t;for(;n;)o.push(n),n=n.parentGroup;for(let a of o.reverse())r=id(a,s)}(r||s).appendChild(this.element)}return this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,Q.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let pe=Te.prototype;pe.visibilitySetter=pe.opacitySetter=_r,pe.ySetter=pe.rotationSetter=pe.rotationOriginXSetter=pe.rotationOriginYSetter=pe.xSetter,function(h){h.xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},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",textOverflow:"ellipsis"}},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"},h.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}}(vt||(vt={}));let sd=vt,{addEvent:od,isFunction:rd,objectEach:nd,removeEvent:ad}=N;(Ne||(Ne={})).registerEventOptions=function(h,t){h.eventOptions=h.eventOptions||{},nd(t.events,function(e,i){h.eventOptions[i]!==e&&(h.eventOptions[i]&&(ad(h,i,h.eventOptions[i]),delete h.eventOptions[i]),rd(e)&&(h.eventOptions[i]=e,od(h,i,e,{order:0})))})};let Oi=Ne,{deg2rad:$s}=A,{clamp:hd,correctFloat:Li,defined:Zs,destroyObjectProperties:ld,extend:Vr,fireEvent:$e,getAlignFactor:dd,isNumber:Ei,merge:cd,objectEach:pd,pick:zt}=N,Pe=class{constructor(h,t,e,i,s){this.isNew=!0,this.isNewLabel=!0,this.axis=h,this.pos=t,this.type=e||"",this.parameters=s||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,$e(this,"init"),e||i||this.addLabel()}addLabel(){let h=this,t=h.axis,e=t.options,i=t.chart,s=t.categories,o=t.logarithmic,r=t.names,n=h.pos,a=zt(h.options?.labels,e.labels),l=t.tickPositions,c=n===l[0],d=n===l[l.length-1],p=(!a.step||a.step===1)&&t.tickInterval===1,g=l.info,u=h.label,m,x,f,y=this.parameters.category||(s?zt(s[n],r[n],n):n);o&&Ei(y)&&(y=Li(o.lin2log(y))),t.dateTime&&(g?m=(x=i.time.resolveDTLFormat(e.dateTimeLabelFormats[!e.grid&&g.higherRanks[n]||g.unitName])).main:Ei(y)&&(m=t.dateTime.getXDateFormat(y,e.dateTimeLabelFormats||{}))),h.isFirst=c,h.isLast=d;let b={axis:t,chart:i,dateTimeLabelFormat:m,isFirst:c,isLast:d,pos:n,tick:h,tickPositionInfo:g,value:y};$e(this,"labelFormat",b);let v=k=>a.formatter?a.formatter.call(k,k):a.format?(k.text=t.defaultLabelFormatter.call(k),St.format(a.format,k,i)):t.defaultLabelFormatter.call(k),S=v.call(b,b),w=x?.list;w?h.shortenLabel=function(){for(f=0;f<w.length;f++)if(Vr(b,{dateTimeLabelFormat:w[f]}),u.attr({text:v.call(b,b)}),u.getBBox().width<t.getSlotWidth(h)-2*(a.padding||0))return;u.attr({text:""})}:h.shortenLabel=void 0,p&&t._addedPlotLB&&h.moveLabel(S,a),Zs(u)||h.movedLabel?u&&u.textStr!==S&&!p&&(!u.textWidth||a.style.width||u.styles.width||u.css({width:null}),u.attr({text:S}),u.textPxLength=u.getBBox().width):(h.label=u=h.createLabel(S,a),h.rotation=0)}createLabel(h,t,e){let i=this.axis,{renderer:s,styledMode:o}=i.chart,r=t.style.whiteSpace,n=Zs(h)&&t.enabled?s.text(h,e?.x,e?.y,t.useHTML).add(i.labelGroup):void 0;return n&&(o||n.css(cd(t.style)),n.textPxLength=n.getBBox().width,!o&&r&&n.css({whiteSpace:r})),n}destroy(){ld(this,this.axis)}getPosition(h,t,e,i){let s=this.axis,o=s.chart,r=i&&o.oldChartHeight||o.chartHeight,n={x:h?Li(s.translate(t+e,void 0,void 0,i)+s.transB):s.left+s.offset+(s.opposite?(i&&o.oldChartWidth||o.chartWidth)-s.right-s.left:0),y:h?r-s.bottom+s.offset-(s.opposite?s.height:0):Li(r-s.translate(t+e,void 0,void 0,i)-s.transB)};return n.y=hd(n.y,-1e9,1e9),$e(this,"afterGetPosition",{pos:n}),n}getLabelPosition(h,t,e,i,s,o,r,n){let a,l,c=this.axis,d=c.transA,p=c.isLinked&&c.linkedParent?c.linkedParent.reversed:c.reversed,g=c.staggerLines,u=c.tickRotCorr||{x:0,y:0},m=i||c.reserveSpaceDefault?0:-c.labelOffset*(c.labelAlign==="center"?.5:1),x=s.distance,f={};return a=c.side===0?e.rotation?-x:-e.getBBox().height:c.side===2?u.y+x:Math.cos(e.rotation*$s)*(u.y-e.getBBox(!1,0).height/2),Zs(s.y)&&(a=c.side===0&&c.horiz?s.y+a:s.y),h=h+zt(s.x,[0,1,0,-1][c.side]*x)+m+u.x-(o&&i?o*d*(p?-1:1):0),t=t+a-(o&&!i?o*d*(p?1:-1):0),g&&(l=r/(n||1)%g,c.opposite&&(l=g-l-1),t+=l*(c.labelOffset/g)),f.x=h,f.y=Math.round(t),$e(this,"afterGetLabelPosition",{pos:f,tickmarkOffset:o,index:r}),f}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(h,t,e,i,s=!1,o){return o.crispLine([["M",h,t],["L",h+(s?0:-e),t+(s?e:0)]],i)}handleOverflow(h){let t=this.axis,e=t.options.labels,i=h.x,s=t.chart.chartWidth,o=t.chart.spacing,r=zt(t.labelLeft,Math.min(t.pos,o[3])),n=zt(t.labelRight,Math.max(t.isRadial?0:t.pos+t.len,s-o[1])),a=this.label,l=this.rotation,c=dd(t.labelAlign||a.attr("align")),d=a.getBBox().width,p=t.getSlotWidth(this),g=p,u=1,m;l||e.overflow!=="justify"?l<0&&i-c*d<r?m=Math.round(i/Math.cos(l*$s)-r):l>0&&i+c*d>n&&(m=Math.round((s-i)/Math.cos(l*$s))):(i-c*d<r?g=h.x+g*(1-c)-r:i+(1-c)*d>n&&(g=n-h.x+g*c,u=-1),(g=Math.min(p,g))<p&&t.labelAlign==="center"&&(h.x+=u*(p-g-c*(p-Math.min(d,g)))),(d>g||t.autoRotation&&a?.styles?.width)&&(m=g)),m&&a&&(this.shortenLabel?this.shortenLabel():a.css(Vr({},{width:Math.floor(m)+"px",lineClamp:+!t.isRadial})))}moveLabel(h,t){let e=this,i=e.label,s=e.axis,o=!1,r;i&&i.textStr===h?(e.movedLabel=i,o=!0,delete e.label):pd(s.ticks,function(n){o||n.isNew||n===e||!n.label||n.label.textStr!==h||(e.movedLabel=n.label,o=!0,n.labelPos=e.movedLabel.xy,delete n.label)}),!o&&(e.labelPos||i)&&(r=e.labelPos||i.xy,e.movedLabel=e.createLabel(h,t,r),e.movedLabel&&e.movedLabel.attr({opacity:0}))}render(h,t,e){let i=this.axis,s=i.horiz,o=this.pos,r=zt(this.tickmarkOffset,i.tickmarkOffset),n=this.getPosition(s,o,r,t),a=n.x,l=n.y,c=i.pos,d=c+i.len,p=s?a:l,g=zt(e,this.label?.newOpacity,1);!i.chart.polar&&(Li(p)<c||p>d)&&(e=0),e??(e=1),this.isActive=!0,this.renderGridLine(t,e),this.renderMark(n,e),this.renderLabel(n,t,g,h),this.isNew=!1,$e(this,"afterRender")}renderGridLine(h,t){let e=this.axis,i=e.options,s={},o=this.pos,r=this.type,n=zt(this.tickmarkOffset,e.tickmarkOffset),a=e.chart.renderer,l=this.gridLine,c,d=i.gridLineWidth,p=i.gridLineColor,g=i.gridLineDashStyle;this.type==="minor"&&(d=i.minorGridLineWidth,p=i.minorGridLineColor,g=i.minorGridLineDashStyle),l||(e.chart.styledMode||(s.stroke=p,s["stroke-width"]=d||0,s.dashstyle=g),r||(s.zIndex=1),h&&(t=0),this.gridLine=l=a.path().attr(s).addClass("highcharts-"+(r?r+"-":"")+"grid-line").add(e.gridGroup)),l&&(c=e.getPlotLinePath({value:o+n,lineWidth:l.strokeWidth(),force:"pass",old:h,acrossPanes:!1}))&&l[h||this.isNew?"attr":"animate"]({d:c,opacity:t})}renderMark(h,t){let e=this.axis,i=e.options,s=e.chart.renderer,o=this.type,r=e.tickSize(o?o+"Tick":"tick"),n=h.x,a=h.y,l=zt(i[o!=="minor"?"tickWidth":"minorTickWidth"],!o&&e.isXAxis?1:0),c=i[o!=="minor"?"tickColor":"minorTickColor"],d=this.mark,p=!d;r&&(e.opposite&&(r[0]=-r[0]),d||(this.mark=d=s.path().addClass("highcharts-"+(o?o+"-":"")+"tick").add(e.axisGroup),e.chart.styledMode||d.attr({stroke:c,"stroke-width":l})),d[p?"attr":"animate"]({d:this.getMarkPath(n,a,r[0],d.strokeWidth(),e.horiz,s),opacity:t}))}renderLabel(h,t,e,i){let s=this.axis,o=s.horiz,r=s.options,n=this.label,a=r.labels,l=a.step,c=zt(this.tickmarkOffset,s.tickmarkOffset),d=h.x,p=h.y,g=!0;n&&Ei(d)&&(n.xy=h=this.getLabelPosition(d,p,n,o,a,c,i,l),(!this.isFirst||this.isLast||r.showFirstLabel)&&(!this.isLast||this.isFirst||r.showLastLabel)?!o||a.step||a.rotation||t||e===0||this.handleOverflow(h):g=!1,l&&i%l&&(g=!1),g&&Ei(h.y)?(h.opacity=e,n[this.isNewLabel?"attr":"animate"](h).show(!0),this.isNewLabel=!1):(n.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let h=this.label,t=this.axis;h&&!this.isNew&&(h.animate({opacity:0},void 0,h.destroy),delete this.label),t.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:gd}=gt,{xAxis:Ur,yAxis:ud}=sd,{defaultOptions:qs}=Mt,{registerEventOptions:md}=Oi,{deg2rad:fd}=A,{arrayMax:$r,arrayMin:xd,clamp:Ks,correctFloat:kt,defined:Z,destroyObjectProperties:yd,erase:Zr,error:Js,extend:Di,fireEvent:it,getClosestDistance:qr,insertItem:bd,isArray:Kr,isNumber:W,isString:Jr,merge:Ii,normalizeTickInterval:vd,objectEach:Bi,pick:Y,relativeLength:zi,removeEvent:kd,splat:wd,syncTimeout:Md}=N,Qr=(h,t)=>vd(t,void 0,void 0,Y(h.options.allowDecimals,t<.5||h.tickAmount!==void 0),!!h.tickAmount);Di(qs,{xAxis:Ur,yAxis:Ii(Ur,ud)});let Qs=(()=>{class h{constructor(e,i,s){this.init(e,i,s)}init(e,i,s=this.coll){let o=s==="xAxis",r=this.isZAxis||(e.inverted?!o:o);this.chart=e,this.horiz=r,this.isXAxis=o,this.coll=s,it(this,"init",{userOptions:i}),this.opposite=Y(i.opposite,this.opposite),this.side=Y(i.side,this.side,r?2*!this.opposite:this.opposite?1:3),this.setOptions(i);let n=this.options,a=n.labels;this.type??(this.type=n.type||"linear"),this.uniqueNames??(this.uniqueNames=n.uniqueNames??!0),it(this,"afterSetType"),this.userOptions=i,this.minPixelPadding=0,this.reversed=Y(n.reversed,this.reversed),this.visible=n.visible,this.zoomEnabled=n.zoomEnabled,this.hasNames=this.type==="category"||n.categories===!0,this.categories=Kr(n.categories)&&n.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=Z(n.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=n.minRange||n.maxZoom,this.range=n.range,this.offset=n.offset||0,this.max=void 0,this.min=void 0;let l=Y(n.crosshair,wd(e.options.tooltip.crosshairs)[+!o]);this.crosshair=l===!0?{}:l,e.axes.indexOf(this)===-1&&(o?e.axes.splice(e.xAxis.length,0,this):e.axes.push(this),bd(this,e[this.coll])),e.orderItems(this.coll),this.series=this.series||[],e.inverted&&!this.isZAxis&&o&&!Z(this.reversed)&&(this.reversed=!0),this.labelRotation=W(a.rotation)?a.rotation:void 0,md(this,n),it(this,"afterInit")}setOptions(e){let i=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=Ii(i,this.coll==="yAxis"?{title:{text:this.chart.options.lang.yAxisTitle}}:{},qs[this.coll],e),it(this,"afterSetOptions",{userOptions:e})}defaultLabelFormatter(){let e=this.axis,{numberFormatter:i}=this.chart,s=W(this.value)?this.value:NaN,o=e.chart.time,r=e.categories,n=this.dateTimeLabelFormat,a=qs.lang,l=a.numericSymbols,c=a.numericSymbolMagnitude||1e3,d=e.logarithmic?Math.abs(s):e.tickInterval,p=l?.length,g,u;if(r)u=`${this.value}`;else if(n)u=o.dateFormat(n,s,!0);else if(p&&l&&d>=1e3)for(;p--&&u===void 0;)d>=(g=Math.pow(c,p+1))&&10*s%g==0&&l[p]!==null&&s!==0&&(u=i(s/g,-1)+l[p]);return u===void 0&&(u=Math.abs(s)>=1e4?i(s,-1):i(s,-1,void 0,"")),u}getSeriesExtremes(){let e,i=this;it(this,"getSeriesExtremes",null,function(){i.hasVisibleSeries=!1,i.dataMin=i.dataMax=i.threshold=void 0,i.softThreshold=!i.isXAxis,i.series.forEach(s=>{if(s.reserveSpace()){let o=s.options,r,n=o.threshold,a,l;if(i.hasVisibleSeries=!0,i.positiveValuesOnly&&0>=(n||0)&&(n=void 0),i.isXAxis)(r=s.getColumn("x")).length&&(r=i.logarithmic?r.filter(c=>c>0):r,a=(e=s.getXExtremes(r)).min,l=e.max,W(a)||a instanceof Date||(r=r.filter(W),a=(e=s.getXExtremes(r)).min,l=e.max),r.length&&(i.dataMin=Math.min(Y(i.dataMin,a),a),i.dataMax=Math.max(Y(i.dataMax,l),l)));else{let c=s.applyExtremes();W(c.dataMin)&&(a=c.dataMin,i.dataMin=Math.min(Y(i.dataMin,a),a)),W(c.dataMax)&&(l=c.dataMax,i.dataMax=Math.max(Y(i.dataMax,l),l)),Z(n)&&(i.threshold=n),(!o.softThreshold||i.positiveValuesOnly)&&(i.softThreshold=!1)}}})}),it(this,"afterGetSeriesExtremes")}translate(e,i,s,o,r,n){let a=this.linkedParent||this,l=o&&a.old?a.old.min:a.min;if(!W(l))return NaN;let c=a.minPixelPadding,d=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&r)&&a.lin2val,p=1,g=0,u=o&&a.old?a.old.transA:a.transA,m=0;return u||(u=a.transA),s&&(p*=-1,g=a.len),a.reversed&&(p*=-1,g-=p*(a.sector||a.len)),i?(m=(e=e*p+g-c)/u+l,d&&(m=a.lin2val(m))):(d&&(e=a.val2lin(e)),m=p*(e-l)*u+g+p*c+(W(n)?u*n:0),a.isRadial||(m=kt(m))),m}toPixels(e,i){return this.translate(this.chart?.time.parse(e)??NaN,!1,!this.horiz,void 0,!0)+(i?0:this.pos)}toValue(e,i){return this.translate(e-(i?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(e){let i=this,s=i.chart,o=i.left,r=i.top,n=e.old,a=e.value,l=e.lineWidth,c=n&&s.oldChartHeight||s.chartHeight,d=n&&s.oldChartWidth||s.chartWidth,p=i.transB,g=e.translatedValue,u=e.force,m,x,f,y,b;function v(w,k,M){return u!=="pass"&&(w<k||w>M)&&(u?w=Ks(w,k,M):b=!0),w}let S={value:a,lineWidth:l,old:n,force:u,acrossPanes:e.acrossPanes,translatedValue:g};return it(this,"getPlotLinePath",S,function(w){m=f=(g=Ks(g=Y(g,i.translate(a,void 0,void 0,n)),-1e9,1e9))+p,x=y=c-g-p,W(g)?i.horiz?(x=r,y=c-i.bottom+(i.options.isInternal?0:s.scrollablePixelsY||0),m=f=v(m,o,o+i.width)):(m=o,f=d-i.right+(s.scrollablePixelsX||0),x=y=v(x,r,r+i.height)):(b=!0,u=!1),w.path=b&&!u?void 0:s.renderer.crispLine([["M",m,x],["L",f,y]],l||1)}),S.path}getLinearTickPositions(e,i,s){let o,r,n,a=kt(Math.floor(i/e)*e),l=kt(Math.ceil(s/e)*e),c=[];if(kt(a+e)===a&&(n=20),this.single)return[i];for(o=a;o<=l&&(c.push(o),(o=kt(o+e,n))!==r);)r=o;return c}getMinorTickInterval(){let{minorTicks:e,minorTickInterval:i}=this.options;return e===!0?Y(i,"auto"):e!==!1?i:void 0}getMinorTickPositions(){let e=this.options,i=this.tickPositions,s=this.minorTickInterval,o=this.pointRangePadding||0,r=(this.min||0)-o,n=(this.max||0)+o,a=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:n-r,l=[],c;if(a&&a/s<this.len/3){let d=this.logarithmic;if(d)this.paddedTicks.forEach(function(p,g,u){g&&l.push.apply(l,d.getLogTickPositions(s,u[g-1],u[g],!0))});else if(this.dateTime&&this.getMinorTickInterval()==="auto")l=l.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(s),r,n,e.startOfWeek));else for(c=r+(i[0]-r)%s;c<=n&&c!==l[0];c+=s)l.push(c)}return l.length!==0&&this.trimTicks(l),l}adjustForMinRange(){let e=this.options,i=this.logarithmic,s=this.chart.time,{max:o,min:r,minRange:n}=this,a,l,c,d;this.isXAxis&&n===void 0&&!i&&(n=Z(e.min)||Z(e.max)||Z(e.floor)||Z(e.ceiling)?null:Math.min(5*(qr(this.series.map(p=>{let g=p.getColumn("x");return p.xIncrement?g.slice(0,2):g}))||0),this.dataMax-this.dataMin)),W(o)&&W(r)&&W(n)&&o-r<n&&(l=this.dataMax-this.dataMin>=n,a=(n-o+r)/2,c=[r-a,s.parse(e.min)??r-a],l&&(c[2]=i?i.log2lin(this.dataMin):this.dataMin),d=[(r=$r(c))+n,s.parse(e.max)??r+n],l&&(d[2]=i?i.log2lin(this.dataMax):this.dataMax),(o=xd(d))-r<n&&(c[0]=o-n,c[1]=s.parse(e.min)??o-n,r=$r(c))),this.minRange=n,this.min=r,this.max=o}getClosest(){let e,i;if(this.categories)i=1;else{let s=[];this.series.forEach(function(o){let r=o.closestPointRange,n=o.getColumn("x");n.length===1?s.push(n[0]):o.sorted&&Z(r)&&o.reserveSpace()&&(i=Z(i)?Math.min(i,r):r)}),s.length&&(s.sort((o,r)=>o-r),e=qr([s]))}return e&&i?Math.min(e,i):e||i}nameToX(e){let i=Kr(this.options.categories),s=i?this.categories:this.names,o=e.options.x,r;return e.series.requireSorting=!1,Z(o)||(o=this.uniqueNames&&s?i?s.indexOf(e.name):Y(s.keys[e.name],-1):e.series.autoIncrement()),o===-1?!i&&s&&(r=s.length):W(o)&&(r=o),r!==void 0?(this.names[r]=e.name,this.names.keys[e.name]=r):e.x&&(r=e.x),r}updateNames(){let e=this,i=this.names;i.length>0&&(Object.keys(i.keys).forEach(function(s){delete i.keys[s]}),i.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(s=>{s.xIncrement=null,(!s.points||s.isDirtyData)&&(e.max=Math.max(e.max||0,s.dataTable.rowCount-1),s.processData(),s.generatePoints());let o=s.getColumn("x").slice();s.data.forEach((r,n)=>{let a=o[n];r?.options&&r.name!==void 0&&(a=e.nameToX(r))!==void 0&&a!==r.x&&(o[n]=r.x=a)}),s.dataTable.setColumn("x",o)}))}setAxisTranslation(){let e=this,i=e.max-e.min,s=e.linkedParent,o=!!e.categories,r=e.isXAxis,n=e.axisPointRange||0,a,l=0,c=0,d,p=e.transA;(r||o||n)&&(a=e.getClosest(),s?(l=s.minPointOffset,c=s.pointRangePadding):e.series.forEach(function(g){let u=o?1:r?Y(g.options.pointRange,a,0):e.axisPointRange||0,m=g.options.pointPlacement;if(n=Math.max(n,u),!e.single||o){let x=g.is("xrange")?!r:r;l=Math.max(l,x&&Jr(m)?0:u/2),c=Math.max(c,x&&m==="on"?0:u)}}),d=e.ordinal?.slope&&a?e.ordinal.slope/a:1,e.minPointOffset=l*=d,e.pointRangePadding=c*=d,e.pointRange=Math.min(n,e.single&&o?1:i),r&&(e.closestPointRange=a)),e.translationSlope=e.transA=p=e.staticScale||e.len/(i+c||1),e.transB=e.horiz?e.left:e.bottom,e.minPixelPadding=p*l,it(this,"afterSetAxisTranslation")}minFromRange(){let{max:e,min:i}=this;return W(e)&&W(i)&&e-i||void 0}setTickInterval(e){let{categories:i,chart:s,dataMax:o,dataMin:r,dateTime:n,isXAxis:a,logarithmic:l,options:c,softThreshold:d}=this,p=s.time,g=W(this.threshold)?this.threshold:void 0,u=this.minRange||0,{ceiling:m,floor:x,linkedTo:f,softMax:y,softMin:b}=c,v=W(f)&&s[this.coll]?.[f],S=c.tickPixelInterval,w=c.maxPadding,k=c.minPadding,M=0,C,T=W(c.tickInterval)&&c.tickInterval>=0?c.tickInterval:void 0,P,O,L,D;if(n||i||v||this.getTickAmount(),L=Y(this.userMin,p.parse(c.min)),D=Y(this.userMax,p.parse(c.max)),v?(this.linkedParent=v,C=v.getExtremes(),this.min=Y(C.min,C.dataMin),this.max=Y(C.max,C.dataMax),this.type!==v.type&&Js(11,!0,s)):(d&&Z(g)&&W(o)&&W(r)&&(r>=g?(P=g,k=0):o<=g&&(O=g,w=0)),this.min=Y(L,P,r),this.max=Y(D,O,o)),W(this.max)&&W(this.min)&&(l&&(this.positiveValuesOnly&&!e&&0>=Math.min(this.min,Y(r,this.min))&&Js(10,!0,s),this.min=kt(l.log2lin(this.min),16),this.max=kt(l.log2lin(this.max),16)),this.range&&W(r)&&(this.userMin=this.min=L=Math.max(r,this.minFromRange()||0),this.userMax=D=this.max,this.range=void 0)),it(this,"foundExtremes"),this.adjustForMinRange(),W(this.min)&&W(this.max)){if(!W(this.userMin)&&W(b)&&b<this.min&&(this.min=L=b),!W(this.userMax)&&W(y)&&y>this.max&&(this.max=D=y),i||this.axisPointRange||this.stacking?.usePercentage||v||!(M=this.max-this.min)||(!Z(L)&&k&&(this.min-=M*k),Z(D)||!w||(this.max+=M*w)),!W(this.userMin)&&W(x)&&(this.min=Math.max(this.min,x)),!W(this.userMax)&&W(m)&&(this.max=Math.min(this.max,m)),d&&W(r)&&W(o)){let E=g||0;!Z(L)&&this.min<E&&r>=E?this.min=c.minRange?Math.min(E,this.max-u):E:!Z(D)&&this.max>E&&o<=E&&(this.max=c.minRange?Math.max(E,this.min+u):E)}!s.polar&&this.min>this.max&&(Z(c.min)?this.max=this.min:Z(c.max)&&(this.min=this.max)),M=this.max-this.min}if(this.min!==this.max&&W(this.min)&&W(this.max)?v&&!T&&S===v.options.tickPixelInterval?this.tickInterval=T=v.tickInterval:this.tickInterval=Y(T,this.tickAmount?M/Math.max(this.tickAmount-1,1):void 0,i?1:M*S/Math.max(this.len,S)):this.tickInterval=1,a&&!e){let E=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(z){z.forceCrop=z.forceCropping?.(),z.processData(E)}),it(this,"postProcessData",{hasExtremesChanged:E})}this.setAxisTranslation(),it(this,"initialAxisTranslation"),this.pointRange&&!T&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let I=Y(c.minTickInterval,n&&!this.series.some(E=>!E.sorted)?this.closestPointRange:0);!T&&I&&this.tickInterval<I&&(this.tickInterval=I),n||l||T||(this.tickInterval=Qr(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let e=this.options,i=e.tickPositions,s=e.tickPositioner,o=this.getMinorTickInterval(),r=!this.isPanning,n=r&&e.startOnTick,a=r&&e.endOnTick,l=[],c;if(this.tickmarkOffset=this.categories&&e.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.single=this.min===this.max&&Z(this.min)&&!this.tickAmount&&(this.min%1==0||e.allowDecimals!==!1),i)l=i.slice();else if(W(this.min)&&W(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))l=[this.min,this.max],Js(19,!1,this.chart);else if(this.dateTime)l=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,e.units),this.min,this.max,e.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)l=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let d=this.tickInterval,p=d;for(;p<=2*d&&(l=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&l.length>this.tickAmount);)this.tickInterval=Qr(this,p*=1.1)}l.length>this.len&&(l=[l[0],l[l.length-1]])[0]===l[1]&&(l.length=1),s&&(this.tickPositions=l,(c=s.apply(this,[this.min,this.max]))&&(l=c))}this.tickPositions=l,this.minorTickInterval=o==="auto"&&this.tickInterval?this.tickInterval/e.minorTicksPerMajor:o,this.paddedTicks=l.slice(0),this.trimTicks(l,n,a),!this.isLinked&&W(this.min)&&W(this.max)&&(this.single&&l.length<2&&!this.categories&&!this.series.some(d=>d.is("heatmap")&&d.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),i||c||this.adjustTickAmount()),it(this,"afterSetTickPositions")}trimTicks(e,i,s){let o=e[0],r=e[e.length-1],n=!this.isOrdinal&&this.minPointOffset||0;if(it(this,"trimTicks"),!this.isLinked||!this.grid){if(i&&o!==-1/0)this.min=o;else for(;this.min-n>e[0];)e.shift();if(s)this.max=r;else for(;this.max+n<e[e.length-1];)e.pop();e.length===0&&Z(o)&&!this.options.tickPositions&&e.push((r+o)/2)}}alignToOthers(){let e,i=this,s=i.chart,o=[this],r=i.options,n=s.options.chart,a=this.coll==="yAxis"&&n.alignThresholds,l=[];if(i.thresholdAlignment=void 0,(n.alignTicks!==!1&&r.alignTicks||a)&&r.startOnTick!==!1&&r.endOnTick!==!1&&!i.logarithmic){let c=p=>{let{horiz:g,options:u}=p;return[g?u.left:u.top,u.width,u.height,u.pane].join(",")},d=c(this);s[this.coll].forEach(function(p){let{series:g}=p;g.length&&g.some(u=>u.visible)&&p!==i&&c(p)===d&&(e=!0,o.push(p))})}if(e&&a){o.forEach(d=>{let p=d.getThresholdAlignment(i);W(p)&&l.push(p)});let c=l.length>1?l.reduce((d,p)=>d+=p,0)/l.length:void 0;o.forEach(d=>{d.thresholdAlignment=c})}return e}getThresholdAlignment(e){if((!W(this.dataMin)||this!==e&&this.series.some(i=>i.isDirty||i.isDirtyData))&&this.getSeriesExtremes(),W(this.threshold)){let i=Ks((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(i=1-i),i}}getTickAmount(){let e=this.options,i=e.tickPixelInterval,s=e.tickAmount;Z(e.tickInterval)||s||!(this.len<i)||this.isRadial||this.logarithmic||!e.startOnTick||!e.endOnTick||(s=2),!s&&this.alignToOthers()&&(s=Math.ceil(this.len/i)+1),s<4&&(this.finalTickAmt=s,s=5),this.tickAmount=s}adjustTickAmount(){let e=this,{finalTickAmt:i,max:s,min:o,options:r,tickPositions:n,tickAmount:a,thresholdAlignment:l}=e,c=n?.length,d=Y(e.threshold,e.softThreshold?0:null),p,g,u=e.tickInterval,m,x=()=>n.push(kt(n[n.length-1]+u)),f=()=>n.unshift(kt(n[0]-u));if(W(l)&&(m=l<.5?Math.ceil(l*(a-1)):Math.floor(l*(a-1)),r.reversed&&(m=a-1-m)),e.hasData()&&W(o)&&W(s)){let y=()=>{e.transA*=(c-1)/(a-1),e.min=r.startOnTick?n[0]:Math.min(o,n[0]),e.max=r.endOnTick?n[n.length-1]:Math.max(s,n[n.length-1])};if(W(m)&&W(e.threshold)){for(;n[m]!==d||n.length!==a||n[0]>o||n[n.length-1]<s;){for(n.length=0,n.push(e.threshold);n.length<a;)n[m]===void 0||n[m]>e.threshold?f():x();if(u>8*e.tickInterval)break;u*=2}y()}else if(c<a){for(;n.length<a;)n.length%2||o===d?x():f();y()}if(Z(i)){for(g=p=n.length;g--;)(i===3&&g%2==1||i<=2&&g>0&&g<p-1)&&n.splice(g,1);e.finalTickAmt=void 0}}}setScale(){let{coll:e,stacking:i}=this,s=!1,o=!1;this.series.forEach(n=>{s=s||n.isDirtyData||n.isDirty,o=o||n.xAxis?.isDirty||!1}),this.setAxisSize();let r=this.len!==this.old?.len;r||s||o||this.isLinked||this.forceRedraw||this.userMin!==this.old?.userMin||this.userMax!==this.old?.userMax||this.alignToOthers()?(i&&e==="yAxis"&&i.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),i&&e==="xAxis"&&i.buildStacks(),this.isDirty||(this.isDirty=r||this.min!==this.old?.min||this.max!==this.old?.max)):i&&i.cleanStacks(),s&&delete this.allExtremes,it(this,"afterSetScale")}setExtremes(e,i,s=!0,o,r){let n=this.chart;this.series.forEach(a=>{delete a.kdTree}),e=n.time.parse(e),i=n.time.parse(i),it(this,"setExtremes",r=Di(r,{min:e,max:i}),a=>{this.userMin=a.min,this.userMax=a.max,this.eventArgs=a,s&&n.redraw(o)})}setAxisSize(){let e=this.chart,i=this.options,s=i.offsets||[0,0,0,0],o=this.horiz,r=this.width=Math.round(zi(Y(i.width,e.plotWidth-s[3]+s[1]),e.plotWidth)),n=this.height=Math.round(zi(Y(i.height,e.plotHeight-s[0]+s[2]),e.plotHeight)),a=this.top=Math.round(zi(Y(i.top,e.plotTop+s[0]),e.plotHeight,e.plotTop)),l=this.left=Math.round(zi(Y(i.left,e.plotLeft+s[3]),e.plotWidth,e.plotLeft));this.bottom=e.chartHeight-n-a,this.right=e.chartWidth-r-l,this.len=Math.max(o?r:n,0),this.pos=o?l:a}getExtremes(){let e=this.logarithmic;return{min:e?kt(e.lin2log(this.min)):this.min,max:e?kt(e.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(e){let i=this.logarithmic,s=i?i.lin2log(this.min):this.min,o=i?i.lin2log(this.max):this.max;return e===null||e===-1/0?e=s:e===1/0?e=o:s>e?e=s:o<e&&(e=o),this.translate(e,0,1,0,1)}autoLabelAlign(e){let i=(Y(e,0)-90*this.side+720)%360,s={align:"center"};return it(this,"autoLabelAlign",s,function(o){i>15&&i<165?o.align="right":i>195&&i<345&&(o.align="left")}),s.align}tickSize(e){let i=this.options,s=Y(i[e==="tick"?"tickWidth":"minorTickWidth"],e==="tick"&&this.isXAxis&&!this.categories?1:0),o=i[e==="tick"?"tickLength":"minorTickLength"],r;s&&o&&(i[e+"Position"]==="inside"&&(o=-o),r=[o,s]);let n={tickSize:r};return it(this,"afterTickSize",n),n.tickSize}labelMetrics(){let e=this.chart.renderer,i=this.ticks,s=i[Object.keys(i)[0]]||{};return this.chart.renderer.fontMetrics(s.label||s.movedLabel||e.box)}unsquish(){let e=this.options.labels,i=e.padding||0,s=this.horiz,o=this.tickInterval,r=this.len/((+!!this.categories+this.max-this.min)/o),n=e.rotation,a=kt(.8*this.labelMetrics().h),l=Math.max(this.max-this.min,0),c=function(m){let x=(m+2*i)/(r||1);return(x=x>1?Math.ceil(x):1)*o>l&&m!==1/0&&r!==1/0&&l&&(x=Math.ceil(l/o)),kt(x*o)},d=o,p,g=Number.MAX_VALUE,u;if(s){if(!e.staggerLines&&(W(n)?u=[n]:r<e.autoRotationLimit&&(u=e.autoRotation)),u){let m,x;for(let f of u)(f===n||f&&f>=-90&&f<=90)&&(x=(m=c(Math.abs(a/Math.sin(fd*f))))+Math.abs(f/360))<g&&(g=x,p=f,d=m)}}else d=c(.75*a);return this.autoRotation=u,this.labelRotation=Y(p,W(n)?n:0),e.step?o:d}getSlotWidth(e){let i=this.chart,s=this.horiz,o=this.options.labels,r=Math.max(this.tickPositions.length-+!this.categories,1),n=i.margin[3];if(e&&W(e.slotWidth))return e.slotWidth;if(s&&o.step<2&&!this.isRadial)return o.rotation?0:(this.staggerLines||1)*this.len/r;if(!s){let a=o.style.width;if(a!==void 0)return parseInt(String(a),10);if(n)return n-i.spacing[3]}return .33*i.chartWidth}renderUnsquish(){let e=this.chart,i=e.renderer,s=this.tickPositions,o=this.ticks,r=this.options.labels,n=r.style,a=this.horiz,l=this.getSlotWidth(),c=Math.max(1,Math.round(l-(a?2*(r.padding||0):r.distance||0))),d={},p=this.labelMetrics(),g=n.lineClamp,u,m=g??(Math.floor(this.len/(s.length*p.h))||1),x=0;Jr(r.rotation)||(d.rotation=r.rotation||0),s.forEach(function(f){let y=o[f];y.movedLabel&&y.replaceMovedLabel();let b=y.label?.textPxLength||0;b>x&&(x=b)}),this.maxLabelLength=x,this.autoRotation?x>c&&x>p.h?d.rotation=this.labelRotation:this.labelRotation=0:l&&(u=c),d.rotation&&(u=x>.5*e.chartHeight?.33*e.chartHeight:x,g||(m=1)),this.labelAlign=r.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(d.align=this.labelAlign),s.forEach(function(f){let y=o[f],b=y?.label,v=n.width,S={};b&&(b.attr(d),y.shortenLabel?y.shortenLabel():u&&!v&&n.whiteSpace!=="nowrap"&&(u<(b.textPxLength||0)||b.element.tagName==="SPAN")?b.css(Di(S,{width:`${u}px`,lineClamp:m})):!b.styles.width||S.width||v||b.css({width:"auto"}),y.rotation=d.rotation)},this),this.tickRotCorr=i.rotCorr(p.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(e){return e.hasData()})||this.options.showEmpty&&Z(this.min)&&Z(this.max)}addTitle(e){let i,s=this.chart.renderer,o=this.horiz,r=this.opposite,n=this.options.title,a=this.chart.styledMode;this.axisTitle||((i=n.textAlign)||(i=(o?{low:"left",middle:"center",high:"right"}:{low:r?"right":"left",middle:"center",high:r?"left":"right"})[n.align]),this.axisTitle=s.text(n.text||"",0,0,n.useHTML).attr({zIndex:7,rotation:n.rotation||0,align:i}).addClass("highcharts-axis-title"),a||this.axisTitle.css(Ii(n.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||n.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[e?"show":"hide"](e)}generateTick(e){let i=this.ticks;i[e]?i[e].addLabel():i[e]=new Pe(this,e)}createGroups(){let{axisParent:e,chart:i,coll:s,options:o}=this,r=i.renderer,n=(a,l,c)=>r.g(a).attr({zIndex:c}).addClass(`highcharts-${s.toLowerCase()}${l} `+(this.isRadial?`highcharts-radial-axis${l} `:"")+(o.className||"")).add(e);this.axisGroup||(this.gridGroup=n("grid","-grid",o.gridZIndex),this.axisGroup=n("axis","",o.zIndex),this.labelGroup=n("axis-labels","-labels",o.labels.zIndex))}getOffset(){let e=this,{chart:i,horiz:s,options:o,side:r,ticks:n,tickPositions:a,coll:l}=e,c=i.inverted&&!e.isZAxis?[1,0,3,2][r]:r,d=e.hasData(),p=o.title,g=o.labels,u=W(o.crossing),m=i.axisOffset,x=i.clipOffset,f=[-1,1,1,-1][r],y,b=0,v,S=0,w=0,k,M;if(e.showAxis=y=d||o.showEmpty,e.staggerLines=e.horiz&&g.staggerLines||void 0,e.createGroups(),d||e.isLinked?(a.forEach(function(C){e.generateTick(C)}),e.renderUnsquish(),e.reserveSpaceDefault=r===0||r===2||{1:"left",3:"right"}[r]===e.labelAlign,Y(g.reserveSpace,!u&&null,e.labelAlign==="center"||null,e.reserveSpaceDefault)&&a.forEach(function(C){w=Math.max(n[C].getLabelSize(),w)}),e.staggerLines&&(w*=e.staggerLines),e.labelOffset=w*(e.opposite?-1:1)):Bi(n,function(C,T){C.destroy(),delete n[T]}),p?.text&&p.enabled!==!1&&(e.addTitle(y),y&&!u&&p.reserveSpace!==!1&&(e.titleOffset=b=e.axisTitle.getBBox()[s?"height":"width"],S=Z(v=p.offset)?0:Y(p.margin,s?5:10))),e.renderLine(),e.offset=f*Y(o.offset,m[r]?m[r]+(o.margin||0):0),e.tickRotCorr=e.tickRotCorr||{x:0,y:0},M=r===0?-e.labelMetrics().h:r===2?e.tickRotCorr.y:0,k=Math.abs(w)+S,w&&(k-=M,k+=f*(s?Y(g.y,e.tickRotCorr.y+f*g.distance):Y(g.x,f*g.distance))),e.axisTitleMargin=Y(v,k),e.getMaxLabelDimensions&&(e.maxLabelDimensions=e.getMaxLabelDimensions(n,a)),l!=="colorAxis"&&x){let C=this.tickSize("tick");m[r]=Math.max(m[r],(e.axisTitleMargin||0)+b+f*e.offset,k,a?.length&&C?C[0]+f*e.offset:0);let T=!e.axisLine||o.offset?0:e.axisLine.strokeWidth()/2;x[c]=Math.max(x[c],T)}it(this,"afterGetOffset")}getLinePath(e){let i=this.chart,s=this.opposite,o=this.offset,r=this.horiz,n=this.left+(s?this.width:0)+o,a=i.chartHeight-this.bottom-(s?this.height:0)+o;return s&&(e*=-1),i.renderer.crispLine([["M",r?this.left:n,r?a:this.top],["L",r?i.chartWidth-this.right:n,r?a:i.chartHeight-this.bottom]],e)}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(e){let i=this.horiz,s=this.left,o=this.top,r=this.len,n=this.options.title,a=i?s:o,l=this.opposite,c=this.offset,d=n.x,p=n.y,g=this.chart.renderer.fontMetrics(e),u=e?Math.max(e.getBBox(!1,0).height-g.h-1,0):0,m={low:a+(i?0:r),middle:a+r/2,high:a+(i?r:0)}[n.align],x=(i?o+this.height:s)+(i?1:-1)*(l?-1:1)*(this.axisTitleMargin||0)+[-u,u,g.f,-u][this.side],f={x:i?m+d:x+(l?this.width:0)+c+d,y:i?x+p-(l?this.height:0)+c:m+p};return it(this,"afterGetTitlePosition",{titlePosition:f}),f}renderMinorTick(e,i){let s=this.minorTicks;s[e]||(s[e]=new Pe(this,e,"minor")),i&&s[e].isNew&&s[e].render(null,!0),s[e].render(null,!1,1)}renderTick(e,i,s){let o=this.isLinked,r=this.ticks;(!o||e>=this.min&&e<=this.max||this.grid?.isColumn)&&(r[e]||(r[e]=new Pe(this,e)),s&&r[e].isNew&&r[e].render(i,!0,-1),r[e].render(i))}render(){let e,i,s=this,o=s.chart,r=s.logarithmic,n=o.renderer,a=s.options,l=s.isLinked,c=s.tickPositions,d=s.axisTitle,p=s.ticks,g=s.minorTicks,u=s.alternateBands,m=a.stackLabels,x=a.alternateGridColor,f=a.crossing,y=s.tickmarkOffset,b=s.axisLine,v=s.showAxis,S=gd(n.globalAnimation);if(s.labelEdge.length=0,s.overlap=!1,[p,g,u].forEach(function(w){Bi(w,function(k){k.isActive=!1})}),W(f)){let w=this.isXAxis?o.yAxis[0]:o.xAxis[0],k=[1,-1,-1,1][this.side];if(w){let M=w.toPixels(f,!0);s.horiz&&(M=w.len-M),s.offset=k*M}}if(s.hasData()||l){let w=s.chart.hasRendered&&s.old&&W(s.old.min);s.minorTickInterval&&!s.categories&&s.getMinorTickPositions().forEach(function(k){s.renderMinorTick(k,w)}),c.length&&(c.forEach(function(k,M){s.renderTick(k,M,w)}),y&&(s.min===0||s.single)&&(p[-1]||(p[-1]=new Pe(s,-1,null,!0)),p[-1].render(-1))),x&&c.forEach(function(k,M){i=c[M+1]!==void 0?c[M+1]+y:s.max-y,M%2==0&&k<s.max&&i<=s.max+(o.polar?-y:y)&&(u[k]||(u[k]=new A.PlotLineOrBand(s,{})),e=k+y,u[k].options={from:r?r.lin2log(e):e,to:r?r.lin2log(i):i,color:x,className:"highcharts-alternate-grid"},u[k].render(),u[k].isActive=!0)}),s._addedPlotLB||(s._addedPlotLB=!0,(a.plotLines||[]).concat(a.plotBands||[]).forEach(function(k){s.addPlotBandOrLine(k)}))}[p,g,u].forEach(function(w){let k=[],M=S.duration;Bi(w,function(C,T){C.isActive||(C.render(T,!1,0),C.isActive=!1,k.push(T))}),Md(function(){let C=k.length;for(;C--;)w[k[C]]&&!w[k[C]].isActive&&(w[k[C]].destroy(),delete w[k[C]])},w!==u&&o.hasRendered&&M?M:0)}),b&&(b[b.isPlaced?"animate":"attr"]({d:this.getLinePath(b.strokeWidth())}),b.isPlaced=!0,b[v?"show":"hide"](v)),d&&v&&(d[d.isNew?"attr":"animate"](s.getTitlePosition(d)),d.isNew=!1),m?.enabled&&s.stacking&&s.stacking.renderStackTotals(),s.old={len:s.len,max:s.max,min:s.min,transA:s.transA,userMax:s.userMax,userMin:s.userMin},s.isDirty=!1,it(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(e){e.render()})),this.series.forEach(function(e){e.isDirty=!0})}getKeepProps(){return this.keepProps||h.keepProps}destroy(e){let i=this,s=i.plotLinesAndBands,o=this.eventOptions;if(it(this,"destroy",{keepEvents:e}),e||kd(i),[i.ticks,i.minorTicks,i.alternateBands].forEach(function(r){yd(r)}),s){let r=s.length;for(;r--;)s[r].destroy()}for(let r in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(n){i[n]&&(i[n]=i[n].destroy())}),i.plotLinesAndBandsGroups)i.plotLinesAndBandsGroups[r]=i.plotLinesAndBandsGroups[r].destroy();Bi(i,function(r,n){i.getKeepProps().indexOf(n)===-1&&delete i[n]}),this.eventOptions=o}drawCrosshair(e,i){let s=this.crosshair,o=s?.snap??!0,r=this.chart,n,a,l,c=this.cross,d;if(it(this,"drawCrosshair",{e,point:i}),e||(e=this.cross?.e),s&&(Z(i)||!o)!==!1){if(o?Z(i)&&(a=Y(this.coll!=="colorAxis"?i.crosshairPos:null,this.isXAxis?i.plotX:this.len-i.plotY)):a=e&&(this.horiz?e.chartX-this.pos:this.len-e.chartY+this.pos),Z(a)&&(d={value:i&&(this.isXAxis?i.x:Y(i.stackY,i.y)),translatedValue:a},r.polar&&Di(d,{isCrosshair:!0,chartX:e?.chartX,chartY:e?.chartY,point:i}),n=this.getPlotLinePath(d)||null),!Z(n)){this.hideCrosshair();return}l=this.categories&&!this.isRadial,c||(this.cross=c=r.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(l?"category ":"thin ")+(s.className||"")).attr({zIndex:Y(s.zIndex,2)}).add(),!r.styledMode&&(c.attr({stroke:s.color||(l?et.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":Y(s.width,1)}).css({"pointer-events":"none"}),s.dashStyle&&c.attr({dashstyle:s.dashStyle}))),c.show().attr({d:n}),l&&!s.width&&c.attr({"stroke-width":this.transA}),this.cross.e=e}else this.hideCrosshair();it(this,"afterDrawCrosshair",{e,point:i})}hideCrosshair(){this.cross&&this.cross.hide(),it(this,"afterHideCrosshair")}update(e,i){let s=this.chart;e=Ii(this.userOptions,e),this.destroy(!0),this.init(s,e),s.isDirtyBox=!0,Y(i,!0)&&s.redraw()}remove(e){let i=this.chart,s=this.coll,o=this.series,r=o.length;for(;r--;)o[r]&&o[r].remove(!1);Zr(i.axes,this),Zr(i[s]||[],this),i.orderItems(s),this.destroy(),i.isDirtyBox=!0,Y(e,!0)&&i.redraw()}setTitle(e,i){this.update({title:e},i)}setCategories(e,i){this.update({categories:e},i)}}return h.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],h})(),{addEvent:Sd,getMagnitude:Cd,normalizeTickInterval:Td,timeUnits:Ni}=N;(function(h){function t(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function e(){if(this.type!=="datetime"){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new i(this))}h.compose=function(s){return s.keepProps.includes("dateTime")||(s.keepProps.push("dateTime"),s.prototype.getTimeTicks=t,Sd(s,"afterSetType",e)),s};class i{constructor(o){this.axis=o}normalizeTimeTickInterval(o,r){let n=r||[["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]],a=n[n.length-1],l=Ni[a[0]],c=a[1],d;for(d=0;d<n.length&&(l=Ni[(a=n[d])[0]],c=a[1],!n[d+1]||!(o<=(l*c[c.length-1]+Ni[n[d+1][0]])/2));d++);l===Ni.year&&o<5*l&&(c=[1,2,5]);let p=Td(o/l,c,a[0]==="year"?Math.max(Cd(o/l),1):1);return{unitRange:l,count:p,unitName:a[0]}}getXDateFormat(o,r){let{axis:n}=this,a=n.chart.time;return n.closestPointRange?a.getDateFormat(n.closestPointRange,o,n.options.startOfWeek,r)||a.resolveDTLFormat(r.year).main:a.resolveDTLFormat(r.day).main}}h.Additions=i})(ls||(ls={}));let Pd=ls,{addEvent:tn,normalizeTickInterval:Ad,pick:Od}=N;(function(h){function t(){this.type!=="logarithmic"?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new i(this))}function e(){let s=this.logarithmic;s&&(this.lin2val=function(o){return s.lin2log(o)},this.val2lin=function(o){return s.log2lin(o)})}h.compose=function(s){return s.keepProps.includes("logarithmic")||(s.keepProps.push("logarithmic"),tn(s,"afterSetType",t),tn(s,"afterInit",e)),s};class i{constructor(o){this.axis=o}getLogTickPositions(o,r,n,a){let l=this.axis,c=l.len,d=l.options,p=[];if(a||(this.minorAutoInterval=void 0),o>=.5)o=Math.round(o),p=l.getLinearTickPositions(o,r,n);else if(o>=.08){let g,u,m,x,f,y,b,v=Math.floor(r);for(g=o>.3?[1,2,4]:o>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],u=v;u<n+1&&!b;u++)for(m=0,x=g.length;m<x&&!b;m++)(f=this.log2lin(this.lin2log(u)*g[m]))>r&&(!a||y<=n)&&y!==void 0&&p.push(y),y>n&&(b=!0),y=f}else{let g=this.lin2log(r),u=this.lin2log(n),m=a?l.getMinorTickInterval():d.tickInterval,x=d.tickPixelInterval/(a?5:1),f=a?c/l.tickPositions.length:c;o=Ad(o=Od(m==="auto"?null:m,this.minorAutoInterval,(u-g)*x/(f||1))),p=l.getLinearTickPositions(o,g,u).map(this.log2lin),a||(this.minorAutoInterval=o/5)}return a||(l.tickInterval=o),p}lin2log(o){return Math.pow(10,o)}log2lin(o){return Math.log(o)/Math.LN10}}h.Additions=i})(ds||(ds={}));let Ld=ds,{erase:Ed,extend:Dd,isNumber:en}=N;(function(h){let t;function e(l){return this.addPlotBandOrLine(l,"plotBands")}function i(l,c){let d=this.userOptions,p=new t(this,l);if(this.visible&&(p=p.render()),p){if(this._addedPlotLB||(this._addedPlotLB=!0,(d.plotLines||[]).concat(d.plotBands||[]).forEach(g=>{this.addPlotBandOrLine(g)})),c){let g=d[c]||[];g.push(l),d[c]=g}this.plotLinesAndBands.push(p)}return p}function s(l){return this.addPlotBandOrLine(l,"plotLines")}function o(l,c,d){d=d||this.options;let p=this.getPlotLinePath({value:c,force:!0,acrossPanes:d.acrossPanes}),g=[],u=this.horiz,m=!en(this.min)||!en(this.max)||l<this.min&&c<this.min||l>this.max&&c>this.max,x=this.getPlotLinePath({value:l,force:!0,acrossPanes:d.acrossPanes}),f,y=1,b;if(x&&p)for(m&&(b=x.toString()===p.toString(),y=0),f=0;f<x.length;f+=2){let v=x[f],S=x[f+1],w=p[f],k=p[f+1];(v[0]==="M"||v[0]==="L")&&(S[0]==="M"||S[0]==="L")&&(w[0]==="M"||w[0]==="L")&&(k[0]==="M"||k[0]==="L")&&(u&&w[1]===v[1]?(w[1]+=y,k[1]+=y):u||w[2]!==v[2]||(w[2]+=y,k[2]+=y),g.push(["M",v[1],v[2]],["L",S[1],S[2]],["L",k[1],k[2]],["L",w[1],w[2]],["Z"])),g.isFlat=b}return g}function r(l){this.removePlotBandOrLine(l)}function n(l){let c=this.plotLinesAndBands,d=this.options,p=this.userOptions;if(c){let g=c.length;for(;g--;)c[g].id===l&&c[g].destroy();[d.plotLines||[],p.plotLines||[],d.plotBands||[],p.plotBands||[]].forEach(function(u){for(g=u.length;g--;)u[g]?.id===l&&Ed(u,u[g])})}}function a(l){this.removePlotBandOrLine(l)}h.compose=function(l,c){let d=c.prototype;return d.addPlotBand||(t=l,Dd(d,{addPlotBand:e,addPlotLine:s,addPlotBandOrLine:i,getPlotBandPath:o,removePlotBand:r,removePlotLine:a,removePlotBandOrLine:n})),c}})(cs||(cs={}));let Id=cs,{addEvent:Bd,arrayMax:sn,arrayMin:on,defined:Nt,destroyObjectProperties:zd,erase:Nd,fireEvent:Rd,merge:rn,objectEach:Wd,pick:Hd}=N;class Ri{static compose(t,e){return Bd(t,"afterInit",function(){this.labelCollectors.push(()=>{let i=[];for(let s of this.axes)for(let{label:o,options:r}of s.plotLinesAndBands)o&&!r?.label?.allowOverlap&&i.push(o);return i})}),Id.compose(Ri,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){Rd(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:n=0}=e,{renderer:a,time:l}=t.chart,c={},d=l.parse(e.to),p=l.parse(e.from),g=l.parse(e.value),u=e.borderWidth,m=e.label,{label:x,svgElem:f}=this,y=[],b,v=Nt(p)&&Nt(d),S=Nt(g),w=!f,k={class:"highcharts-plot-"+(v?"band ":"line ")+(e.className||"")},M=v?"bands":"lines";if(!t.chart.styledMode&&(S?(k.stroke=o||"#999999",k["stroke-width"]=Hd(e.width,1),e.dashStyle&&(k.dashstyle=e.dashStyle)):v&&(k.fill=o||"#e6e9ff",u&&(k.stroke=e.borderColor,k["stroke-width"]=u))),c.zIndex=n,M+="-"+n,(b=t.plotLinesAndBandsGroups[M])||(t.plotLinesAndBandsGroups[M]=b=a.g("plot-"+M).attr(c).add()),f||(this.svgElem=f=a.path().attr(k).add(b)),Nt(g))y=t.getPlotLinePath({value:s?.log2lin(g)??g,lineWidth:f.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(Nt(p)&&Nt(d)))return;y=t.getPlotBandPath(s?.log2lin(p)??p,s?.log2lin(d)??d,e)}return!this.eventsAdded&&r&&(Wd(r,(C,T)=>{f?.on(T,P=>{r[T].apply(this,[P])})}),this.eventsAdded=!0),(w||!f.d)&&y?.length?f.attr({d:y}):f&&(y?(f.show(),f.animate({d:y})):f.d&&(f.hide(),x&&(this.label=x=x.destroy()))),m&&(Nt(m.text)||Nt(m.formatter))&&y?.length&&t.width>0&&t.height>0&&!y.isFlat?(m=rn(At({align:i&&v?"center":void 0,x:i?!v&&4:10,verticalAlign:!i&&v?"middle":void 0,y:i?v?16:10:v?6:-4,rotation:i&&!v?90:0},v?{inside:!0}:{}),m),this.renderLabel(m,y,v,n)):x&&x.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,n=t.inside,a=this.label;a||(this.label=a=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||a.css(rn({fontSize:"0.8em",textOverflow:i&&!n?"":"ellipsis"},t.style)),a.add());let l=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],c=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=on(l),p=on(c),g=sn(l)-d;a.align(t,!1,{x:d,y:p,width:g,height:sn(c)-p}),a.alignAttr.y-=r.fontMetrics(a).b,(!a.alignValue||a.alignValue==="left"||Nt(n))&&a.css({width:(t.style?.width||(i&&n?g:a.rotation===90?o.height-(a.alignAttr.y-o.top):(t.clip?o.width:o.chart.chartWidth)-(a.alignAttr.x-o.left)))+"px"}),a.show(!0)}getLabelText(t){return Nt(t.formatter)?t.formatter.call(this):t.text}destroy(){Nd(this.axis.plotLinesAndBands,this),delete this.axis,zd(this)}}let{animObject:Fd}=gt,{format:nn}=St,{composed:Xd,dateFormats:Yd,doc:an,isSafari:jd}=A,{distribute:Gd}=bi,{addEvent:_d,clamp:Ae,css:hn,discardElement:Vd,extend:Ud,fireEvent:ln,getAlignFactor:dn,isArray:$d,isNumber:Zd,isObject:qd,isString:to,merge:Kd,pick:Oe,pushUnique:Jd,splat:eo,syncTimeout:Qd}=N;class io{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(e=>{let i=e.series.tooltipOptions,s=e.formatPrefix||"point";return(i[s+"Formatter"]||e.tooltipFormatter).call(e,i[s+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e?.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e,i=this.points||eo(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}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(),Vd(this.container)),N.clearTimeout(this.hideTimer)}getAnchor(t,e){let i,{chart:s,pointer:o}=this,r=s.inverted,n=s.plotTop,a=s.plotLeft;if(t=eo(t),t[0].series?.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)e.chartX===void 0&&(e=o.normalize(e)),i=[e.chartX-a,e.chartY-n];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let l=0,c=0;t.forEach(function(d){let p=d.pos(!0);p&&(l+=p[0],c+=p[1])}),l/=t.length,c/=t.length,this.shared&&t.length>1&&e&&(r?l=e.chartX:c=e.chartY),i=[l-a,c-n]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+Oe(t.colorIndex,o.colorIndex),r?.className].filter(to).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,n=this.container,a=this.chart.renderer;if(this.label){let l=!this.label.hasClass("highcharts-label");(!r&&l||r&&!l)&&this.destroy()}if(!this.label){if(this.outside){let l=this.chart,c=l.options.chart.style,d=je.getRendererType();this.container=n=A.doc.createElement("div"),n.className="highcharts-tooltip-container "+(l.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),hn(n,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(c?.zIndex||0)+3)}),this.renderer=a=new d(n,0,0,c,void 0,void 0,a.styledMode)}if(r?this.label=a.g("tooltip"):(this.label=a.label("",t,e,o.shape||"callout",void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let l=this.label;[l.xSetter,l.ySetter].forEach((c,d)=>{l[d?"ySetter":"xSetter"]=p=>{c.call(l,i.distance),l[d?"y":"x"]=p,n&&(n.style[d?"top":"left"]=`${p}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow??!o.fixed).add()}return n&&!n.parentElement&&A.doc.body.appendChild(n),this.label}getPlayingField(){let{body:t,documentElement:e}=an,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:n}=this,{inverted:a,plotLeft:l,plotTop:c,polar:d}=o,{plotX:p=0,plotY:g=0}=i,u={},m=a&&i.h||0,{height:x,width:f}=this.getPlayingField(),y=n.getChartPosition(),b=I=>I*y.scaleX,v=I=>I*y.scaleY,S=I=>{let E=I==="x";return[I,E?f:x,E?t:e].concat(r?[E?b(t):v(e),E?y.left-s+b(p+l):y.top-s+v(g+c),0,E?f:x]:[E?t:e,E?p+l:g+c,E?l:c,E?l+o.plotWidth:c+o.plotHeight])},w=S("y"),k=S("x"),M,C=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(C=!C);let T=!this.followPointer&&Oe(i.ttBelow,!d&&!a===C),P=function(I,E,z,K,_,mt,F){let X=r?I==="y"?v(s):b(s):s,V=(z-K)/2,j=K<_-s,$=_+s+K<E,q=_-X-z+V,U=_+X-V;if(T&&$)u[I]=U;else if(!T&&j)u[I]=q;else if(j)u[I]=Math.min(F-K,q-m<0?q:q-m);else{if(!$)return u[I]=0,!1;u[I]=Math.max(mt,U+m+z>E?U:U+m)}},O=function(I,E,z,K,_){if(_<s||_>E-s)return!1;_<z/2?u[I]=1:_>E-K/2?u[I]=E-K-2:u[I]=_-z/2},L=function(I){[w,k]=[k,w],M=I},D=()=>{P.apply(0,w)!==!1?O.apply(0,k)!==!1||M||(L(!0),D()):M?u.x=u.y=0:(L(!0),D())};return(a&&!d||this.len>1)&&L(),D(),u}getFixedPosition(t,e,i){let s=i.series,{chart:o,options:r,split:n}=this,a=r.position,l=a.relativeTo,c=r.shared||s?.yAxis?.isRadial&&(l==="pane"||!l)?"plotBox":l,d=c==="chart"?o.renderer:o[c]||o.getClipBox(s,!0);return{x:d.x+(d.width-t)*dn(a.align)+a.x,y:d.y+(d.height-e)*dn(a.verticalAlign)+(!n&&a.y||0)}}hide(t){let e=this;N.clearTimeout(this.hideTimer),t=Oe(t,this.options.hideDelay),this.isHidden||(this.hideTimer=Qd(function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t&&150,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=Oe(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let{followPointer:o,options:r}=this,n=Fd(!o&&!this.isHidden&&!r.fixed&&r.animation),a=o||(this.len||0)>1,l={x:t,y:e};a?l.anchorX=l.anchorY=NaN:(l.anchorX=i,l.anchorY=s),n.step=()=>this.drawTracker(),this.getLabel().animate(l,n)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:r}=this,n=eo(t),a=n[0],l=s.format,c=s.formatter||this.defaultFormatter,d=i.styledMode,p=this.allowShared;if(!s.enabled||!a.series)return;N.clearTimeout(this.hideTimer),this.allowShared=!(!$d(t)&&t.series&&t.series.noSharedTooltip),p=p&&!this.allowShared,this.followPointer=!this.split&&a.series.tooltipOptions.followPointer;let g=this.getAnchor(t,e),u=g[0],m=g[1];r&&this.allowShared&&(o.applyInactiveState(n),n.forEach(y=>y.setState("hover")),a.points=n),this.len=n.length;let x=to(l)?nn(l,a,i):c.call(a,this);a.points=void 0;let f=a.series;if(this.distance=Oe(f.tooltipOptions.distance,16),x===!1)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,n);else{let y=u,b=m;if(e&&o.isDirectTouch&&(y=e.chartX-i.plotLeft,b=e.chartY-i.plotTop),i.polar||f.options.clip===!1||n.some(v=>o.isDirectTouch||v.series.shouldShowTooltip(y,b))){let v=this.getLabel(p&&this.tt||{});(!s.style.width||d)&&v.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),v.attr({class:this.getClassName(a),text:x&&x.join?x.join(""):x}),this.outside&&v.attr({x:Ae(v.x||0,0,this.getPlayingField().width-(v.width||0)-1)}),d||v.attr({stroke:s.borderColor||a.color||f.color||"#666666"}),this.updatePosition({plotX:u,plotY:m,negative:a.negative,ttBelow:a.ttBelow,series:f,h:g[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}ln(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:n,plotLeft:a,plotTop:l,scrollablePixelsY:c=0,scrollablePixelsX:d,styledMode:p},distance:g,options:u,options:{fixed:m,position:x,positioner:f},pointer:y}=i,{scrollLeft:b=0,scrollTop:v=0}=s.scrollablePlotArea?.scrollingContainer||{},S=i.outside&&typeof d!="number"?an.documentElement.getBoundingClientRect():{left:b,right:b+o,top:v,bottom:v+r},w=i.getLabel(),k=this.renderer||s.renderer,M=!!s.xAxis[0]?.opposite,{left:C,top:T}=y.getChartPosition(),P=f||m,O=l+v,L=0,D=n-c,I=function(F,X,V,j=[0,0],$=!0){let q,U;if(V.isHeader)U=M?0:D,q=Ae(j[0]-F/2,S.left,S.right-F-(i.outside?C:0));else if(m&&V){let tt=i.getFixedPosition(F,X,V);q=tt.x,U=tt.y-O}else U=j[1]-O,q=Ae(q=$?j[0]-F-g:j[0]+g,$?q:S.left,S.right);return{x:q,y:U}};to(t)&&(t=[!1,t]);let E=t.slice(0,e.length+1).reduce(function(F,X,V){if(X!==!1&&X!==""){let j=e[V-1]||{isHeader:!0,plotX:e[0].plotX,plotY:n,series:{}},$=j.isHeader,q=$?i:j.series,U=q.tt=function(Ie,Pt,ni){let ie=Ie,{isHeader:xe,series:ai}=Pt,Dt=ai.tooltipOptions||u;if(!ie){let Be={padding:Dt.padding,r:Dt.borderRadius};p||(Be.fill=Dt.backgroundColor,Be["stroke-width"]=Dt.borderWidth??(m&&!xe?0:1)),ie=k.label("",0,0,Dt[xe?"headerShape":"shape"]||(m&&!xe?"rect":"callout"),void 0,void 0,Dt.useHTML).addClass(i.getClassName(Pt,!0,xe)).attr(Be).add(w)}return ie.isActive=!0,ie.attr({text:ni}),p||ie.css(Dt.style).attr({stroke:Dt.borderColor||Pt.color||ai.color||"#333333"}),ie}(q.tt,j,X.toString()),tt=U.getBBox(),ft=tt.width+U.strokeWidth();$&&(L=tt.height,D+=L,M&&(O-=L));let{anchorX:bt,anchorY:ee}=function(Ie){let Pt,ni,{isHeader:ie,plotX:xe=0,plotY:ai=0,series:Dt}=Ie;if(ie)Pt=Math.max(a+xe,a),ni=l+n/2;else{let{xAxis:Be,yAxis:Pa}=Dt;Pt=Be.pos+Ae(xe,-g,Be.len+g),Dt.shouldShowTooltip(0,Pa.pos-l+ai,{ignoreX:!0})&&(ni=Pa.pos+ai)}return{anchorX:Pt=Ae(Pt,S.left-g,S.right+g),anchorY:ni}}(j);if(typeof ee=="number"){let Ie=tt.height+1,Pt=(f||I).call(i,ft,Ie,j,[bt,ee]);F.push({align:P?0:void 0,anchorX:bt,anchorY:ee,boxWidth:ft,point:j,rank:Oe(Pt.rank,+!!$),size:Ie,target:Pt.y,tt:U,x:Pt.x})}else U.isActive=!1}return F},[]);!P&&E.some(F=>{let{outside:X}=i,V=(X?C:0)+F.anchorX;return V<S.left&&V+F.boxWidth<S.right||V<C-S.left+F.boxWidth&&S.right-V>V})&&(E=E.map(F=>{let{x:X,y:V}=I.call(this,F.boxWidth,F.size,F.point,[F.anchorX,F.anchorY],!1);return Ud(F,{target:V,x:X})})),i.cleanSplit(),Gd(E,D);let z={left:C,right:C};E.forEach(function(F){let{x:X,boxWidth:V,isHeader:j}=F;!j&&(i.outside&&C+X<z.left&&(z.left=C+X),!j&&i.outside&&z.left+V>z.right&&(z.right=C+X))}),E.forEach(function(F){let{x:X,anchorX:V,anchorY:j,pos:$,point:{isHeader:q}}=F,U={visibility:$===void 0?"hidden":"inherit",x:X,y:($||0)+O+(m&&x.y||0),anchorX:V,anchorY:j};if(i.outside&&X<V){let tt=C-z.left;tt>0&&(q||(U.x=X+tt,U.anchorX=V+tt),q&&(U.x=(z.right-z.left)/2,U.anchorX=V+tt))}F.tt.attr(U)});let{container:K,outside:_,renderer:mt}=i;if(_&&K&&mt){let{width:F,height:X,x:V,y:j}=w.getBBox();mt.setSize(F+V,X+j,!1),K.style.left=z.left+"px",K.style.top=T+"px"}jd&&w.attr({opacity:w.opacity===1?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[1]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.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}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o?.dateTime,n={isFooter:e,point:t},a=s.xDateFormat||"",l=s[e?"footerFormat":"headerFormat"];return ln(this,"headerFormatter",n,function(c){if(r&&!a&&Zd(t.key)&&(a=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&a){if(qd(a)){let d=a;Yd[0]=p=>i.chart.time.dateFormat(d,p),a="%0"}(t.tooltipDateKeys||["key"]).forEach(d=>{l=l.replace(RegExp("point\\."+d+"([ \\)}])"),`(point.${d}:${a})$1`)})}i.chart.styledMode&&(l=this.styledModeFormat(l)),c.text=nn(l,t,this.chart)}),n.text||""}update(t){this.destroy(),this.init(this.chart,Kd(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:n}=this,{height:a=0,width:l=0}=this.getLabel(),{fixed:c,positioner:d}=o,{left:p,top:g,scaleX:u,scaleY:m}=r.getChartPosition(),x=(d||c&&this.getFixedPosition||this.getPosition).call(this,l,a,t),f=A.doc,y=(t.plotX||0)+e.plotLeft,b=(t.plotY||0)+e.plotTop,v;if(n&&i){if(d||c){let{scrollLeft:S=0,scrollTop:w=0}=e.scrollablePlotArea?.scrollingContainer||{};x.x+=S+p-s,x.y+=w+g-s}v=(o.borderWidth||0)+2*s+2,n.setSize(Ae(l+v,0,f.documentElement.clientWidth)-1,a+v,!1),(u!==1||m!==1)&&(hn(i,{transform:`scale(${u}, ${m})`}),y*=u,b*=m),y+=p-x.x,b+=g-x.y}this.move(Math.round(x.x),Math.round(x.y||0),y,b)}}(function(h){h.compose=function(t){Jd(Xd,"Core.Tooltip")&&_d(t,"afterInit",function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new h(e,e.options.tooltip,this))})}})(io||(io={}));let cn=io,{animObject:tc}=gt,{defaultOptions:ec}=Mt,{format:ic}=St,{addEvent:sc,crisp:oc,erase:rc,extend:Wi,fireEvent:so,getNestedProperty:nc,isArray:ac,isFunction:hc,isNumber:Vt,isObject:Hi,merge:pn,pick:Ut,syncTimeout:lc,removeEvent:gn,uniqueKey:dc}=N;class Ze{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(s){t[s]=t[s].animate(s==="dataLabel"?{x:t[s].startXPos,y:t[s].startYPos,opacity:0}:e)}),i.plural.forEach(function(s){t[s].forEach(function(o){o.element&&o.animate(Wi({x:t.startXPos},o.startYPos?{x:o.startXPos,y:o.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return Wi(this,t=Ze.prototype.optionsToObject.call(this,t)),this.options=this.options?Wi(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=Ze.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&e===void 0&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),this.x===void 0&&i?this.x=e??i.autoIncrement():Vt(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):typeof this.x=="string"&&(e??(e=i.chart.time.parse(this.x)),Vt(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=tc(t.series.chart.renderer.globalAnimation),n=()=>{for(let a in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(gn(t),t.destroyElements()),t)delete t[a]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),rc(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s?.enabled?(this.animateBeforeDestroy(),lc(n,r.duration)):n(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(s){e[s]=e[s].destroy()}),i.plural.forEach(function(s){e[s].forEach(function(o){o?.element&&o.destroy()}),delete e[s]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),t==="click"&&o.allowPointSelect&&(i=function(r){!s.destroyed&&s.select&&s.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),so(s,t,e,i)}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?.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i,s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(n){let a=n+"s";t[n]&&s[a]&&r.plural.push(a)}),r}getNestedProperty(t){return t?t.indexOf("custom.")===0?nc(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s?.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=dc()),this.resolveColor(),this.dataLabelOnNull??(this.dataLabelOnNull=t.options.nullInteraction),t.chart.pointCount++,so(this,"afterInit")}isValid(){return(Vt(this.x)||this.x instanceof Date)&&Vt(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},n,a=0,l=0;if(Vt(t)||t===null)r[s[0]]=t;else if(ac(t))for(!i&&t.length>o&&((n=typeof t[0])=="string"?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:n==="number"&&(r.x=t[0]),a++);l<o;)i&&t[a]===void 0||(s[l].indexOf(".")>0?Ze.prototype.setNestedProperty(r,t[a],s[l]):r[s[l]]=t[a]),a++,l++;else typeof t=="object"&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:n}=s,a=0,l=0;if(Vt(i)&&Vt(e))return t&&(a=r?r.pos:o.plotLeft,l=n?n.pos:o.plotTop),o.inverted&&r&&n?[n.len-e+l,r.len-i+a]:[i+a,e+l]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,n;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),n=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),n=t.colorIndex),this.colorIndex=Ut(this.options.colorIndex,n),this.color=Ut(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(s,o,r,n){let a=n.length-1===r;return s[o]=a?e:Hi(s[o],!0)?s[o]:{},s[o]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:n=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(a=>{a="{point."+a,(r||n)&&(t=t.replace(RegExp(a+"}","g"),r+a+"}"+n)),t=t.replace(RegExp(a+"}","g"),a+":,."+o+"f}")}),ic(t,this,e)}update(t,e,i,s){let o,r=this,n=r.series,a=r.graphic,l=n.chart,c=n.options;function d(){r.applyOptions(t);let p=a&&r.hasMockGraphic,g=r.y===null?!p:p;a&&g&&(r.graphic=a.destroy(),delete r.hasMockGraphic),Hi(t,!0)&&(a?.element&&t&&t.marker&&t.marker.symbol!==void 0&&(r.graphic=a.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let u={};for(let m of n.dataColumnKeys())u[m]=r[m];n.dataTable.setRow(u,o),c.data[o]=Hi(c.data[o],!0)||Hi(t,!0)?r.options:Ut(t,c.data[o]),n.isDirty=n.isDirtyData=!0,!n.fixedBox&&n.hasCartesianSeries&&(l.isDirtyBox=!0),c.legendType==="point"&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=Ut(e,!0),s===!1?d():r.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=Ut(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEach(function(r){let n=r.series;r.selected&&r!==i&&(r.selected=r.options.selected=!1,n.options.data[n.data.indexOf(r)]=r.options,r.setState(o.hoverPoints&&n.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(e){e.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=pn(this.series.options.point,this.options),i=e.events?.[t];hc(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(s=>s.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=sc(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(gn(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=ec.plotOptions[i.type].marker&&i.options.marker,n=r&&r.enabled===!1,a=r?.states?.[t||"normal"]||{},l=a.enabled===!1,c=this.marker||{},d=i.chart,p=r&&i.markerAttribs,g=i.halo,u,m,x,f=i.stateMarkerGraphic,y;if((t=t||"")===this.state&&!e||this.selected&&t!=="select"||o.enabled===!1||t&&(l||n&&a.enabled===!1)||t&&c.states&&c.states[t]&&c.states[t].enabled===!1)return;if(this.state=t,p&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){m=i.pointAttribs(this,t),x=Ut(d.options.chart.animation,o.animation);let w=m.opacity;i.options.inactiveOtherPoints&&Vt(w)&&(this.dataLabels||[]).forEach(function(k){k&&!k.hasClass("highcharts-data-label-hidden")&&(k.animate({opacity:w},x),k.connector&&k.connector.animate({opacity:w},x))}),this.graphic.animate(m,x)}u&&this.graphic.animate(u,Ut(d.options.chart.animation,a.animation,r.animation)),f&&f.hide()}else t&&a&&(y=c.symbol||i.symbol,f&&f.currentSymbol!==y&&(f=f.destroy()),u&&(f?f[e?"animate":"attr"]({x:u.x,y:u.y}):y&&(i.stateMarkerGraphic=f=d.renderer.symbol(y,u.x,u.y,u.width,u.height,pn(r,a)).add(i.markerGroup),f.currentSymbol=y)),!d.styledMode&&f&&this.state!=="inactive"&&f.attr(i.pointAttribs(this,t))),f&&(f[t&&this.isInside?"show":"hide"](),f.element.point=this,f.addClass(this.getClassName(),!0));let b=o.halo,v=this.graphic||f,S=v?.visibility||"inherit";b?.size&&v&&S!=="hidden"&&!this.isCluster?(g||(i.halo=g=d.renderer.path().add(v.parentGroup)),g.show()[e?"animate":"attr"]({d:this.haloPath(b.size)}),g.attr({class:"highcharts-halo highcharts-color-"+Ut(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:S,zIndex:-1}),g.point=this,d.styledMode||g.attr(Wi({fill:this.color||i.color,"fill-opacity":b.opacity},Q.filterUserAttributes(b.attributes||{})))):g?.point?.haloPath&&!g.point.destroyed&&g.animate({d:g.point.haloPath(0)},null,g.hide),so(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(oc(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let $t=Ze,{parse:cc}=et,{charts:oo,composed:pc,isTouchDevice:gc}=A,{addEvent:Ct,attr:uc,css:ro,extend:no,find:un,fireEvent:Zt,isNumber:Fi,isObject:Xi,objectEach:mc,offset:fc,pick:Rt,pushUnique:xc,splat:mn}=N;class ct{applyInactiveState(t=[]){let e=[];t.forEach(i=>{let s=i.series;e.push(s),s.linkedParent&&e.push(s.linkedParent),s.linkedSeries&&e.push.apply(e,s.linkedSeries),s.navigatorSeries&&e.push(s.navigatorSeries),s.boosted&&s.markerGroup&&e.push.apply(e,this.chart.series.filter(o=>o.markerGroup===s.markerGroup))}),this.chart.series.forEach(i=>{e.indexOf(i)===-1?i.setState("inactive",!0):i.options.inactiveOtherPoints&&i.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(e=>e()),this.eventsToUnbind=[],!A.chartCount&&(ct.unbindDocumentMouseUp.forEach(e=>e.unbind()),ct.unbindDocumentMouseUp.length=0,ct.unbindDocumentTouchEnd&&(ct.unbindDocumentTouchEnd=ct.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),mc(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return Zt(this,"getSelectionMarkerAttrs",i,s=>{let o,{chart:r,zoomHor:n,zoomVert:a}=this,{mouseDownX:l=0,mouseDownY:c=0}=r,d=s.attrs;d.x=r.plotLeft,d.y=r.plotTop,d.width=n?1:r.plotWidth,d.height=a?1:r.plotHeight,n&&(d.width=Math.max(1,Math.abs(o=t-l)),d.x=(o>0?0:o)+l),a&&(d.height=Math.max(1,Math.abs(o=e-c)),d.y=(o>0?0:o)+c)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:n}=e.options.chart,a=e.plotLeft,l=e.plotTop,c=e.plotWidth,d=e.plotHeight,p=Xi(o)?o.enabled:o,g=r&&t[`${r}Key`],u=t.chartX,m=t.chartY,x,f=this.selectionMarker;if((!f||!f.touch)&&(u<a?u=a:u>a+c&&(u=a+c),m<l?m=l:m>l+d&&(m=l+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-m,2)),this.hasDragged>10)){x=e.isInsidePlot(i-a,s-l,{visiblePlotOnly:!0});let{shapeType:y,attrs:b}=this.getSelectionMarkerAttrs(u,m);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&x&&!g&&!f&&(this.selectionMarker=f=e.renderer[y](),f.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||f.attr({fill:n||cc("#334eff").setOpacity(.25).get()})),f&&f.attr(b),x&&!f&&p&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return Zt(this,"getSelectionBox",e),e.result}drop(t){let e,{chart:i,selectionMarker:s}=this;for(let o of i.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(r=>r.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let o=this.getSelectionBox(s);i.transform({axes:i.axes.filter(r=>r.zoomEnabled&&(r.coll==="xAxis"&&this.zoomX||r.coll==="yAxis"&&this.zoomY)),selection:At({originalEvent:t,xAxis:[],yAxis:[]},o),from:o})}Fi(i.index)&&(this.selectionMarker=s.destroy())}i&&Fi(i.index)&&(ro(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(o){let r=!(o.noSharedTooltip&&e)&&0>o.options.findNearestPointBy.indexOf("y"),n=o.searchPoint(i,r);Xi(n,!0)&&n.series&&(!Xi(s,!0)||function(a,l){let c,d=a.distX-l.distX,p=a.dist-l.dist,g=l.series.group?.zIndex-a.series.group?.zIndex;return d!==0&&e?d:p!==0?p:g!==0?g:a.series.index>l.series.index?-1:1}(s,n)>0)&&(s=n)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,n=t.plotY||0;return t.isNode&&o&&Fi(o.x)&&Fi(o.y)&&(r=o.x,n=o.y),e?{chartX:s.len+s.pos-n,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:n+s.pos}}if(o?.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=fc(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let n=[],a=function(g){return g.visible&&!(!o&&g.directTouch)&&Rt(g.options.enableMouseTracking,!0)},l=e,c,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};Zt(this,"beforeGetHoverData",d),c=l&&!l.stickyTracking?[l]:i.filter(g=>g.stickyTracking&&(d.filter||a)(g));let p=s&&t||!r?t:this.findNearestKDPoint(c,o,r);return l=p?.series,p&&(o&&!l.noSharedTooltip?(c=i.filter(function(g){return d.filter?d.filter(g):a(g)&&!g.noSharedTooltip})).forEach(function(g){let u=g.options?.nullInteraction,m=un(g.points,function(x){return x.x===p.x&&(!x.isNull||!!u)});Xi(m)&&(g.boosted&&g.boost&&(m=g.boost.getPoint(m)),n.push(m))}):n.push(p)),Zt(this,"afterGetHoverData",d={hoverPoint:p}),{hoverPoint:d.hoverPoint,hoverSeries:l,hoverPoints:n}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=uc(i,"class")){if(s.indexOf(e)!==-1)return!0;if(s.indexOf("highcharts-container")!==-1)return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),Zt(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):Rt(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return no(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(Zt(i.series,"click",no(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(no(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&Zt(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),A.isFirefox&&t.button!==0&&this.onContainerMouseMove(t),(t.button===void 0||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=oo[Rt(ct.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),(e.mouseIsDown==="mousedown"||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!i?.shouldStickOnContact(s)&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i?.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){oo[Rt(ct.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],d=>e.normalize(d)),n=r.length,a=n===1&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,c=n===1&&Rt(l?.options.followTouchMove,!0);n>1?e.initiated=!0:c&&(e.initiated=!1),s&&e.initiated&&!a&&t.cancelable!==!1&&t.preventDefault(),t.type==="touchstart"?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):c?this.runPointActions(e.normalize(t)):o&&(Zt(i,"touchpan",{originalEvent:t,touches:r},()=>{let d=p=>{let g=p[0],u=p[1]||g;return{x:g.chartX,y:g.chartY,width:u.chartX-g.chartX,height:u.chartY-g.chartY}};i.transform({axes:i.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:d(r),from:d(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,n=i.tooltip,a=n?.shared?r:o;t&&a&&mn(a).forEach(function(l){l.series.isCartesian&&l.plotX===void 0&&(t=!1)}),t?n&&a&&mn(a).length&&(n.refresh(a),n.shared&&r?r.forEach(function(l){l.setState(l.state,!0),l.series.isCartesian&&(l.series.xAxis.crosshair&&l.series.xAxis.drawCrosshair(null,l),l.series.yAxis.crosshair&&l.series.yAxis.drawCrosshair(null,l))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(l){l.crosshair&&o.series[l.coll]===l&&l.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(l){l.setState()}),s&&s.onMouseOut(),n&&n.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(l){l.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip?.options.enabled?s.tooltip:void 0,n=!!r&&r.shared,a=e||s.hoverPoint,l=a?.series||s.hoverSeries,c=(!t||t.type!=="touchmove")&&(!!e||l?.directTouch&&this.isDirectTouch),d=this.getHoverData(a,l,o,c,n,t);a=d.hoverPoint,l=d.hoverSeries;let p=d.hoverPoints,g=l?.tooltipOptions.followPointer&&!l.tooltipOptions.split,u=n&&l&&!l.noSharedTooltip;if(a&&(i||a!==s.hoverPoint||r?.isHidden)){if((s.hoverPoints||[]).forEach(function(m){p.indexOf(m)===-1&&m.setState()}),s.hoverSeries!==l&&l.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(m){m.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!a.series)return;s.hoverPoints=p,s.hoverPoint=a,a.firePointEvent("mouseOver",void 0,()=>{r&&a&&r.refresh(u?p:a,t)})}else if(g&&r&&!r.isHidden){let m=r.getAnchor([{}],t);s.isInsidePlot(m[0],m[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:m[0],plotY:m[1]})}this.unDocMouseMove||(this.unDocMouseMove=Ct(s.container.ownerDocument,"mousemove",m=>oo[ct.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(m)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(m){let x,f=m.crosshair?.snap??!0;!f||(x=s.hoverPoint)&&x.series[m.coll]===m||(x=un(p,y=>y.series?.[m.coll]===m)),x||!f?m.drawCrosshair(t,x):m.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(Ct(t,"mouseenter",this.onContainerMouseEnter.bind(this)),Ct(t,"mouseleave",this.onContainerMouseLeave.bind(this))),ct.unbindDocumentMouseUp.some(s=>s.doc===e)||ct.unbindDocumentMouseUp.push({doc:e,unbind:Ct(e,"mouseup",this.onDocumentMouseUp.bind(this))});let i=this.chart.renderTo.parentElement;for(;i&&i.tagName!=="BODY";)this.eventsToUnbind.push(Ct(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(Ct(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),Ct(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),ct.unbindDocumentTouchEnd||(ct.unbindDocumentTouchEnd=Ct(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),Ct(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!gc)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=Rt(e.options.tooltip?.followTouchMove,!0)&&e.series.some(o=>o.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(Ct(i,"pointerdown",o=>{o.target?.hasPointerCapture(o.pointerId)&&o.target?.releasePointerCapture(o.pointerId)}),Ct(i,"pointermove",o=>{e.pointer?.getPointFromEvent(o)?.onMouseOver(o)})),e.styledMode||ro(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(o=>o()),t.length=0,e.styledMode||ro(i,{"touch-action":Rt(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=A.charts[Rt(ct.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&Object.assign({},t,s),i.pointer?.onContainerMouseLeave(t||s)}i?.mouseIsDown||(ct.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),(t=this.normalize(t)).touches.length===1?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),t.type==="touchmove"&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),Rt(i,!0)&&this.pinch(t)):e&&this.reset():t.touches.length===2&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&t.touches.length===1)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=Rt(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}ct.unbindDocumentMouseUp=[],function(h){h.compose=function(t){xc(pc,"Core.Pointer")&&Ct(t,"beforeRender",function(){this.pointer=new h(this,this.options)})}}(ct||(ct={}));let fn=ct;(function(h){h.setLength=function(t,e,i){return Array.isArray(t)?(t.length=e,t):t[i?"subarray":"slice"](0,e)},h.splice=function(t,e,i,s,o=[]){if(Array.isArray(t))return Array.isArray(o)||(o=Array.from(o)),{removed:t.splice(e,i,...o),array:t};let r=Object.getPrototypeOf(t).constructor,n=t[s?"subarray":"slice"](e,e+i),a=new r(t.length-i+o.length);return a.set(t.subarray(0,e),0),a.set(o,e),a.set(t.subarray(e+i),e+o.length),{removed:n,array:a}}})(ps||(ps={}));let{setLength:yc,splice:xn}=ps,{fireEvent:ao,objectEach:qe,uniqueKey:Ke}=N,Yi=class{constructor(h={}){this.autoId=!h.id,this.columns={},this.id=h.id||Ke(),this.modified=this,this.rowCount=0,this.versionTag=Ke();let t=0;qe(h.columns||{},(e,i)=>{this.columns[i]=e.slice(),t=Math.max(t,e.length)}),this.applyRowCount(t)}applyRowCount(h){this.rowCount=h,qe(this.columns,(t,e)=>{t.length!==h&&(this.columns[e]=yc(t,h))})}deleteRows(h,t=1){if(t>0&&h<this.rowCount){let e=0;qe(this.columns,(i,s)=>{this.columns[s]=xn(i,h,t).array,e=i.length}),this.rowCount=e}ao(this,"afterDeleteRows",{rowIndex:h,rowCount:t}),this.versionTag=Ke()}getColumn(h,t){return this.columns[h]}getColumns(h,t){return(h||Object.keys(this.columns)).reduce((e,i)=>(e[i]=this.columns[i],e),{})}getRow(h,t){return(t||Object.keys(this.columns)).map(e=>this.columns[e]?.[h])}setColumn(h,t=[],e=0,i){this.setColumns({[h]:t},e,i)}setColumns(h,t,e){let i=this.rowCount;qe(h,(s,o)=>{this.columns[o]=s.slice(),i=s.length}),this.applyRowCount(i),e?.silent||(ao(this,"afterSetColumns"),this.versionTag=Ke())}setRow(h,t=this.rowCount,e,i){let{columns:s}=this,o=e?this.rowCount+1:t+1;qe(h,(r,n)=>{let a=s[n]||i?.addColumns!==!1&&Array(o);a&&(e?a=xn(a,t,0,!0,[r]).array:a[t]=r,s[n]=a)}),o>this.rowCount&&this.applyRowCount(o),i?.silent||(ao(this,"afterSetRows"),this.versionTag=Ke())}},{extend:bc,merge:vc,pick:yn}=N;(function(h){function t(e,i,s){let o=this.legendItem=this.legendItem||{},{chart:r,options:n}=this,{baseline:a=0,symbolWidth:l,symbolHeight:c}=e,d=this.symbol||"circle",p=c/2,g=r.renderer,u=o.group,m=a-Math.round((e.fontMetrics?.b||c)*(s?.4:.3)),x={},f,y=n.marker,b=0;if(r.styledMode||(x["stroke-width"]=Math.min(n.lineWidth||0,24),n.dashStyle?x.dashstyle=n.dashStyle:n.linecap==="square"||(x["stroke-linecap"]="round")),o.line=g.path().addClass("highcharts-graph").attr(x).add(u),s&&(o.area=g.path().addClass("highcharts-area").add(u)),x["stroke-linecap"]&&(b=Math.min(o.line.strokeWidth(),l)/2),l){let v=[["M",b,m],["L",l-b,m]];o.line.attr({d:v}),o.area?.attr({d:[...v,["L",l-b,a],["L",b,a]]})}if(y&&y.enabled!==!1&&l){let v=Math.min(yn(y.radius,p),p);d.indexOf("url")===0&&(y=vc(y,{width:c,height:c}),v=0),o.symbol=f=g.symbol(d,l/2-v,m-v,2*v,2*v,bc({context:"legend"},y)).addClass("highcharts-point").add(u),f.isMarker=!0}}h.areaMarker=function(e,i){t.call(this,e,i,!0)},h.lineMarker=t,h.rectangle=function(e,i){let s=i.legendItem||{},o=e.options,r=e.symbolHeight,n=o.squareSymbol,a=n?r:e.symbolWidth;s.symbol=this.chart.renderer.rect(n?(e.symbolWidth-r)/2:0,e.baseline-r+1,a,r,yn(e.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(s.group)}})(gs||(gs={}));let bn=gs,{defaultOptions:vn}=Mt,{extend:kc,extendClass:wc,merge:Mc}=N;(function(h){function t(e,i){let s=vn.plotOptions||{},o=i.defaultOptions,r=i.prototype;return r.type=e,r.pointClass||(r.pointClass=$t),!h.seriesTypes[e]&&(o&&(s[e]=o),h.seriesTypes[e]=i,!0)}h.seriesTypes=A.seriesTypes,h.registerSeriesType=t,h.seriesType=function(e,i,s,o,r){let n=vn.plotOptions||{};if(i=i||"",n[e]=Mc(n[i],s),delete h.seriesTypes[e],t(e,wc(h.seriesTypes[i]||function(){},o)),h.seriesTypes[e].prototype.type=e,r){class a extends $t{}kc(a.prototype,r),h.seriesTypes[e].prototype.pointClass=a}return h.seriesTypes[e]}})(us||(us={}));let ot=us,{animObject:kn,setAnimation:Sc}=gt,{defaultOptions:ji}=Mt,{registerEventOptions:Cc}=Oi,{svg:Tc,win:Pc}=A,{seriesTypes:Le}=ot,{format:Ac}=St,{arrayMax:ho,arrayMin:wn,clamp:Mn,correctFloat:Sn,crisp:Oc,defined:ht,destroyObjectProperties:Lc,diffObjects:Ec,erase:Cn,error:Gi,extend:Ee,find:Dc,fireEvent:rt,getClosestDistance:Ic,getNestedProperty:Tn,insertItem:Pn,isArray:An,isNumber:pt,isString:Bc,merge:Je,objectEach:lo,pick:st,removeEvent:zc,syncTimeout:On}=N;class Lt{constructor(){this.zoneAxis="y"}init(t,e){let i;rt(this,"init",{options:e}),this.dataTable??(this.dataTable=new Yi);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=o.visible!==!1;this.linkedSeries=[],this.bindAxes(),Ee(this,{name:o.name,state:"",visible:r,selected:o.selected===!0}),Cc(this,o),(o.events?.click||o.point?.events?.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=st(i?._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",Pn(this,s)),o.dataSorting?.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),rt(this,"afterInit")}is(t){return Le[t]&&this instanceof Le[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;rt(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(r){t=r.options,(st(i[o],0)===r.index||i[o]!==void 0&&i[o]===t.id)&&(Pn(e,r.series),e[o]=r,r.isDirty=!0)}),e[o]||e.optionalAxis===o||Gi(18,!0,s)})}),rt(this,"afterBindAxes")}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e,i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,n=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=st(this.pointInterval,i.pointInterval,1),o&&pt(t)&&(e*=t),s){let a=r.toParts(n);s==="day"?a[2]+=e:s==="month"?a[1]+=e:s==="year"&&(a[0]+=e),e=r.makeTime.apply(r,a)-n}return o&&pt(t)?n+e:(this.xIncrement=n+e,n)}setDataSortingOptions(){let t=this.options;Ee(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),ht(t.pointRange)||(t.pointRange=1)}setOptions(t){let e,i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=Je(t),n=i.styledMode,a={plotOptions:s,userOptions:r};rt(this,"setOptions",a);let l=a.plotOptions[this.type],c=o.plotOptions||{},d=c.series||{},p=ji.plotOptions[this.type]||{},g=c[this.type]||{};l.dataLabels=this.mergeArrays(p.dataLabels,l.dataLabels),this.userOptions=a.userOptions;let u=Je(l,s.series,g,r);this.tooltipOptions=Je(ji.tooltip,ji.plotOptions.series?.tooltip,p?.tooltip,i.userOptions.tooltip,c.series?.tooltip,g.tooltip,r.tooltip),this.stickyTracking=st(r.stickyTracking,g.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||u.stickyTracking),l.marker===null&&delete u.marker,this.zoneAxis=u.zoneAxis||"y";let m=this.zones=(u.zones||[]).map(x=>At({},x));return(u.negativeColor||u.negativeFillColor)&&!u.zones&&(e={value:u[this.zoneAxis+"Threshold"]||u.threshold||0,className:"highcharts-negative"},n||(e.color=u.negativeColor,e.fillColor=u.negativeFillColor),m.push(e)),m.length&&ht(m[m.length-1].value)&&m.push(n?{}:{color:this.color,fillColor:this.fillColor}),rt(this,"afterSetOptions",{options:u}),u}getName(){return this.options.name??Ac(this.chart.options.lang.seriesName,this,this.chart)}getCyclic(t,e,i){let s,o,r=this.chart,n=`${t}Index`,a=`${t}Counter`,l=i?.length||r.options.chart.colorCount;!e&&(ht(o=st(t==="color"?this.options.colorIndex:void 0,this[n]))?s=o:(r.series.length||(r[a]=0),s=r[a]%l,r[a]+=1),i&&(e=i[s])),s!==void 0&&(this[n]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||ji.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.modified:this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o,{id:r,x:n}=t,a=this.points,l=this.options.dataSorting,c=this.cropStart||0;if(r){let d=this.chart.get(r);d instanceof $t&&(i=d)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let d=p=>!p.touched&&p.index===t.index;if(l?.matchByName?d=p=>!p.touched&&p.name===t.name:this.options.relativeXValue&&(d=p=>!p.touched&&p.options.x===t.x),!(i=Dc(a,d)))return}return i&&(o=i?.index)!==void 0&&(s=!0),o===void 0&&pt(n)&&(o=this.getColumn("x").indexOf(n,e)),o!==-1&&o!==void 0&&this.cropped&&(o=o>=c?o-c:o),!s&&pt(o)&&a[o]?.touched&&(o=void 0),o}updateData(t,e){let{options:i,requireSorting:s}=this,o=i.dataSorting,r=this.points,n=[],a=t.length===r.length,l,c,d,p,g=!0;if(this.xIncrement=null,t.forEach((m,x)=>{let f,y=ht(m)&&this.pointClass.prototype.optionsToObject.call({series:this},m)||{},{id:b,x:v}=y;b||pt(v)?((f=this.findPointIndex(y,p))===-1||f===void 0?n.push(m):r[f]&&m!==i.data?.[f]?(r[f].update(m,!1,void 0,!1),r[f].touched=!0,s&&(p=f+1)):r[f]&&(r[f].touched=!0),(!a||x!==f||o?.enabled||this.hasDerivedData)&&(l=!0)):n.push(m)},this),l)for(c=r.length;c--;)(d=r[c])&&!d.touched&&d.remove?.(!1,e);else a&&!o?.enabled?(t.forEach((m,x)=>{m===r[x].y||r[x].destroyed||r[x].update(m,!1,void 0,!1)}),n.length=0):g=!1;if(r.forEach(m=>{m&&(m.touched=!1)}),!g)return!1;n.forEach(m=>{this.addPoint(m,!1,void 0,void 0,!1)},this);let u=this.getColumn("x");return this.xIncrement===null&&u.length&&(this.xIncrement=ho(u),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o=this.points,r=o?.length||0,n=this.options,a=this.chart,l=n.dataSorting,c=this.xAxis,d=n.turboThreshold,p=this.dataTable,g=this.dataColumnKeys(),u=this.pointValKey||"y",m=(this.pointArrayMap||[]).length,x=n.keys,f,y,b=0,v=1,S;a.options.chart.allowMutatingData||(n.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,S=Je(!0,t));let w=(t=S||t||[]).length;if(l?.enabled&&(t=this.sortData(t)),a.options.chart.allowMutatingData&&s!==!1&&w&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(y=this.updateData(t,i)),!y){this.xIncrement=null,this.colorCounter=0;let k=d&&w>d;if(k){let M=this.getFirstValidPoint(t),C=this.getFirstValidPoint(t,w-1,-1),T=P=>!!(An(P)&&(x||pt(P[0])));if(pt(M)&&pt(C)){let P=[],O=[];for(let L of t)P.push(this.autoIncrement()),O.push(L);p.setColumns({x:P,[u]:O})}else if(T(M)&&T(C))if(m){let P=+(M.length===m),O=Array(g.length).fill(0).map(()=>[]);for(let L of t){P&&O[0].push(this.autoIncrement());for(let D=P;D<=m;D++)O[D]?.push(L[D-P])}p.setColumns(g.reduce((L,D,I)=>(L[D]=O[I],L),{}))}else{x&&(b=x.indexOf("x"),v=x.indexOf("y"),b=b>=0?b:0,v=v>=0?v:1),M.length===1&&(v=0);let P=[],O=[];if(b===v)for(let L of t)P.push(this.autoIncrement()),O.push(L[v]);else for(let L of t)P.push(L[b]),O.push(L[v]);p.setColumns({x:P,[u]:O})}else k=!1}if(!k){let M=g.reduce((C,T)=>(C[T]=[],C),{});for(f=0;f<w;f++){let C=this.pointClass.prototype.applyOptions.apply({series:this},[t[f]]);for(let T of g)M[T][f]=C[T]}p.setColumns(M)}for(Bc(this.getColumn("y")[0])&&Gi(14,!0,a),this.data=[],this.options.data=this.userOptions.data=t,f=r;f--;)o[f]?.destroy();c&&(c.minRange=c.userMinRange),this.isDirty=a.isDirtyBox=!0,this.isDirtyData=!!o,i=!1}n.legendType==="point"&&(this.processData(),this.generatePoints()),e&&a.redraw(i)}sortData(t){let e=this,i=e.options.dataSorting.sortKey||"y",s=function(o,r){return ht(r)&&o.pointClass.prototype.optionsToObject.call({series:o},r)||{}};return t.forEach(function(o,r){t[r]=s(e,o),t[r].index=r},this),t.concat().sort((o,r)=>{let n=Tn(i,o),a=Tn(i,r);return a<n?-1:+(a>n)}).forEach(function(o,r){o.x=r},this),e.linkedSeries&&e.linkedSeries.forEach(function(o){let r=o.options,n=r.data;!r.dataSorting?.enabled&&n&&(n.forEach(function(a,l){n[l]=s(o,a),t[l]&&(n[l].x=t[l].x,n[l].index=l)}),o.setData(n,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,n=o.cropThreshold,a=t||e.getExtremesFromAll,l=r?.logarithmic,c=i.rowCount,d,p,g=0,u,m,x,f=e.getColumn("x"),y=i,b=!1;return r&&(m=(u=r.getExtremes()).min,x=u.max,b=!!(r.categories&&!r.names.length),s&&e.sorted&&!a&&(!n||c>n||e.forceCrop)&&(f[c-1]<m||f[0]>x?y=new Yi:e.getColumn(e.pointValKey||"y").length&&(f[0]<m||f[c-1]>x)&&(y=(d=this.cropData(i,m,x)).modified,g=d.start,p=!0))),f=y.getColumn("x")||[],{modified:y,cropped:p,cropStart:g,closestPointRange:Ic([l?f.map(l.log2lin):f],()=>e.requireSorting&&!b&&Gi(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,rt(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},n,a,l=0,c=o;for(n=0;n<o;n++)if(s[n]>=e){l=Math.max(0,n-1);break}for(a=n;a<o;a++)if(s[a]>i){c=a+1;break}for(let d of this.dataColumnKeys()){let p=t.getColumn(d,!0);p&&(r[d]=p.slice(l,c))}return{modified:new Yi({columns:r}),start:l,end:c}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.modified,s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,n=this.cropStart||0,a=this.hasGroupedData,l=t.keys,c=[],d=t.dataGrouping?.groupAll?n:0,p=this.xAxis?.categories,g=this.pointArrayMap||["y"],u=this.dataColumnKeys(),m,x,f,y,b=this.data,v;if(!b&&!a){let S=[];S.length=e?.length||0,b=this.data=S}for(l&&a&&(this.options.keys=!1),y=0;y<r;y++)x=n+y,a?((f=new o(this,i.getRow(y,u)||[])).dataGroup=this.groupMap[d+y],f.dataGroup?.options&&(f.options=f.dataGroup.options,Ee(f,f.dataGroup.options),delete f.dataLabels)):(f=b[x],v=e?e[x]:i.getRow(y,g),f||v===void 0||(b[x]=f=new o(this,v,s[y]))),f&&(f.index=a?d+y:x,c[y]=f,f.category=p?.[f.x]??f.x,f.key=f.name??f.category);if(this.options.keys=l,b&&(r!==(m=b.length)||a))for(y=0;y<m;y++)y!==n||a||(y+=r),b[y]&&(b[y].destroyElements(),b[y].plotX=void 0);this.data=b,this.points=c,rt(this,"afterGeneratePoints")}getXExtremes(t){return{min:wn(t),max:ho(t)}}getExtremes(t,e){let{xAxis:i,yAxis:s}=this,o=e||this.getExtremesFromAll||this.options.getExtremesFromAll,r=o&&this.cropped?this.dataTable:this.dataTable.modified,n=r.rowCount,a=t||this.stackedYData,l=a?[a]:(this.keysAffectYAxis||this.pointArrayMap||["y"])?.map(S=>r.getColumn(S,!0)||[])||[],c=this.getColumn("x",!0),d=[],p=this.requireSorting&&!this.is("column")?1:0,g=!!s&&s.positiveValuesOnly,u=o||this.cropped||!i,m,x,f,y=0,b=0;for(i&&(y=(m=i.getExtremes()).min,b=m.max),f=0;f<n;f++)if(x=c[f],u||(c[f+p]||x)>=y&&(c[f-p]||x)<=b)for(let S of l){let w=S[f];pt(w)&&(w>0||!g)&&d.push(w)}let v={activeYData:d,dataMin:wn(d),dataMax:ho(d)};return rt(this,"afterGetExtremes",{dataExtremes:v}),v}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o<s;){if(ht(t[o]))return t[o];o+=i}}translate(){this.generatePoints();let t=this.options,e=t.stacking,i=this.xAxis,s=this.enabledDataSorting,o=this.yAxis,r=this.points,n=r.length,a=this.pointPlacementToXValue(),l=!!a,c=t.threshold,d=t.startFromThreshold?c:0,p=t?.nullInteraction&&o.len,g,u,m,x,f=Number.MAX_VALUE;function y(b){return Mn(b,-1e9,1e9)}for(g=0;g<n;g++){let b,v=r[g],S=v.x,w,k,M=v.y,C=v.low,T=e&&o.stacking?.stacks[(this.negStacks&&M<(d?0:c)?"-":"")+this.stackKey];v.plotX=pt(u=i.translate(S,!1,!1,!1,!0,a))?Sn(y(u)):void 0,e&&this.visible&&T&&T[S]&&(x=this.getStackIndicator(x,S,this.index),!v.isNull&&x.key&&(k=(w=T[S]).points[x.key]),w&&An(k)&&(C=k[0],M=k[1],C===d&&x.key===T[S].base&&(C=st(pt(c)?c:o.min)),o.positiveValuesOnly&&ht(C)&&C<=0&&(C=void 0),v.total=v.stackTotal=st(w.total),v.percentage=ht(v.y)&&w.total?v.y/w.total*100:void 0,v.stackY=M,this.irregularWidths||w.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),v.yBottom=ht(C)?y(o.translate(C,!1,!0,!1,!0)):void 0,this.dataModify&&(M=this.dataModify.modifyValue(M,g)),pt(M)&&v.plotX!==void 0?b=pt(b=o.translate(M,!1,!0,!1,!0))?y(b):void 0:!pt(M)&&p&&(b=p),v.plotY=b,v.isInside=this.isPointInside(v),v.clientX=l?Sn(i.translate(S,!1,!1,!1,!0,a)):u,v.negative=(v.y||0)<(c||0),v.isNull||v.visible===!1||(m!==void 0&&(f=Math.min(f,Math.abs(u-m))),m=u),v.zone=this.zones.length?v.getZone():void 0,!v.graphic&&this.group&&s&&(v.isNew=!0)}this.closestPointRangePx=f,rt(this,"afterTranslate")}getValidPoints(t,e,i){let s=this.chart;return(t||this.points||[]).filter(function(o){let{plotX:r,plotY:n}=o;return!!((i||!o.isNull&&pt(n))&&(!e||s.isInsidePlot(r,n,{inverted:s.inverted})))&&o.visible!==!1})}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:e,markerGroup:i}=this,s=t.sharedClips,o=t.renderer,r=t.getClipBox(this),n=this.getSharedClipKey(),a=s[n];a?a.animate(r):s[n]=a=o.clipRect(r),e&&e.clip(this.options.clip===!1?void 0:a),i&&i.clip()}animate(t){let{chart:e,group:i,markerGroup:s}=this,o=e.inverted,r=kn(this.options.animation),n=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),a=e.sharedClips[n],l=e.sharedClips[n+"m"];if(t&&i){let c=e.getClipBox(this);if(a)a.attr("height",c.height);else{c.width=0,o&&(c.x=e.plotHeight),a=e.renderer.clipRect(c),e.sharedClips[n]=a;let d={x:-99,y:-99,width:o?e.plotWidth+199:99,height:o?99:e.plotHeight+199};l=e.renderer.clipRect(d),e.sharedClips[n+"m"]=l}i.clip(a),s?.clip(l)}else if(a&&!a.hasClass("highcharts-animating")){let c=e.getClipBox(this),d=r.step;(s?.element.childNodes.length||e.series.length>1)&&(r.step=function(p,g){d&&d.apply(g,arguments),g.prop==="width"&&l?.element&&l.attr(o?"height":"width",p+99)}),a.addClass("highcharts-animating").animate(c,r)}}afterAnimate(){this.setClip(),lo(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,rt(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,n,a,l=this.chart,c=l.styledMode,{colorAxis:d,options:p}=this,g=p.marker,u=p.nullInteraction,m=this[this.specialGroup||"markerGroup"],x=this.xAxis,f=st(g.enabled,!x||!!x.isRadial||null,this.closestPointRangePx>=g.enabledThreshold*g.radius);if(g.enabled!==!1||this._hasPointMarkers)for(e=0;e<t.length;e++){o=(s=(i=t[e]).graphic)?"animate":"attr",r=i.marker||{},n=!!i.marker;let y=i.isNull;if((f&&!ht(r.enabled)||r.enabled)&&(!y||u)&&i.visible!==!1){let b=st(r.symbol,this.symbol,"rect");a=this.markerAttribs(i,i.selected&&"select"),this.enabledDataSorting&&(i.startXPos=x.reversed?-(a.width||0):x.width);let v=i.isInside!==!1;if(!s&&v&&((a.width||0)>0||i.hasImage)&&(i.graphic=s=l.renderer.symbol(b,a.x,a.y,a.width,a.height,n?r:g).add(m),this.enabledDataSorting&&l.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&o==="animate"&&s[v?"show":"hide"](v).animate(a),s){let S=this.pointAttribs(i,c||!i.selected?void 0:"select");c?d&&s.css({fill:S.fill}):s[o](S)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,n={},a,l,c=st(o.radius,s?.radius);e&&(a=s.states[e],l=o.states&&o.states[e],c=st(l?.radius,a?.radius,c&&c+(a?.radiusPlus||0))),t.hasImage=r&&r.indexOf("url")===0,t.hasImage&&(c=0);let d=t.pos();return pt(c)&&d&&(i.crisp&&(d[0]=Oc(d[0],t.hasImage?0:r==="rect"?s?.lineWidth||0:1)),n.x=d[0]-c,n.y=d[1]-c),c&&(n.width=n.height=2*c),n}pointAttribs(t,e){let i=this.options,s=i.marker,o=t?.options,r=o?.marker||{},n=o?.color,a=t?.color,l=t?.zone?.color,c,d,p=this.color,g,u,m=st(r.lineWidth,s.lineWidth),x=t?.isNull&&i.nullInteraction?0:1;return p=n||l||a||p,g=r.fillColor||s.fillColor||p,u=r.lineColor||s.lineColor||p,e=e||"normal",c=s.states[e]||{},m=st((d=r.states&&r.states[e]||{}).lineWidth,c.lineWidth,m+st(d.lineWidthPlus,c.lineWidthPlus,0)),g=d.fillColor||c.fillColor||g,u=d.lineColor||c.lineColor||u,{stroke:u,"stroke-width":m,fill:g,opacity:x=st(d.opacity,c.opacity,x)}}destroy(t){let e,i,s=this,o=s.chart,r=/AppleWebKit\/533/.test(Pc.navigator.userAgent),n=s.data||[];for(rt(s,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(s.axisTypes||[]).forEach(function(a){i=s[a],i?.series&&(Cn(i.series,s),i.isDirty=i.forceRedraw=!0)}),s.legendItem&&s.chart.legend.destroyItem(s),e=n.length;e--;)n[e]?.destroy?.();for(let a of s.zones)Lc(a,void 0,!0);N.clearTimeout(s.animationTimeout),lo(s,function(a,l){a instanceof Bt&&!a.survive&&a[r&&l==="group"?"hide":"destroy"]()}),o.hoverSeries===s&&(o.hoverSeries=void 0),Cn(o.series,s),o.orderItems("series"),lo(s,function(a,l){t&&l==="hcEvents"||delete s[l]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:n,zoneAxis:a}=this,{inverted:l,renderer:c}=e,d=this[`${a}Axis`],{isXAxis:p,len:g=0,minPointOffset:u=0}=d||{},m=(i?.strokeWidth()||0)/2+1,x=(f,y=0,b=0)=>{l&&(b=g-b);let{translated:v=0,lineClip:S}=f,w=b-v;S?.push(["L",y,Math.abs(w)<m?b-m*(w<=0?-1:1):v])};if(s.length&&(i||t)&&d&&pt(d.min)){let f=d.getExtremes().max+u,y=S=>{S.forEach((w,k)=>{(w[0]==="M"||w[0]==="L")&&(S[k]=[w[0],p?g-w[1]:w[1],p?w[2]:g-w[2]])})};if(s.forEach(S=>{S.lineClip=[],S.translated=Mn(d.toPixels(st(S.value,f),!0)||0,0,g)}),i&&!this.showLine&&i.hide(),t&&t.hide(),a==="y"&&o.length<r.len)for(let S of o){let{plotX:w,plotY:k,zone:M}=S,C=M&&s[s.indexOf(M)-1];M&&x(M,w,k),C&&x(C,w,k)}let b=[],v=d.toPixels(d.getExtremes().min-u,!0);s.forEach(S=>{let w=S.lineClip||[],k=Math.round(S.translated||0);r.reversed&&w.reverse();let{clip:M,simpleClip:C}=S,T=0,P=0,O=r.len,L=n.len;p?(T=k,O=v):(P=k,L=v);let D=[["M",T,P],["L",O,P],["L",O,L],["L",T,L],["Z"]],I=[D[0],...w,D[1],D[2],...b,D[3],D[4]];b=w.reverse(),v=k,l&&(y(I),t&&y(D)),M?(M.animate({d:I}),C?.animate({d:D})):(M=S.clip=c.path(I),t&&(C=S.simpleClip=c.path(D))),i&&S.graph?.clip(M),t&&S.area?.clip(C)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],n=!r,a={visibility:i,zIndex:s||.1};return ht(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(a.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(ht(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(a)[n?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&t==="series";return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:90*!!o,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||zc(this),e.length&&(e.forEach(i=>{i()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=kn(i.animation),r=t.visible?"inherit":"hidden",n=i.zIndex,a=e.seriesGroup,l=t.finishedAnimating?0:o.duration;rt(this,"render"),t.plotGroup("group","series",r,n,a),t.markerGroup=t.plotGroup("markerGroup","markers",r,n,a),i.clip!==!1&&t.setClip(),l&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),l&&t.animate?.(),s||(l&&o.defer&&(l+=o.defer),t.animationTimeout=On(()=>{t.afterAnimate()},l||0)),t.isDirty=!1,t.hasRendered=!0,rt(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options,s=i.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,On(function(){e.kdTree=function o(r,n,a){let l,c,d=r?.length;if(d)return l=e.kdAxisArray[n%a],r.sort((p,g)=>(p[l]||0)-(g[l]||0)),{point:r[c=Math.floor(d/2)],left:o(r.slice(0,c),n+1,a),right:o(r.slice(c+1),n+1,a)}}(e.getValidPoints(void 0,!e.directTouch,i?.nullInteraction),s,s),e.buildingKdTree=!1},i.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[n,a]=this.kdAxisArray,l=e?"distX":"dist",c=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,p=s||((u,m,x)=>{let f=u[x]||0,y=m[x]||0;return[f===y&&u.index>m.index||f<y?u:m,!1]}),g=o||((u,m)=>u<m);if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function u(m,x,f,y){let b=x.point,v=r.kdAxisArray[f%y],S=b,w=!1;(function(T,P){let O=T[n],L=P[n],D=ht(O)&&ht(L)?O-L:null,I=T[a],E=P[a],z=ht(I)&&ht(E)?I-E:0,K=d&&P.marker?.radius||0;P.dist=Math.sqrt((D&&D*D||0)+z*z)-K,P.distX=ht(D)?Math.abs(D)-K:Number.MAX_VALUE})(m,b);let k=(m[v]||0)-(b[v]||0)+(d&&b.marker?.radius||0),M=k<0?"left":"right",C=k<0?"right":"left";return x[M]&&([S,w]=p(b,u(m,x[M],f+1,y),l)),x[C]&&g(Math.sqrt(k*k),S[l],w)&&(S=p(S,u(m,x[C],f+1,y),l)[0]),S}(t,this.kdTree,c,c)}pointPlacementToXValue(){let{options:t,xAxis:e}=this,i=t.pointPlacement;return i==="between"&&(i=e.reversed?-.5:.5),pt(i)?i*(t.pointRange||e.pointRange):0}isPointInside(t){let{chart:e,xAxis:i,yAxis:s}=this,{plotX:o=-1,plotY:r=-1}=t;return r>=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,n=o.renderer,a=o.options.tooltip?.snap||0,l=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},c="rgba(192,192,192,"+(Tc?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=n.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:c,fill:i?c:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(p=>{p&&(p.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",g=>{r?.onTrackerMouseOut(g)}),e.cursor&&!o.styledMode&&p.css({cursor:e.cursor}),p.on("touchstart",l))})),rt(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,n,a=this.options,{chart:l,data:c,dataTable:d,xAxis:p}=this,g=p?.hasNames&&p.names,u=a.data,m=this.getColumn("x");e=st(e,!0);let x={series:this};this.pointClass.prototype.applyOptions.apply(x,[t]);let f=x.x;if(n=m.length,this.requireSorting&&f<m[n-1])for(r=!0;n&&m[n-1]>f;)n--;d.setRow(x,n,!0,{addColumns:!1}),g&&x.name&&(g[f]=x.name),u?.splice(n,0,t),(r||this.processedData)&&(this.data.splice(n,0,null),this.processData()),a.legendType==="point"&&this.generatePoints(),i&&(c[0]&&c[0].remove?c[0].remove(!1):([c,u].filter(ht).forEach(y=>{y.shift()}),d.deleteRows(0))),o!==!1&&rt(this,"addPoint",{point:x}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:n,dataTable:a}=s,l=r[t],c=function(){[n?.length===r.length?n:void 0,r,s.options.data].filter(ht).forEach(d=>{d.splice(t,1)}),a.deleteRows(t),l?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};Sc(i,o),e=st(e,!0),l?l.firePointEvent("remove",null,c):c()}remove(t,e,i,s){let o=this,r=o.chart;function n(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),st(t,!0)&&r.redraw(e)}i!==!1?rt(o,"remove",null,n):n()}update(t,e){rt(this,"update",{options:t=Ec(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,n=s.options.plotOptions,a=Le[r].prototype,l=i.finishedAnimating&&{animation:!1},c={},d,p,g=Lt.keepProps.slice(),u=t.type||o.type||s.options.chart.type,m=!(this.hasDerivedData||u&&u!==this.type||t.keys!==void 0||t.pointStart!==void 0||t.pointInterval!==void 0||t.relativeXValue!==void 0||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(f=>i.hasOptionChanged(f)));u=u||r,m?(g.push.apply(g,Lt.keepPropsForPoints),t.visible!==!1&&g.push("area","graph"),i.parallelArrays.forEach(function(f){g.push(f+"Data")}),t.data&&(t.dataSorting&&Ee(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t=Je(o,{index:o.index===void 0?i.index:o.index,pointStart:n?.series?.pointStart??o.pointStart??i.getColumn("x")[0]},!m&&{data:i.options.data},t,l),m&&t.data&&(t.data=i.options.data),(g=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(g)).forEach(function(f){g[f]=i[f],delete i[f]});let x=!1;if(Le[u]){if(x=u!==i.type,i.remove(!1,!1,!1,!0),x)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,Le[u].prototype);else{let f=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(p in a)i[p]=void 0;Ee(i,Le[u].prototype),f?i.hcEvents=f:delete i.hcEvents}}else Gi(17,!0,s,{missingModuleFor:u});if(g.forEach(function(f){i[f]=g[f]}),i.init(s,t),m&&this.points)for(let f of((d=i.options).visible===!1?(c.graphic=1,c.dataLabel=1):(this.hasMarkerChanged(d,o)&&(c.graphic=1),i.hasDataLabels?.()||(c.dataLabel=1)),this.points))f?.series&&(f.resolveColor(),Object.keys(c).length&&f.destroyElements(c),d.showInLegend===!1&&f.legendItem&&s.legend.destroyItem(f));i.initialType=r,s.linkSeries(),s.setSortedData(),x&&i.linkedSeries.length&&(i.isDirtyData=!0),rt(this,"afterUpdate"),st(e,!0)&&s.redraw(!!m&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=st(s?.[this.type]?.[t],s?.series?.[t]);return o&&!ht(r)?i!==o:i!==st(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries;t.pointer?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&rt(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&rt(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(o){o.setState("",!0)})}setState(t,e){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,n=s.states,a=st(n[t||"normal"]&&n[t||"normal"].animation,i.chart.options.chart.animation),l=s.lineWidth,c=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(d){d&&(i.state&&d.removeClass("highcharts-series-"+i.state),t&&d.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(n[t]&&n[t].enabled===!1)return;if(t&&(l=n[t].lineWidth||l+(n[t].lineWidthPlus||0),c=st(n[t].opacity,c)),o&&!o.dashstyle&&pt(l))for(let d of[o,...this.zones.map(p=>p.graph)])d?.animate({"stroke-width":l},a);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(d){d&&d.animate({opacity:c},a)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=t===void 0?!r:t;let n=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(a=>{i[a]?.[n]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(a=>{a.options.stacking&&a.visible&&(a.isDirty=!0)}),i.linkedSeries.forEach(a=>{a.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),rt(i,n),e!==!1&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=t===void 0?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),rt(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){bn[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}Lt.defaultOptions={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:h}=this.series.chart;return typeof this.y!="number"?"":h(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"},Lt.types=ot.seriesTypes,Lt.registerType=ot.registerSeriesType,Lt.keepProps=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],Lt.keepPropsForPoints=["data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"],Ee(Lt.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:$t,requireSorting:!0,sorted:!0}),ot.series=Lt;let wt=Lt,{animObject:Nc,setAnimation:Rc}=gt,{registerEventOptions:Ln}=Oi,{composed:Wc,marginNames:En}=A,{distribute:Hc}=bi,{format:Fc}=St,{addEvent:_i,createElement:Xc,css:Yc,defined:co,discardElement:jc,find:Gc,fireEvent:Xt,isNumber:Dn,merge:ge,pick:Tt,pushUnique:_c,relativeLength:Vc,stableSort:Uc,syncTimeout:$c}=N;class po{constructor(t,e){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=t,this.setOptions(e),e.enabled&&(this.render(),Ln(this,e),_i(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),_i(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=Tt(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=ge(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=Tt(t.symbolWidth,16),this.pages=[],this.proximate=t.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(ge(!0,this.options,t)),"events"in this.options&&Ln(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,Tt(e,!0)&&i.redraw(),Xt(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:n,symbol:a}=t.legendItem||{};if((t instanceof wt||t instanceof $t)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:l={}}=this,c=l.color,{fillColor:d,fillOpacity:p,lineColor:g,marker:u}=t.options,m=x=>(!e&&(x.fill&&(x.fill=c),x.stroke&&(x.stroke=c)),x);r?.css(ge(e?this.itemStyle:l)),n?.attr(m({stroke:g||t.color})),a&&a.attr(m(u&&a.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(m({fill:d||t.color,"fill-opacity":d?1:p??.75}))}t.color=i,Xt(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,n=!o.rtl,a=t.checkbox;if(e?.element){let l={translateX:n?i:this.legendWidth-i-2*r-4,translateY:s};e[co(e.translateY)?"animate":"attr"](l,void 0,()=>{Xt(this,"afterPositionItem",{item:t})})}a&&(a.x=i,a.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let s of["group","label","line","symbol"])i[s]&&(i[s]=i[s].destroy());e&&jc(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t,e=this.group?.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r,n=o.checkbox;n&&(r=t+s+n.y+(this.scrollOffset||0)+3,Yc(n,{left:e.translateX+o.checkboxOffset+n.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r<t+i-6?"":"none"}))},this))}renderTitle(){let t=this.options,e=this.padding,i=t.title,s,o=0;i.text&&(this.title||(this.title=this.chart.renderer.label(i.text,e-3,e-4,void 0,void 0,void 0,t.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(i.style),this.title.add(this.group)),i.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(s=this.title.getBBox()).height,this.offsetWidth=s.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o}setText(t){let e=this.options;t.legendItem.label.attr({text:e.labelFormat?Fc(e.labelFormat,t,this.chart):e.labelFormatter.call(t)})}renderItem(t){let e=t.legendItem=t.legendItem||{},i=this.chart,s=i.renderer,o=this.options,r=o.layout==="horizontal",n=this.symbolWidth,a=o.symbolPadding||0,l=this.itemStyle,c=this.itemHiddenStyle,d=r?Tt(o.itemDistance,20):0,p=!o.rtl,g=!t.series,u=!g&&t.series.drawLegendSymbol?t.series:t,m=u.options,x=!!this.createCheckboxForItem&&m&&m.showCheckbox,f=o.useHTML,y=t.options.className,b=e.label,v=n+a+d+20*!!x;!b&&(e.group=s.g("legend-item").addClass("highcharts-"+u.type+"-series highcharts-color-"+t.colorIndex+(y?" "+y:"")+(g?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),e.label=b=s.text("",p?n+a:-a,this.baseline||0,f),i.styledMode||b.css(ge(t.visible?l:c)),b.attr({align:p?"left":"right",zIndex:2}).add(e.group),!this.baseline&&(this.fontMetrics=s.fontMetrics(b),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,b.attr("y",this.baseline),this.symbolHeight=Tt(o.symbolHeight,this.fontMetrics.f),o.squareSymbol&&(this.symbolWidth=Tt(o.symbolWidth,Math.max(this.symbolHeight,16)),v=this.symbolWidth+a+d+20*!!x,p&&b.attr("x",this.symbolWidth+a))),u.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,b,f)),x&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(i.styledMode||!l.width)&&b.css({width:(o.itemWidth||this.widthOption||i.spacingBox.width)-v+"px"}),this.setText(t);let S=b.getBBox(),w=this.fontMetrics?.h||0;t.itemWidth=t.checkboxOffset=o.itemWidth||e.labelWidth||S.width+v,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(e.labelHeight||(S.height>1.5*w?S.height:w))}layoutItem(t){let e=this.options,i=this.padding,s=e.layout==="horizontal",o=t.itemHeight,r=this.itemMarginBottom,n=this.itemMarginTop,a=s?Tt(e.itemDistance,20):0,l=this.maxLegendWidth,c=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+c>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=n+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=c:(this.itemY+=n+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:a):c)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e?.options;e&&Tt(i.showInLegend,!co(i.linkedTo)&&void 0,!0)&&(t=t.concat(e.legendItem?.labels||(i.legendType==="point"?e.data:e)))}),Xt(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(r,n){r.test(o)&&!co(t[n])&&(i[En[n]]=Math.max(i[En[n]],i.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*s[n%2?"x":"y"]+Tt(s.margin,12)+e[n]+(i.titleOffset[n]||0)))})}proximatePositions(){let t,e=this.chart,i=[],s=this.options.align==="left";for(let o of(this.allItems.forEach(function(r){let n,a,l=s,c,d;r.yAxis&&(r.xAxis.options.reversed&&(l=!l),r.points&&(n=Gc(l?r.points:r.points.slice(0).reverse(),function(p){return Dn(p.plotY)})),a=this.itemMarginTop+r.legendItem.label.getBBox().height+this.itemMarginBottom,d=r.yAxis.top-e.plotTop,c=r.visible?(n?n.plotY:r.yAxis.height)+(d-.3*a):d+r.yAxis.height,i.push({target:c,size:a,item:r}))},this),Hc(i,e.plotHeight)))t=o.item.legendItem||{},Dn(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,n,a,l=this.group,c,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=Vc(i.width,t.spacingBox.width-s),c=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(c/=2),this.maxLegendWidth=this.widthOption||c,l||(this.group=l=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(l),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),Uc(o,(p,g)=>(p.options?.legendIndex||0)-(g.options?.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),n=(this.widthOption||this.offsetWidth)+s,a=this.lastItemY+this.lastLineHeight+this.titleHeight,a=this.handleOverflow(a)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(l)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),n>0&&a>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:n,height:a},d.strokeWidth())),l[r?"show":"hide"](),t.styledMode&&l.getStyle("display")==="none"&&(n=a=0),this.legendWidth=n,this.legendHeight=a,r&&this.align(),this.proximate||this.positionItems(),Xt(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=ge(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(ge(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,n=o.verticalAlign==="top",a=this.padding,l=o.maxHeight,c=o.navigation,d=Tt(c.animation,!0),p=c.arrowSize||12,g=this.pages,u=this.allItems,m=function(M){typeof M=="number"?k.attr({height:M}):k&&(e.clipRect=k.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=M?"rect("+a+"px,9999px,"+(a+M)+"px,0)":"auto")},x=function(M){return e[M]=s.circle(0,0,1.3*p).translate(p/2,p/2).add(w),i.styledMode||e[M].attr("fill","rgba(0,0,0,0.0001)"),e[M]},f,y,b,v,S=i.spacingBox.height+(n?-r:r)-a,w=this.nav,k=this.clipRect;return o.layout!=="horizontal"||o.verticalAlign==="middle"||o.floating||(S/=2),l&&(S=Math.min(S,l)),g.length=0,t&&S>0&&t>S&&c.enabled!==!1?(this.clipHeight=f=Math.max(S-20-this.titleHeight-a,0),this.currentPage=Tt(this.currentPage,1),this.fullHeight=t,u.forEach((M,C)=>{let T=(b=M.legendItem||{}).y||0,P=Math.round(b.label.getBBox().height),O=g.length;(!O||T-g[O-1]>f&&(y||T)!==g[O-1])&&(g.push(y||T),O++),b.pageIx=O-1,y&&v&&(v.pageIx=O-1),C===u.length-1&&T+P-g[O-1]>f&&T>g[O-1]&&(g.push(T),b.pageIx=O),T!==y&&(y=T),v=b}),k||(k=e.clipRect=s.clipRect(0,a-2,9999,0),e.contentGroup.clip(k)),m(f),w||(this.nav=w=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,p,p).add(w),x("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&c.style&&this.pager.css(c.style),this.pager.add(w),this.down=s.symbol("triangle-down",0,0,p,p).add(w),x("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=S):w&&(m(),this.nav=w.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,n=this.options.navigation,a=this.pager,l=this.padding,c=this.currentPage+t;c>o&&(c=o),c>0&&(e!==void 0&&Rc(e,i),this.nav.attr({translateX:l,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(d){d.attr({class:c===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),a.attr({text:c+"/"+o}),[this.down,this.downTracker].forEach(function(d){d.attr({x:18+this.pager.getBBox().width,class:c===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:c===1?n.inactiveColor:n.activeColor}),this.upTracker.css({cursor:c===1?"default":"pointer"}),this.down.attr({fill:c===o?n.inactiveColor:n.activeColor}),this.downTracker.css({cursor:c===o?"default":"pointer"})),this.scrollOffset=-s[c-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=c,this.positionCheckboxes(),$c(()=>{Xt(this,"afterScroll",{currentPage:c})},Nc(Tt(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,n=t instanceof $t,a=t instanceof wt,l="highcharts-legend-"+(n?"point":"series")+"-active",c=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],p=g=>{s.allItems.forEach(u=>{t!==u&&[u].concat(u.linkedSeries||[]).forEach(m=>{m.setState(g,!n)})})};for(let g of d)g&&g.on("mouseover",function(){t.visible&&p("inactive"),t.setState("hover"),t.visible&&r.addClass(l),c||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(ge(t.visible?s.itemStyle:s.itemHiddenStyle)),p(""),r.removeClass(l),t.setState()}).on("click",function(u){let m=function(){t.setVisible&&t.setVisible(),p(t.visible?"inactive":"")};r.removeClass(l),Xt(s,"itemClick",{browserEvent:u,legendItem:t},m),n?t.firePointEvent("legendItemClick",{browserEvent:u}):a&&Xt(t,"legendItemClick",{browserEvent:u})})}createCheckboxForItem(t){t.checkbox=Xc("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),_i(t.checkbox,"click",function(e){let i=e.target;Xt(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}(function(h){h.compose=function(t){_c(Wc,"Core.Legend")&&_i(t,"beforeMargins",function(){this.legend=new h(this,this.options.legend)})}})(po||(po={}));let In=po,{animate:go,animObject:Zc,setAnimation:uo}=gt,{defaultOptions:mo}=Mt,{numberFormat:qc}=St,{registerEventOptions:Bn}=Oi,{charts:ue,doc:Qe,marginNames:zn,svg:Kc,win:Nn}=A,{seriesTypes:fo}=ot,{addEvent:xo,attr:Rn,createElement:yo,css:Et,defined:qt,diffObjects:Wn,discardElement:Jc,erase:Qc,error:bo,extend:Kt,find:vo,fireEvent:G,getAlignFactor:tp,getStyle:ko,isArray:ep,isNumber:De,isObject:ip,isString:Vi,merge:Wt,objectEach:wo,pick:ut,pInt:sp,relativeLength:Hn,removeEvent:Fn,splat:Ui,syncTimeout:op,uniqueKey:rp}=N;class Jt{static chart(t,e,i){return new Jt(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(Vi(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming=se(At({},e),{type:ut(t.zoomType,e.type),key:ut(t.zoomKey,e.key),pinchType:ut(t.pinchType,e.pinchType),singleTouch:ut(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:Wt(e.resetButton,t.resetZoomButton)})}init(t,e){G(this,"init",{args:arguments},function(){let i=Wt(mo,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=Kt({},t),(this.renderTo=Vi(o)?Qe.getElementById(o):o)||bo(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new As(Kt(i.time||{},{locale:this.locale}),i.lang),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||qc).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=ue.length,ue.push(this),A.chartCount++,Bn(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),G(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=fo[i];s||bo(17,!0,this,{missingModuleFor:i});let o=new s;return typeof o.init=="function"&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=Ui(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?Ui(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let r=e,n=i.length;r<n;++r){let a=i[r];a&&(a.index=r,a instanceof wt&&(a.name=a.getName()),a.options.isInternal||(s[r]=a.options,o[r]=a.userOptions))}}getClipBox(t,e){let i=this.inverted,{xAxis:s,yAxis:o}=t||{},{x:r,y:n,width:a,height:l}=Wt(this.clipBox);return t&&(s&&s.len!==this.plotSizeX&&(a=s.len),o&&o.len!==this.plotSizeY&&(l=o.len),i&&!t.invertible&&([a,l]=[l,a])),e&&(r+=(i?o:s)?.pos??this.plotLeft,n+=(i?s:o)?.pos??this.plotTop),{x:r,y:n,width:a,height:l}}isInsidePlot(t,e,i={}){let{inverted:s,plotBox:o,plotLeft:r,plotTop:n,scrollablePlotBox:a}=this,{scrollLeft:l=0,scrollTop:c=0}=i.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},d=i.series,p=i.visiblePlotOnly&&a||o,g=i.inverted?e:t,u=i.inverted?t:e,m={x:g,y:u,isInsidePlot:!0,options:i};if(!i.ignoreX){let x=d&&(s&&!this.polar?d.yAxis:d.xAxis)||{pos:r,len:1/0},f=i.paneCoordinates?x.pos+g:r+g;f>=Math.max(l+r,x.pos)&&f<=Math.min(l+r+p.width,x.pos+x.len)||(m.isInsidePlot=!1)}if(!i.ignoreY&&m.isInsidePlot){let x=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:n,len:1/0},f=i.paneCoordinates?x.pos+u:n+u;f>=Math.max(c+n,x.pos)&&f<=Math.min(c+n+p.height,x.pos+x.len)||(m.isInsidePlot=!1)}return G(this,"afterIsInsidePlot",m),m.isInsidePlot}redraw(t){G(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,n=this.renderer,a=n.isHidden(),l=[],c,d,p,g=this.isDirtyBox,u=this.isDirtyLegend,m;for(n.rootFontSize=n.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),uo(!!this.hasRendered&&t,this),a&&this.temporaryDisplay(),this.layOutTitles(!1),p=i.length;p--;)if(((m=i[p]).options.stacking||m.options.centerInCategory)&&(d=!0,m.isDirty)){c=!0;break}if(c)for(p=i.length;p--;)(m=i[p]).options.stacking&&(m.isDirty=!0);i.forEach(function(x){x.isDirty&&(x.options.legendType==="point"?(typeof x.updateTotals=="function"&&x.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),x.isDirtyData&&G(x,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(x){x.updateNames(),x.setScale()}),this.getMargins(),e.forEach(function(x){x.isDirty&&(g=!0)}),e.forEach(function(x){let f=x.min+","+x.max;x.extKey!==f&&(x.extKey=f,l.push(function(){G(x,"afterSetExtremes",Kt(x.eventArgs,x.getExtremes())),delete x.eventArgs})),(g||d)&&x.redraw()}),g&&this.drawChartBox(),G(this,"predraw"),i.forEach(function(x){(g||x.isDirty)&&x.visible&&x.redraw(),x.isDirtyData=!1}),s&&s.reset(!0),n.draw(),G(this,"redraw"),G(this,"render"),a&&this.temporaryDisplay(!0),l.forEach(function(x){x.call()})}get(t){let e=this.series;function i(o){return o.id===t||o.options&&o.options.id===t}let s=vo(this.axes,i)||vo(this.series,i);for(let o=0;!s&&o<e.length;o++)s=vo(e[o].points||[],i);return s}createAxes(){let t=this.userOptions;for(let e of(G(this,"createAxes"),["xAxis","yAxis"]))for(let i of t[e]=Ui(t[e]||{}))new Qs(this,i,e);G(this,"afterCreateAxes")}getSelectedPoints(){return this.series.reduce((t,e)=>(e.getPointsCollection().forEach(i=>{ut(i.selectedStaging,i.selected)&&t.push(i)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=Wt(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(r,n){i.applyDescription(t,r),i.layOutTitles(n)},this.styledMode||o.css(Kt(t==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(n=>{let a=this[n],l=this.options[n],c=Wt(o),d=a?.textPxLength||0;if(a&&l){G(this,"layOutTitle",{alignTo:c,key:n,textPxLength:d});let p=s.fontMetrics(a),g=p.b,u=p.h,m=l.verticalAlign||"top",x=m==="top",f=x&&l.minScale||1,y=n==="title"?x?-3:0:x?e[0]+2:0,b=Math.min(c.width/d,1),v=Math.max(f,b),S=Wt({y:m==="bottom"?g:y+g},{align:n==="title"?b<f?"left":"center":this.title?.alignValue},l),w=(l.width||(b>f?this.chartWidth:c.width)/v)+"px";a.alignValue!==S.align&&(a.placed=!1);let k=Math.round(a.css({width:w}).getBBox(l.useHTML).height);if(S.height=k,a.align(S,!1,c).attr({align:S.align,scaleX:v,scaleY:v,"transform-origin":`${c.x+d*v*tp(S.align)} ${u}`}),!l.floating){let M=k*(k<1.2*u?1:v);m==="top"?e[0]=Math.ceil(e[0]+M):m==="bottom"&&(e[2]=Math.ceil(e[2]+M))}}},this),e[0]&&(i.title?.verticalAlign||"top")==="top"&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,G(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,i=>{if(i!==this.container){let s=i.style.display;return i.style.display="none",[i,s]}}),e={width:ko(this.renderTo,"width",!0)||0,height:ko(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([i,s])=>{i.style.display=s}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&this.renderTo.style.height==="100%";this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,Hn(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e?.style;)e.hcOrigStyle&&(Et(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(Qe.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e?.style&&(Qe.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,Qe.body.appendChild(e)),(ko(e,"display",!1)==="none"||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),Et(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==Qe.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t,e=this.options,i=e.chart,s="data-highcharts-chart",o=rp(),r=this.renderTo,n=sp(Rn(r,s));De(n)&&ue[n]&&ue[n].hasRendered&&ue[n].destroy(),Rn(r,s,this.index),r.innerHTML=Q.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let a=this.chartHeight,l=this.chartWidth;Et(r,{overflow:"hidden"}),this.styledMode||(t=Kt({position:"relative",overflow:"hidden",width:l+"px",height:a+"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"},i.style||{}));let c=yo("div",{id:o},t,r);this.container=c,this.getChartSize(),l===this.chartWidth||(l=this.chartWidth,this.styledMode||Et(c,{width:ut(i.style?.width,l+"px")})),this.containerBox=this.getContainerBox(),this._cursor=c.style.cursor;let d=i.renderer||!Kc?je.getRendererType(i.renderer):Pi;if(this.renderer=new d(c,l,a,void 0,i.forExport,e.exporting?.allowHTML,this.styledMode),uo(void 0,this),this.setClassName(i.className),this.styledMode)for(let p in e.defs)this.renderer.definition(e.defs[p]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,G(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!qt(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!qt(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend?.display&&this.legend.adjustMargins(i,e),G(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(r){r.forEach(function(n){n.visible&&n.getOffset()})};t.hasCartesianSeries?o(t.axes):i?.length&&o(i),zn.forEach(function(r,n){qt(s[n])||(t[r]+=e[n])}),t.setChartSize()}getOptions(){return Wn(this.userOptions,mo)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(N.clearTimeout(e.reflowTimeout),e.reflowTimeout=op(function(){e.container&&e.setSize(void 0,void 0,!1)},100*!!t)),e.containerBox=s)}setReflow(){let t=this,e=i=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(i)};if(typeof ResizeObserver=="function")new ResizeObserver(e).observe(t.renderTo);else{let i=xo(Nn,"resize",e);xo(this,"destroy",i)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,uo(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,t!==void 0&&(s.options.chart.width=t),e!==void 0&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:n,chartHeight:a,scrollablePixelsX:l=0,scrollablePixelsY:c=0}=s;(s.isDirtyBox||n!==s.oldChartWidth||a!==s.oldChartHeight)&&(s.styledMode||(r?go:Et)(s.container,{width:`${n+l}px`,height:`${a+c}px`},r),s.setChartSize(!0),o.setSize(n,a,r),s.axes.forEach(function(d){d.isDirty=!0,d.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,G(s,"resize"),setTimeout(()=>{s&&G(s,"endResize")},Zc(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o,{chartHeight:r,chartWidth:n,inverted:a,spacing:l,renderer:c}=this,d=this.clipOffset,p=Math[a?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(n-e-(this.marginRight??0))),this.plotHeight=o=Math.max(0,Math.round(r-i-(this.marginBottom??0))),this.plotSizeX=a?o:s,this.plotSizeY=a?s:o,this.spacingBox=c.spacingBox={x:l[3],y:l[0],width:n-l[3]-l[1],height:r-l[0]-l[2]},this.plotBox=c.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:p(d[3]),y:p(d[0]),width:p(this.plotSizeX-d[1]-d[3]),height:p(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(g){g.setAxisSize(),g.setAxisTranslation()}),c.alignElements()),G(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){G(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=Math.round(i)/2;["margin","spacing"].forEach(function(o){let r=e[o],n=ip(r)?r:[r,r,r,r];["Top","Right","Bottom","Left"].forEach(function(a,l){t[o][l]=ut(e[o+a],n[l])})}),zn.forEach(function(o,r){t[o]=ut(t.margin[r],t.spacing[r])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,n=t.backgroundColor,a=t.plotBackgroundColor,l=t.plotBackgroundImage,c=this.plotLeft,d=this.plotTop,p=this.plotWidth,g=this.plotHeight,u=this.plotBox,m=this.clipRect,x=this.clipBox,f=this.chartBackground,y=this.plotBackground,b=this.plotBorder,v,S,w,k="animate";f||(this.chartBackground=f=e.rect().addClass("highcharts-background").add(),k="attr"),o?v=S=f.strokeWidth():(S=(v=t.borderWidth||0)+8*!!t.shadow,w={fill:n||"none"},(v||f["stroke-width"])&&(w.stroke=t.borderColor,w["stroke-width"]=v),f.attr(w).shadow(t.shadow)),f[k]({x:S/2,y:S/2,width:i-S-v%2,height:s-S-v%2,r:t.borderRadius}),k="animate",y||(k="attr",this.plotBackground=y=e.rect().addClass("highcharts-plot-background").add()),y[k](u),!o&&(y.attr({fill:a||"none"}).shadow(t.plotShadow),l&&(r?(l!==r.attr("href")&&r.attr("href",l),r.animate(u)):this.plotBGImage=e.image(l,c,d,p,g).add())),m?m.animate({width:x.width,height:x.height}):this.clipRect=e.clipRect(x),k="animate",b||(k="attr",this.plotBorder=b=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||b.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),b[k](b.crisp(u,-b.strokeWidth())),this.isDirtyBox=!1,G(this,"afterDrawChartBox")}propFromSeries(){let t,e,i,s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(n){for(e=fo[o.type],i=o[n]||e&&e.prototype[n],t=r?.length;!i&&t--;)(e=fo[r[t].type])&&e.prototype[n]&&(i=!0);s[n]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(s){s.linkedSeries.length=0}),i.forEach(function(s){let{linkedTo:o}=s.options;if(Vi(o)){let r;(r=o===":previous"?e.series[s.index-1]:e.get(o))&&r.linkedParent!==s&&(r.linkedSeries.push(s),s.linkedParent=r,r.enabledDataSorting&&s.setDataSortingOptions(),s.visible=ut(s.options.visible,r.options.visible,s.visible))}}),G(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=c=>{c.forEach(d=>{d.visible&&d.render()})},r=0,n=!0,a,l=0;for(let c of(this.setTitle(),G(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:d}=c,{labels:p}=d;if(this.hasCartesianSeries&&c.horiz&&c.visible&&p.enabled&&c.series.length&&c.coll!=="colorAxis"&&!this.polar){r=d.tickLength,c.createGroups();let g=new Pe(c,0,"",!0),u=g.createLabel("x",p);if(g.destroy(),u&&ut(p.reserveSpace,!De(d.crossing))&&(r=u.getBBox().height+p.distance+Math.max(d.offset||0,0)),r){u?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(n||a||s>1)&&l<s;){let c=this.plotWidth,d=this.plotHeight;for(let p of t)l===0?p.setScale():(p.horiz&&n||!p.horiz&&a)&&p.setTickInterval(!0);l===0?this.getAxisMargins():this.getMargins(),n=c/this.plotWidth>(l?1:1.1),a=d/this.plotHeight>(l?1:1.05),l++}this.drawChartBox(),this.hasCartesianSeries?o(t):e?.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=Wt(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(Nn.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(s){e.credits=e.credits.destroy(),e.addCredits(s)})}destroy(){let t,e=this,i=e.axes,s=e.series,o=e.container,r=o?.parentNode;for(G(e,"destroy"),e.renderer.forExport?Qc(ue,e):ue[e.index]=void 0,A.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),Fn(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller?.destroy?.(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(n=>{e[n]=e[n]?.destroy?.()}),o&&(o.innerHTML=Q.emptyHTML,Fn(o),r&&Jc(o)),wo(e,function(n,a){delete e[a]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=ep(e.series)?e.series:[];e.series=[],i.forEach(function(s){t.initSeries(s)}),t.linkSeries(),t.setSortedData(),G(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&this.index!==void 0&&t.apply(this,[this])},this),G(this,"load"),G(this,"render"),qt(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e?.element.textContent||"").replace(/</g,"<")}),t.accessibility&&t.accessibility.enabled===!1||bo('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(t,e,i){let s,o=this;return t&&(e=ut(e,!0),G(o,"addSeries",{options:t},function(){s=o.initSeries(t),o.isDirtyLegend=!0,o.linkSeries(),s.enabledDataSorting&&s.setData(t.data,!1),G(o,"afterAddSeries",{series:s}),e&&o.redraw(i)})),s}addAxis(t,e,i,s){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:s})}addColorAxis(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})}createAxis(t,e){let i=new Qs(this,e.axis,t);return ut(e.redraw,!0)&&this.redraw(e.animation),i}showLoading(t){let e=this,i=e.options,s=i.loading,o=function(){r&&Et(r,{left:e.plotLeft+"px",top:e.plotTop+"px",width:e.plotWidth+"px",height:e.plotHeight+"px"})},r=e.loadingDiv,n=e.loadingSpan;r||(e.loadingDiv=r=yo("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),n||(e.loadingSpan=n=yo("span",{className:"highcharts-loading-inner"},null,r),xo(e,"redraw",o)),r.className="highcharts-loading",Q.setElementHTML(n,ut(t,i.lang.loading,"")),e.styledMode||(Et(r,Kt(s.style,{zIndex:10})),Et(n,s.labelStyle),e.loadingShown||(Et(r,{opacity:0,display:""}),go(r,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),e.loadingShown=!0,o()}hideLoading(){let t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||go(e,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){Et(e,{display:"none"})}})),this.loadingShown=!1}update(t,e,i,s){let o,r,n,a=this,l={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},c=t.isResponsiveOptions,d=[];G(a,"update",{options:t}),c||a.setResponsive(!1,!0),t=Wn(t,a.options),a.userOptions=Wt(a.userOptions,t);let p=t.chart;p&&(Wt(!0,a.options.chart,p),this.setZoomOptions(),"className"in p&&a.setClassName(p.className),("inverted"in p||"polar"in p||"type"in p)&&(a.propFromSeries(),o=!0),"alignTicks"in p&&(o=!0),"events"in p&&Bn(this,p),wo(p,function(m,x){a.propsRequireUpdateSeries.indexOf("chart."+x)!==-1&&(r=!0),a.propsRequireDirtyBox.indexOf(x)!==-1&&(a.isDirtyBox=!0),a.propsRequireReflow.indexOf(x)===-1||(a.isDirtyBox=!0,c||(n=!0))}),!a.styledMode&&p.style&&a.renderer.setStyle(a.options.chart.style||{})),!a.styledMode&&t.colors&&(this.options.colors=t.colors),wo(t,function(m,x){a[x]&&typeof a[x].update=="function"?a[x].update(m,!1):typeof a[l[x]]=="function"?a[l[x]](m):x!=="colors"&&a.collectionsWithUpdate.indexOf(x)===-1&&Wt(!0,a.options[x],t[x]),x!=="chart"&&a.propsRequireUpdateSeries.indexOf(x)!==-1&&(r=!0)}),this.collectionsWithUpdate.forEach(function(m){t[m]&&(Ui(t[m]).forEach(function(x,f){let y,b=qt(x.id);b&&(y=a.get(x.id)),!y&&a[m]&&(y=a[m][ut(x.index,f)])&&(b&&qt(y.options.id)||y.options.isInternal)&&(y=void 0),y&&y.coll===m&&(y.update(x,!1),i&&(y.touched=!0)),!y&&i&&a.collectionsWithInit[m]&&(a.collectionsWithInit[m][0].apply(a,[x].concat(a.collectionsWithInit[m][1]||[]).concat([!1])).touched=!0)}),i&&a[m].forEach(function(x){x.touched||x.options.isInternal?delete x.touched:d.push(x)}))}),d.forEach(function(m){m.chart&&m.remove&&m.remove(!1)}),o&&a.axes.forEach(function(m){m.update({},!1)}),r&&a.getSeriesOrderByLinks().forEach(function(m){m.chart&&m.update({},!1)},this);let g=p?.width,u=p&&(Vi(p.height)?Hn(p.height,g||a.chartWidth):p.height);n||De(g)&&g!==a.chartWidth||De(u)&&u!==a.chartHeight?a.setSize(g,u,s):ut(e,!0)&&a.redraw(s),G(a,"afterUpdate",{options:t,redraw:e,animation:s})}setSubtitle(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)}setCaption(t,e){this.applyDescription("caption",t),this.layOutTitles(e)}showResetZoom(){let t=this,e=mo.lang,i=t.zooming.resetButton,s=i.theme,o=i.relativeTo==="chart"||i.relativeTo==="spacingBox"?null:"plotBox";function r(){t.zoomOut()}G(this,"beforeShowResetZoom",null,function(){t.resetZoomButton=t.renderer.button(e.resetZoom,null,null,r,s).attr({align:i.position.align,title:e.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(i.position,!1,o)}),G(this,"afterShowResetZoom")}zoomOut(){G(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s=typeof e=="object"?e:{enabled:e,type:"x"},o=s.type,r=o&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[o]].filter(a=>a.options.panningEnabled&&!a.options.isInternal),n=i.options.chart;n?.panning&&(n.panning=s),G(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),Et(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:n={},trigger:a}=t,{inverted:l,time:c}=this,d=!1,p,g;for(let u of(this.hoverPoints?.forEach(m=>m.setState()),e)){let{horiz:m,len:x,minPointOffset:f=0,options:y,reversed:b}=u,v=m?"width":"height",S=m?"x":"y",w=ut(n[v],u.len),k=ut(s[v],u.len),M=10>Math.abs(w)?1:w/k,C=(s[S]||0)+k/2-u.pos,T=C-((n[S]??u.pos)+w/2-u.pos)/M,P=b&&!l||!b&&l?-1:1;if(!o&&(C<0||C>u.len))continue;let O=u.toValue(T,!0)+(r||u.isOrdinal?0:f*P),L=u.toValue(T+x/M,!0)-(r||u.isOrdinal?0:f*P||0),D=u.allExtremes;if(O>L&&([O,L]=[L,O]),M===1&&!o&&u.coll==="yAxis"&&!D){for(let bt of u.series){let ee=bt.getExtremes(bt.getProcessedData(!0).modified.getColumn("y")||[],!0);D??(D={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),De(ee.dataMin)&&De(ee.dataMax)&&(D.dataMin=Math.min(ee.dataMin,D.dataMin),D.dataMax=Math.max(ee.dataMax,D.dataMax))}u.allExtremes=D}let{dataMin:I,dataMax:E,min:z,max:K}=Kt(u.getExtremes(),D||{}),_=c.parse(y.min),mt=c.parse(y.max),F=I??_,X=E??mt,V=L-O,j=u.categories?0:Math.min(V,X-F),$=F-j*(qt(_)?0:y.minPadding),q=X+j*(qt(mt)?0:y.maxPadding),U=u.allowZoomOutside||M===1||a!=="zoom"&&M>1,tt=Math.min(_??$,$,U?z:$),ft=Math.max(mt??q,q,U?K:q);(!u.isOrdinal||u.options.overscroll||M!==1||o)&&(O<tt&&(O=tt,M>=1&&(L=O+V)),L>ft&&(L=ft,M>=1&&(O=L-V)),(o||u.series.length&&(O!==z||L!==K)&&O>=tt&&L<=ft)&&(r?r[u.coll].push({axis:u,min:O,max:L}):(u.isPanning=a!=="zoom",u.isPanning&&(g=!0),u.setExtremes(o?void 0:O,o?void 0:L,!1,!1,{move:T,trigger:a,scale:M}),!o&&(O>tt||L<ft)&&a!=="mousewheel"&&(p=!0)),d=!0),i&&(this[m?"mouseDownX":"mouseDownY"]=i[m?"chartX":"chartY"]))}return d&&(r?G(this,"selection",r,()=>{delete t.selection,t.trigger="zoom",this.transform(t)}):(!p||g||this.resetZoomButton?!p&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(a==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),d}}Kt(Jt.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Jt.prototype.addAxis,[!0]],yAxis:[Jt.prototype.addAxis,[!1]],series:[Jt.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","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"]});let{stop:np}=gt,{composed:ap}=A,{addEvent:Qt,createElement:$i,css:Mo,defined:So,erase:hp,merge:Xn,pushUnique:Yn}=N;function lp(){let h=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!h&&(this.scrollablePlotArea=h=new Gn(this)),h?.applyFixed()}function jn(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}let Gn=(()=>{class h{static compose(e,i,s){Yn(ap,this.compose)&&(Qt(e,"afterInit",jn),Qt(i,"afterSetChartSize",o=>this.afterSetSize(o.target,o)),Qt(i,"render",lp),Qt(s,"show",jn))}static afterSetSize(e,i){let s,o,r,{minWidth:n,minHeight:a}=e.options.chart.scrollablePlotArea||{},{clipBox:l,plotBox:c,inverted:d,renderer:p}=e;if(!p.forExport&&(n?(e.scrollablePixelsX=s=Math.max(0,n-e.chartWidth),s&&(e.scrollablePlotBox=Xn(e.plotBox),c.width=e.plotWidth+=s,l[d?"height":"width"]+=s,r=!0)):a&&(e.scrollablePixelsY=o=Math.max(0,a-e.chartHeight),So(o)&&(e.scrollablePlotBox=Xn(e.plotBox),c.height=e.plotHeight+=o,l[d?"width":"height"]+=o,r=!1)),So(r)&&!i.skipAxes))for(let g of e.axes)(g.horiz===r||e.hasParallelCoordinates&&g.coll==="yAxis")&&(g.setAxisSize(),g.setAxisTranslation())}constructor(e){let i,s=e.options.chart,o=je.getRendererType(),r=s.scrollablePlotArea||{},n=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};e.scrollablePixelsX&&(a.overflowX="auto"),e.scrollablePixelsY&&(a.overflowY="auto"),this.chart=e;let l=this.parentDiv=$i("div",{className:"highcharts-scrolling-parent"},{position:"relative"},e.renderTo),c=this.scrollingContainer=$i("div",{className:"highcharts-scrolling"},a,l),d=this.innerContainer=$i("div",{className:"highcharts-inner-container"},void 0,c),p=this.fixedDiv=$i("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(s.style?.zIndex||0)+2,top:0},void 0,!0),g=this.fixedRenderer=new o(p,e.chartWidth,e.chartHeight,s.style);this.mask=g.path().attr({fill:s.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),c.parentNode.insertBefore(p,c),Mo(e.renderTo,{overflow:"visible"}),Qt(e,"afterShowResetZoom",n),Qt(e,"afterApplyDrilldown",n),Qt(e,"afterLayOutTitles",n),Qt(c,"scroll",()=>{let{pointer:u,hoverPoint:m}=e;u&&(delete u.chartPosition,m&&(i=m),u.runPointActions(void 0,i,!0))}),d.appendChild(e.container)}applyFixed(){let{chart:e,fixedRenderer:i,isDirty:s,scrollingContainer:o}=this,{axisOffset:r,chartWidth:n,chartHeight:a,container:l,plotHeight:c,plotLeft:d,plotTop:p,plotWidth:g,scrollablePixelsX:u=0,scrollablePixelsY:m=0}=e,{scrollPositionX:x=0,scrollPositionY:f=0}=e.options.chart.scrollablePlotArea||{},y=n+u,b=a+m;i.setSize(n,a),(s??!0)&&(this.isDirty=!1,this.moveFixedElements()),np(e.container),Mo(l,{width:`${y}px`,height:`${b}px`}),e.renderer.boxWrapper.attr({width:y,height:b,viewBox:[0,0,y,b].join(" ")}),e.chartBackground?.attr({width:y,height:b}),Mo(o,{width:`${n}px`,height:`${a}px`}),So(s)||(o.scrollLeft=u*x,o.scrollTop=m*f);let v=p-r[0]-1,S=d-r[3]-1,w=p+c+r[2]+1,k=d+g+r[1]+1,M=d+g-u,C=p+c-m,T=[["M",0,0]];u?T=[["M",0,v],["L",d-1,v],["L",d-1,w],["L",0,w],["Z"],["M",M,v],["L",n,v],["L",n,w],["L",M,w],["Z"]]:m&&(T=[["M",S,0],["L",S,p-1],["L",k,p-1],["L",k,0],["Z"],["M",S,C],["L",S,a],["L",k,a],["L",k,C],["Z"]]),e.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:T})}moveFixedElements(){let e,{container:i,inverted:s,scrollablePixelsX:o,scrollablePixelsY:r}=this.chart,n=this.fixedRenderer,a=h.fixedSelectors;if(o&&!s?e=".highcharts-yaxis":o&&s||r&&!s?e=".highcharts-xaxis":r&&s&&(e=".highcharts-yaxis"),e&&!(this.chart.hasParallelCoordinates&&e===".highcharts-yaxis"))for(let l of[`${e}:not(.highcharts-radial-axis)`,`${e}-labels:not(.highcharts-radial-axis-labels)`])Yn(a,l);else for(let l of[".highcharts-xaxis",".highcharts-yaxis"])for(let c of[`${l}:not(.highcharts-radial-axis)`,`${l}-labels:not(.highcharts-radial-axis-labels)`])hp(a,c);for(let l of a)[].forEach.call(i.querySelectorAll(l),c=>{(c.namespaceURI===n.SVG_NS?n.box:n.box.parentNode).appendChild(c),c.style.pointerEvents="auto"})}}return h.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"],h})(),{format:dp}=St,{series:cp}=ot,{destroyObjectProperties:pp,fireEvent:_n,getAlignFactor:Co,isNumber:To,pick:ti}=N,Vn=class{constructor(h,t,e,i,s){let o=h.chart.inverted,r=h.reversed;this.axis=h;let n=this.isNegative=!!e!=!!r;this.options=t=t||{},this.x=i,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=s,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:t.align||(o?n?"left":"right":"center"),verticalAlign:t.verticalAlign||(o?"middle":n?"bottom":"top"),y:t.y,x:t.x},this.textAlign=t.textAlign||(o?n?"right":"left":"center")}destroy(){pp(this,this.axis)}render(h){let t=this.axis.chart,e=this.options,i=e.format,s=i?dp(i,this,t):e.formatter.call(this);if(this.label)this.label.attr({text:s,visibility:"hidden"});else{this.label=t.renderer.label(s,null,void 0,e.shape,void 0,void 0,e.useHTML,!1,"stack-labels");let o={r:e.borderRadius||0,text:s,padding:ti(e.padding,5),visibility:"hidden"};t.styledMode||(o.fill=e.backgroundColor,o.stroke=e.borderColor,o["stroke-width"]=e.borderWidth,this.label.css(e.style||{})),this.label.attr(o),this.label.added||this.label.add(h)}this.label.labelrank=t.plotSizeY,_n(this,"afterRender")}setOffset(h,t,e,i,s,o){let{alignOptions:r,axis:n,label:a,options:l,textAlign:c}=this,d=n.chart,p=this.getStackBox({xOffset:h,width:t,boxBottom:e,boxTop:i,defaultX:s,xAxis:o}),{verticalAlign:g}=r;if(a&&p){let u=a.getBBox(void 0,0),m=a.padding,x=ti(l.overflow,"justify")==="justify",f;r.x=l.x||0,r.y=l.y||0;let{x:y,y:b}=this.adjustStackPosition({labelBox:u,verticalAlign:g,textAlign:c});p.x-=y,p.y-=b,a.align(r,!1,p),(f=d.isInsidePlot(a.alignAttr.x+r.x+y,a.alignAttr.y+r.y+b))||(x=!1),x&&cp.prototype.justifyDataLabel.call(n,a,r,a.alignAttr,u,p),a.attr({x:a.alignAttr.x,y:a.alignAttr.y,rotation:l.rotation,rotationOriginX:u.width*Co(l.textAlign||"center"),rotationOriginY:u.height/2}),ti(!x&&l.crop,!0)&&(f=To(a.x)&&To(a.y)&&d.isInsidePlot(a.x-m+(a.width||0),a.y)&&d.isInsidePlot(a.x+m,a.y)),a[f?"show":"hide"]()}_n(this,"afterSetOffset",{xOffset:h,width:t})}adjustStackPosition({labelBox:h,verticalAlign:t,textAlign:e}){return{x:h.width/2+h.width/2*(2*Co(e)-1),y:h.height/2*2*(1-Co(t))}}getStackBox(h){let t=this.axis,e=t.chart,{boxTop:i,defaultX:s,xOffset:o,width:r,boxBottom:n}=h,a=t.stacking.usePercentage?100:ti(i,this.total,0),l=t.toPixels(a),c=h.xAxis||e.xAxis[0],d=ti(s,c.translate(this.x))+o,p=Math.abs(l-t.toPixels(n||To(t.min)&&t.logarithmic&&t.logarithmic.lin2log(t.min)||0)),g=e.inverted,u=this.isNegative;return g?{x:(u?l:l-p)-e.plotLeft,y:c.height-d-r+c.top-e.plotTop,width:p,height:r}:{x:d+c.transB-e.plotLeft,y:(u?l-p:l)-e.plotTop,width:r,height:p}}},{getDeferredAnimation:gp}=gt,{series:{prototype:up}}=ot,{addEvent:Un,correctFloat:ei,defined:$n,destroyObjectProperties:mp,fireEvent:fp,isNumber:Po,objectEach:me,pick:Ao}=N;function xp(){let h=this.inverted;this.axes.forEach(t=>{t.stacking?.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let e=t.xAxis?.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,Ao(t.options.stack,""),h?e.top:e.left,h?e.height:e.width].join(","))})}function yp(){let h=this.stacking;if(h){let t=h.stacks;me(t,(e,i)=>{mp(e),delete t[i]}),h.stackTotalGroup?.destroy()}}function bp(){this.stacking||(this.stacking=new Cp(this))}function vp(h,t,e,i){return!$n(h)||h.x!==t||i&&h.stackKey!==i?h={x:t,index:0,key:i,stackKey:i}:h.index++,h.key=[e,t,h.index].join(","),h}function kp(){let h,t=this,e=t.yAxis,i=t.stackKey||"",s=e.stacking.stacks,o=t.getColumn("x",!0),r=t.options.stacking,n=t[r+"Stacker"];n&&[i,"-"+i].forEach(a=>{let l=o.length,c,d,p;for(;l--;)c=o[l],h=t.getStackIndicator(h,c,t.index,a),d=s[a]?.[c],(p=d?.points[h.key||""])&&n.call(t,p,d,l)})}function wp(h,t,e){let i=t.total?100/t.total:0;h[0]=ei(h[0]*i),h[1]=ei(h[1]*i),this.stackedYData[e]=h[1]}function Mp(h){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?up.setStackedPoints.call(this,h,"group"):h.stacking.resetStacks())}function Sp(h,t){let e,i,s,o,r,n,a,l=t||this.options.stacking;if(!l||!this.reserveSpace()||({group:"xAxis"}[l]||"yAxis")!==h.coll)return;let c=this.getColumn("x",!0),d=this.getColumn(this.pointValKey||"y",!0),p=[],g=d.length,u=this.options,m=u.threshold||0,x=u.startFromThreshold?m:0,f=u.stack,y=t?`${this.type},${l}`:this.stackKey||"",b="-"+y,v=this.negStacks,S=h.stacking,w=S.stacks,k=S.oldStacks;for(S.stacksTouched+=1,a=0;a<g;a++){let M=c[a]||0,C=d[a],T=Po(C)&&C||0;n=(e=this.getStackIndicator(e,M,this.index)).key||"",w[r=(i=v&&T<(x?0:m))?b:y]||(w[r]={}),w[r][M]||(k[r]?.[M]?(w[r][M]=k[r][M],w[r][M].total=null):w[r][M]=new Vn(h,h.options.stackLabels,!!i,M,f)),s=w[r][M],C!==null?(s.points[n]=s.points[this.index]=[Ao(s.cumulative,x)],$n(s.cumulative)||(s.base=n),s.touched=S.stacksTouched,e.index>0&&this.singleStacks===!1&&(s.points[n][0]=s.points[this.index+","+M+",0"][0])):(delete s.points[n],delete s.points[this.index]);let P=s.total||0;l==="percent"?(o=i?y:b,P=v&&w[o]?.[M]?(o=w[o][M]).total=Math.max(o.total||0,P)+Math.abs(T):ei(P+Math.abs(T))):l==="group"?Po(C)&&P++:P=ei(P+T),l==="group"?s.cumulative=(P||1)-1:s.cumulative=ei(Ao(s.cumulative,x)+T),s.total=P,C!==null&&(s.points[n].push(s.cumulative),p[a]=s.cumulative,s.hasValidPoints=!0)}l==="percent"&&(S.usePercentage=!0),l!=="group"&&(this.stackedYData=p),S.oldStacks={}}class Cp{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e,i=this.axis,s=i.series,o=i.coll==="xAxis",r=i.options.reversedStacks,n=s.length;for(this.resetStacks(),this.usePercentage=!1,e=n;e--;)t=s[r?e:n-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e<n;e++)s[e].modifyStacks();fp(i,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,me(this.stacks,t=>{me(t,e=>{e.cumulative=e.total})}))}resetStacks(){me(this.stacks,t=>{me(t,(e,i)=>{Po(e.touched)&&e.touched<this.stacksTouched?(e.destroy(),delete t[i]):(e.total=null,e.cumulative=null)})})}renderStackTotals(){let t=this.axis,e=t.chart,i=e.renderer,s=this.stacks,o=gp(e,t.options.stackLabels?.animation||!1),r=this.stackTotalGroup=this.stackTotalGroup||i.g("stack-labels").attr({zIndex:6,opacity:0}).add();r.translate(e.plotLeft,e.plotTop),me(s,n=>{me(n,a=>{a.render(r)})}),r.animate({opacity:1},o)}}(ms||(ms={})).compose=function(h,t,e){let i=t.prototype,s=e.prototype;i.getStacks||(Un(h,"init",bp),Un(h,"destroy",yp),i.getStacks=xp,s.getStackIndicator=vp,s.modifyStacks=kp,s.percentStacker=wp,s.setGroupedPoints=Mp,s.setStackedPoints=Sp)};let Tp=ms,{defined:Pp,merge:Zn,isObject:Ap}=N;class qn extends wt{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,n=s.graph,a=n?"animate":"attr",l=s.dashStyle||t.dashStyle;n?(n.endX=this.preventGraphAnimation?null:e.xMap,n.animate({d:e})):e.length&&(s.graph=n=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),n&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},l?r.dashstyle=l:t.linecap!=="square"&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),n[a](r).shadow(t.shadow&&Zn({filterUnits:"userSpaceOnUse"},Ap(t.shadow)?t.shadow:{}))),n&&(n.startX=e.xMap,n.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],n=[],a,l=o.step,c=(t=t||s.points).reversed;return c&&t.reverse(),(l={right:1,center:2}[l]||l&&3)&&c&&(l=4-l),(t=this.getValidPoints(t,!1,o.nullInteraction||!(o.connectNulls&&!e&&!i))).forEach(function(d,p){let g,u=d.plotX,m=d.plotY,x=t[p-1],f=d.isNull||typeof m!="number";(d.leftCliff||x?.rightCliff)&&!i&&(a=!0),f&&!Pp(e)&&p>0?a=!o.connectNulls:f&&!e?a=!0:(p===0||a?g=[["M",d.plotX,d.plotY]]:s.getPointSpline?g=[s.getPointSpline(t,d,p)]:l?(g=l===1?[["L",x.plotX,m]]:l===2?[["L",(x.plotX+u)/2,x.plotY],["L",(x.plotX+u)/2,m]]:[["L",u,x.plotY]]).push(["L",u,m]):g=[["L",u,m]],n.push(d.x),l&&(n.push(d.x),l===2&&n.push(d.x)),r.push.apply(r,g),a=!1)}),r.xMap=n,s.graphPath=r,r}}qn.defaultOptions=Zn(wt.defaultOptions,{legendSymbol:"lineMarker"}),ot.registerSeriesType("line",qn);let{seriesTypes:{line:Oo}}=ot,{extend:Op,merge:Lp,objectEach:Ep,pick:Zi}=N;class Lo extends Oo{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,n=i.area,a=n?"animate":"attr";n?(n.endX=this.preventGraphAnimation?null:t.xMap,n.animate({d:t})):(o.zIndex=0,(n=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,n.css({pointerEvents:this.stickyTracking?"none":"auto"})),n[a](o),n.startX=t.xMap,n.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s,o=Oo.prototype.getGraphPath,r=this.options,n=r.stacking,a=this.yAxis,l=[],c=[],d=this.index,p=a.stacking.stacks[this.stackKey],g=r.threshold,u=Math.round(a.getThreshold(r.threshold)),m=Zi(r.connectNulls,n==="percent"),x=function(w,k,M){let C=t[w],T=n&&p[C.x].points[d],P=C[M+"Null"]||0,O=C[M+"Cliff"]||0,L,D,I=!0;O||P?(L=(P?T[0]:T[1])+O,D=T[0]+O,I=!!P):!n&&t[k]&&t[k].isNull&&(L=D=g),L!==void 0&&(c.push({plotX:e,plotY:L===null?u:a.getThreshold(L),isNull:I,isCliff:!0}),l.push({plotX:e,plotY:D===null?u:a.getThreshold(D),doCurve:!1}))};t=t||this.points,n&&(t=this.getStackPoints(t));for(let w=0,k=t.length;w<k;++w)n||(t[w].leftCliff=t[w].rightCliff=t[w].leftNull=t[w].rightNull=void 0),i=t[w].isNull,e=Zi(t[w].rectPlotX,t[w].plotX),s=n?Zi(t[w].yBottom,u):u,i&&!m||(m||x(w,w-1,"left"),i&&!n&&m||(c.push(t[w]),l.push({x:w,plotX:e,plotY:s})),m||x(w,w+1,"right"));let f=o.call(this,c,!0,!0);l.reversed=!0;let y=o.call(this,l,!0,!0),b=y[0];b&&b[0]==="M"&&(y[0]=["L",b[1],b[2]]);let v=f.concat(y);v.length&&v.push(["Z"]);let S=o.call(this,c,!1,m);return this.chart.series.length>1&&n&&c.some(w=>w.isCliff)&&(v.hasStackedCliffs=S.hasStackedCliffs=!0),v.xMap=f.xMap,this.areaPath=v,S}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,n=r.stacking.stacks[this.stackKey],a={},l=r.series,c=l.length,d=r.options.reversedStacks?1:-1,p=l.indexOf(e);if(t=t||this.points,this.options.stacking){for(let u=0;u<t.length;u++)t[u].leftNull=t[u].rightNull=void 0,a[t[u].x]=t[u];Ep(n,function(u,m){u.total!==null&&s.push(m)}),s.sort(function(u,m){return u-m});let g=l.map(u=>u.visible);s.forEach(function(u,m){let x=0,f,y;if(a[u]&&!a[u].isNull)i.push(a[u]),[-1,1].forEach(function(b){let v=b===1?"rightNull":"leftNull",S=n[s[m+b]],w=0;if(S){let k=p;for(;k>=0&&k<c;){let M=l[k].index;!(f=S.points[M])&&(M===e.index?a[u][v]=!0:g[k]&&(y=n[u].points[M])&&(w-=y[1]-y[0])),k+=d}}a[u][b===1?"rightCliff":"leftCliff"]=w});else{let b=p;for(;b>=0&&b<c;){let v=l[b].index;if(f=n[u].points[v]){x=f[1];break}b+=d}x=Zi(x,0),x=r.translate(x,0,1,0,1),i.push({isNull:!0,plotX:o.translate(u,0,0,0,1),x:u,plotY:x,yBottom:x})}})}return i}}Lo.defaultOptions=Lp(Oo.defaultOptions,{threshold:0,legendSymbol:"areaMarker"}),Op(Lo.prototype,{singleStacks:!1}),ot.registerSeriesType("area",Lo);let{line:Kn}=ot.seriesTypes,{merge:Dp,pick:qi}=N;class Eo extends Kn{getPointSpline(t,e,i){let s,o,r,n,a=e.plotX||0,l=e.plotY||0,c=t[i-1],d=t[i+1];function p(u){return u&&!u.isNull&&u.doCurve!==!1&&!e.isCliff}if(p(c)&&p(d)){let u=c.plotX||0,m=c.plotY||0,x=d.plotX||0,f=d.plotY||0,y=0;s=(1.5*a+u)/2.5,o=(1.5*l+m)/2.5,r=(1.5*a+x)/2.5,n=(1.5*l+f)/2.5,r!==s&&(y=(n-o)*(r-a)/(r-s)+l-n),o+=y,n+=y,o>m&&o>l?(o=Math.max(m,l),n=2*l-o):o<m&&o<l&&(o=Math.min(m,l),n=2*l-o),n>f&&n>l?(n=Math.max(f,l),o=2*l-n):n<f&&n<l&&(n=Math.min(f,l),o=2*l-n),e.rightContX=r,e.rightContY=n,e.controlPoints={low:[s,o],high:[r,n]}}let g=["C",qi(c.rightContX,c.plotX,0),qi(c.rightContY,c.plotY,0),qi(s,a,0),qi(o,l,0),a,l];return c.rightContX=c.rightContY=void 0,g}}Eo.defaultOptions=Dp(Kn.defaultOptions),ot.registerSeriesType("spline",Eo);let Jn=Eo,{area:Ip,area:{prototype:Do}}=ot.seriesTypes,{extend:Bp,merge:zp}=N;class Io extends Jn{}Io.defaultOptions=zp(Jn.defaultOptions,Ip.defaultOptions),Bp(Io.prototype,{getGraphPath:Do.getGraphPath,getStackPoints:Do.getStackPoints,drawGraph:Do.drawGraph}),ot.registerSeriesType("areaspline",Io);let{animObject:Np}=gt,{parse:Rp}=et,{noop:Wp}=A,{clamp:Ki,crisp:Ji,defined:Qn,extend:ta,fireEvent:ea,isArray:ia,isNumber:Qi,merge:Bo,pick:ii,objectEach:Hp}=N;class ts extends wt{animate(t){let e,i,s=this,o=this.yAxis,r=o.pos,n=o.reversed,a=s.options,{clipOffset:l,inverted:c}=this.chart,d={},p=c?"translateX":"translateY";t&&l?(d.scaleY=.001,i=Ki(o.toPixels(a.threshold||0),r,r+o.len),c?d.translateX=(i+=n?-Math.floor(l[0]):Math.ceil(l[2]))-o.len:d.translateY=i+=n?Math.ceil(l[0]):-Math.floor(l[2]),s.clipBox&&s.setClip(),s.group.attr(d)):(e=Number(s.group.attr(p)),s.group.animate({scaleY:1},ta(Np(s.options.animation),{step:function(g,u){s.group&&(d[p]=e+u.pos*(r-e),s.group.attr(d))}})))}init(t,e){super.init.apply(this,arguments);let i=this;(t=i.chart).hasRendered&&t.series.forEach(function(s){s.type===i.type&&(s.isDirty=!0)})}getColumnMetrics(){let t=this,e=t.options,i=t.xAxis,s=t.yAxis,o=i.options.reversedStacks,r=i.reversed&&!o||!i.reversed&&o,n={},a,l=0;e.grouping===!1?l=1:t.chart.series.forEach(function(m){let x,f=m.yAxis,y=m.options;m.type===t.type&&m.reserveSpace()&&s.len===f.len&&s.pos===f.pos&&(y.stacking&&y.stacking!=="group"?(n[a=m.stackKey]===void 0&&(n[a]=l++),x=n[a]):y.grouping!==!1&&(x=l++),m.columnIndex=x)});let c=Math.min(Math.abs(i.transA)*(!i.brokenAxis?.hasBreaks&&i.ordinal?.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),d=c*e.groupPadding,p=(c-2*d)/(l||1),g=Math.min(e.maxPointWidth||i.len,ii(e.pointWidth,p*(1-2*e.pointPadding))),u=(t.columnIndex||0)+ +!!r;return t.columnMetrics={width:g,offset:(p-g)/2+(d+u*p-c/2)*(r?-1:1),paddedWidth:p,columnCount:l},t.columnMetrics}crispCol(t,e,i,s){let o=this.borderWidth,r=this.chart.inverted;return s=Ji(e+s,o,r)-(e=Ji(e,o,r)),this.options.crisp&&(i=Ji(t+i,o)-(t=Ji(t,o))),{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){if(!i.isNull&&s.columnCount>1){let o=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),r=0,n=0;Hp(this.xAxis.stacking?.stacks,l=>{let c=typeof i.x=="number"?l[i.x.toString()]?.points:void 0,d=c?.[this.index],p={};if(c&&ia(d)){let g=this.index,u=Object.keys(c).filter(m=>!m.match(",")&&c[m]&&c[m].length>1).map(parseFloat).filter(m=>o.indexOf(m)!==-1).filter(m=>{let x=this.chart.series[m].options,f=x.stacking&&x.stack;if(Qn(f)){if(Qi(p[f]))return g===m&&(g=p[f]),!1;p[f]=m}return!0}).sort((m,x)=>x-m);r=u.indexOf(g),n=u.length}}),r=this.xAxis.reversed?n-1-r:r;let a=(n-1)*s.paddedWidth+e;t=(i.plotX||0)+a/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=ii(i.borderWidth,+!s),r=t.xAxis,n=t.yAxis,a=i.threshold,l=ii(i.minPointLength,5),c=t.getColumnMetrics(),d=c.width,p=t.pointXOffset=c.offset,g=t.dataMin,u=t.dataMax,m=t.translatedThreshold=n.getThreshold(a),x=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(x=Math.ceil(x)),wt.prototype.translate.apply(t),t.points.forEach(function(f){let y=ii(f.yBottom,m),b=999+Math.abs(y),v=f.plotX||0,S=Ki(f.plotY,-b,n.len+b),w,k=Math.min(S,y),M=Math.max(S,y)-k,C=d,T=v+p,P=x;l&&Math.abs(M)<l&&(M=l,w=!n.reversed&&!f.negative||n.reversed&&f.negative,Qi(a)&&Qi(u)&&f.y===a&&u<=a&&(n.min||0)<a&&(g!==u||(n.max||0)<=a)&&(w=!w,f.negative=!f.negative),k=Math.abs(k-m)>l?y-l:m-(w?l:0)),Qn(f.options.pointWidth)&&(T-=Math.round(((C=P=Math.ceil(f.options.pointWidth))-d)/2)),i.centerInCategory&&(T=t.adjustForMissingColumns(T,C,f,c)),f.barX=T,f.pointWidth=C,f.tooltipPos=e.inverted?[Ki(n.len+n.pos-e.plotLeft-S,n.pos-e.plotLeft,n.len+n.pos-e.plotLeft),r.len+r.pos-e.plotTop-T-P/2,M]:[r.left-e.plotLeft+T+P/2,Ki(S+n.pos-e.plotTop,n.pos-e.plotTop,n.len+n.pos-e.plotTop),M],f.shapeType=t.pointClass.prototype.shapeType||"roundedRect",f.shapeArgs=t.crispCol(T,k,P,f.isNull?0:M)}),ea(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",n,a,l,c=t&&t.color||this.color,d=t&&t[o]||i[o]||c,p=t&&t.options.dashStyle||i.dashStyle,g=t&&t[r]||i[r]||this[r]||0,u=t?.isNull&&i.nullInteraction?0:t?.opacity??i.opacity??1;t&&this.zones.length&&(a=t.getZone(),c=t.options.color||a&&(a.color||t.nonZonedColor)||this.color,a&&(d=a.borderColor||d,p=a.dashStyle||p,g=a.borderWidth||g)),e&&t&&(l=(n=Bo(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,c=n.color||l!==void 0&&Rp(c).brighten(n.brightness).get()||c,d=n[o]||d,g=n[r]||g,p=n.dashStyle||p,u=ii(n.opacity,u));let m={fill:c,stroke:d,"stroke-width":g,opacity:u};return p&&(m.dashstyle=p),m}drawPoints(t=this.points){let e,i=this,s=this.chart,o=i.options,r=o.nullInteraction,n=s.renderer,a=o.animationLimit||250;t.forEach(function(l){let c=l.plotY,d=l.graphic,p=!!d,g=d&&s.pointCount<a?"animate":"attr";Qi(c)&&(l.y!==null||r)?(e=l.shapeArgs,d&&l.hasNewShapeType()&&(d=d.destroy()),i.enabledDataSorting&&(l.startXPos=i.xAxis.reversed?-(e&&e.width||0):i.xAxis.width),!d&&(l.graphic=d=n[l.shapeType](e).add(l.group||i.group),d&&i.enabledDataSorting&&s.hasRendered&&s.pointCount<a&&(d.attr({x:l.startXPos}),p=!0,g="animate")),d&&p&&d[g](Bo(e)),s.styledMode||d[g](i.pointAttribs(l,l.selected&&"select")).shadow(l.allowShadow!==!1&&o.shadow),d&&(d.addClass(l.getClassName(),!0),d.attr({visibility:l.visible?"inherit":"hidden"}))):d&&(l.graphic=d.destroy())})}drawTracker(t=this.points){let e,i=this,s=i.chart,o=s.pointer,r=function(n){o?.normalize(n);let a=o?.getPointFromEvent(n);o&&a&&i.options.enableMouseTracking&&(s.isInsidePlot(n.chartX-s.plotLeft,n.chartY-s.plotTop,{visiblePlotOnly:!0})||o?.inClass(n.target,"highcharts-data-label"))&&(o.isDirectTouch=!0,a.onMouseOver(n))};t.forEach(function(n){e=ia(n.dataLabels)?n.dataLabels:n.dataLabel?[n.dataLabel]:[],n.graphic&&(n.graphic.element.point=n),e.forEach(function(a){(a.div||a.element).point=n})}),i._hasTracking||(i.trackerGroups.forEach(function(n){i[n]&&(i[n].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(a){o?.onTrackerMouseOut(a)}).on("touchstart",r),!s.styledMode&&i.options.cursor&&i[n].css({cursor:i.options.cursor}))}),i._hasTracking=!0),ea(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(i){i.type===t.type&&(i.isDirty=!0)}),wt.prototype.remove.apply(t,arguments)}}ts.defaultOptions=Bo(wt.defaultOptions,{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"}),ta(ts.prototype,{directTouch:!0,getSymbol:Wp,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),ot.registerSeriesType("column",ts);let es=ts,{getDeferredAnimation:Fp}=gt,{format:Xp}=St,{defined:fe,extend:sa,fireEvent:zo,getAlignFactor:oa,isArray:te,isString:si,merge:oi,objectEach:Yp,pick:ri,pInt:jp,splat:ra}=N;(function(h){function t(){return a(this).some(c=>c?.enabled)}function e(c,d,p,g,u){let{chart:m,enabledDataSorting:x}=this,f=this.isCartesian&&m.inverted,y=c.plotX,b=c.plotY,v=p.rotation||0,S=fe(y)&&fe(b)&&m.isInsidePlot(y,Math.round(b),{inverted:f,paneCoordinates:!0,series:this}),w=v===0&&ri(p.overflow,x?"none":"justify")==="justify",k=this.visible&&c.visible!==!1&&fe(y)&&(c.series.forceDL||x&&!w||S||ri(p.inside,!!this.options.stacking)&&g&&m.isInsidePlot(y,f?g.x+1:g.y+g.height-1,{inverted:f,paneCoordinates:!0,series:this})),M=c.pos();if(k&&M){var C;let T=d.getBBox(),P=d.getBBox(void 0,0);if(g=sa({x:M[0],y:Math.round(M[1]),width:0,height:0},g||{}),p.alignTo==="plotEdges"&&this.isCartesian&&(g[f?"x":"y"]=0,g[f?"width":"height"]=this.yAxis?.len||0),sa(p,{width:T.width,height:T.height}),C=g,x&&this.xAxis&&!w&&this.setDataLabelStartPos(c,d,u,S,C),d.align(oi(p,{width:P.width,height:P.height}),!1,g,!1),d.alignAttr.x+=oa(p.align)*(P.width-T.width),d.alignAttr.y+=oa(p.verticalAlign)*(P.height-T.height),d[d.placed?"animate":"attr"]({"text-align":d.alignAttr["text-align"]||"center",x:d.alignAttr.x+(T.width-P.width)/2,y:d.alignAttr.y+(T.height-P.height)/2,rotationOriginX:(d.width||0)/2,rotationOriginY:(d.height||0)/2}),w&&g.height>=0)this.justifyDataLabel(d,p,d.alignAttr,T,g,u);else if(ri(p.crop,!0)){let{x:O,y:L}=d.alignAttr;k=m.isInsidePlot(O,L,{paneCoordinates:!0,series:this})&&m.isInsidePlot(O+T.width-1,L+T.height-1,{paneCoordinates:!0,series:this})}p.shape&&!v&&d[u?"attr":"animate"]({anchorX:M[0],anchorY:M[1]})}u&&x&&(d.placed=!1),k||x&&!w?(d.show(),d.placed=!0):(d.hide(),d.placed=!1)}function i(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function s(c){let d=this.hasRendered||0,p=this.initDataLabelsGroup().attr({opacity:+d});return!d&&p&&(this.visible&&p.show(),this.options.animation?p.animate({opacity:1},c):p.attr({opacity:1})),p}function o(c){let d;c=c||this.points;let p=this,g=p.chart,u=p.options,m=g.renderer,{backgroundColor:x,plotBackgroundColor:f}=g.options.chart,y=m.getContrast(si(f)&&f||si(x)&&x||"#000000"),b=a(p),{animation:v,defer:S}=b[0],w=S?Fp(g,v,p):{defer:0,duration:0};zo(this,"drawDataLabels"),p.hasDataLabels?.()&&(d=this.initDataLabels(w),c.forEach(k=>{let M=k.dataLabels||[],C=k.color||p.color;ra(n(b,k.dlOptions||k.options?.dataLabels)).forEach((P,O)=>{let L=P.enabled&&(k.visible||k.dataLabelOnHidden)&&(!k.isNull||k.dataLabelOnNull)&&function($,q){let U=q.filter;if(U){let tt=U.operator,ft=$[U.property],bt=U.value;return tt===">"&&ft>bt||tt==="<"&&ft<bt||tt===">="&&ft>=bt||tt==="<="&&ft<=bt||tt==="=="&&ft==bt||tt==="==="&&ft===bt||tt==="!="&&ft!=bt||tt==="!=="&&ft!==bt||!1}return!0}(k,P),{backgroundColor:D,borderColor:I,distance:E,style:z={}}=P,K,_,mt,F={},X=M[O],V=!X,j;L&&(_=fe(K=ri(P[k.formatPrefix+"Format"],P.format))?Xp(K,k,g):(P[k.formatPrefix+"Formatter"]||P.formatter).call(k,P),mt=P.rotation,!g.styledMode&&(z.color=ri(P.color,z.color,si(p.color)?p.color:void 0,"#000000"),z.color==="contrast"?(D!=="none"&&(j=D),k.contrastColor=m.getContrast(j!=="auto"&&si(j)&&j||(si(C)?C:"")),z.color=j||!fe(E)&&P.inside||0>jp(E||0)||u.stacking?k.contrastColor:y):delete k.contrastColor,u.cursor&&(z.cursor=u.cursor)),F={r:P.borderRadius||0,rotation:mt,padding:P.padding,zIndex:1},g.styledMode||(F.fill=D==="auto"?k.color:D,F.stroke=I==="auto"?k.color:I,F["stroke-width"]=P.borderWidth),Yp(F,($,q)=>{$===void 0&&delete F[q]})),!X||L&&fe(_)&&!!(X.div||X.text?.foreignObject)==!!P.useHTML&&(X.rotation&&P.rotation||X.rotation===P.rotation)||(X=void 0,V=!0),L&&fe(_)&&(X?F.text=_:(X=m.label(_,0,0,P.shape,void 0,void 0,P.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+k.colorIndex+" "+(P.className||"")+(P.useHTML?" highcharts-tracker":"")),X&&(X.options=P,X.attr(F),g.styledMode?z.width&&X.css({width:z.width,textOverflow:z.textOverflow,whiteSpace:z.whiteSpace}):X.css(z).shadow(P.shadow),zo(X,"beforeAddingDataLabel",{labelOptions:P,point:k}),X.added||X.add(d),p.alignDataLabel(k,X,P,void 0,V),X.isActive=!0,M[O]&&M[O]!==X&&M[O].destroy(),M[O]=X))});let T=M.length;for(;T--;)M[T]?.isActive?M[T].isActive=!1:(M[T]?.destroy(),M.splice(T,1));k.dataLabel=M[0],k.dataLabels=M})),zo(this,"afterDrawDataLabels")}function r(c,d,p,g,u,m){let x=this.chart,f=d.align,y=d.verticalAlign,b=c.box?0:c.padding||0,v=x.inverted?this.yAxis:this.xAxis,S=v?v.left-x.plotLeft:0,w=x.inverted?this.xAxis:this.yAxis,k=w?w.top-x.plotTop:0,{x:M=0,y:C=0}=d,T,P;return(T=(p.x||0)+b+S)<0&&(f==="right"&&M>=0?(d.align="left",d.inside=!0):M-=T,P=!0),(T=(p.x||0)+g.width-b+S)>x.plotWidth&&(f==="left"&&M<=0?(d.align="right",d.inside=!0):M+=x.plotWidth-T,P=!0),(T=p.y+b+k)<0&&(y==="bottom"&&C>=0?(d.verticalAlign="top",d.inside=!0):C-=T,P=!0),(T=(p.y||0)+g.height-b+k)>x.plotHeight&&(y==="top"&&C<=0?(d.verticalAlign="bottom",d.inside=!0):C+=x.plotHeight-T,P=!0),P&&(d.x=M,d.y=C,c.placed=!m,c.align(d,void 0,u)),P}function n(c,d){let p=[],g;if(te(c)&&!te(d))p=c.map(function(u){return oi(u,d)});else if(te(d)&&!te(c))p=d.map(function(u){return oi(c,u)});else if(te(c)||te(d)){if(te(c)&&te(d))for(g=Math.max(c.length,d.length);g--;)p[g]=oi(c[g],d[g])}else p=oi(c,d);return p}function a(c){let d=c.chart.options.plotOptions;return ra(n(n(d?.series?.dataLabels,d?.[c.type]?.dataLabels),c.options.dataLabels))}function l(c,d,p,g,u){let m=this.chart,x=m.inverted,f=this.xAxis,y=f.reversed,b=((x?d.height:d.width)||0)/2,v=c.pointWidth,S=v?v/2:0;d.startXPos=x?u.x:y?-b-S:f.width-b+S,d.startYPos=x?y?this.yAxis.height-b+S:-b-S:u.y,g?d.visibility==="hidden"&&(d.show(),d.attr({opacity:0}).animate({opacity:1})):d.attr({opacity:1}).animate({opacity:0},void 0,d.hide),m.hasRendered&&(p&&d.attr({x:d.startXPos,y:d.startYPos}),d.placed=!0)}h.compose=function(c){let d=c.prototype;d.initDataLabels||(d.initDataLabels=s,d.initDataLabelsGroup=i,d.alignDataLabel=e,d.drawDataLabels=o,d.justifyDataLabel=r,d.mergeArrays=n,d.setDataLabelStartPos=l,d.hasDataLabels=t)}})(fs||(fs={}));let is=fs,{composed:Gp}=A,{series:na}=ot,{merge:_p,pushUnique:Vp}=N;(function(h){function t(e,i,s,o,r){let{chart:n,options:a}=this,l=n.inverted,c=this.xAxis?.len||n.plotSizeX||0,d=this.yAxis?.len||n.plotSizeY||0,p=e.dlBox||e.shapeArgs,g=e.below??(e.plotY||0)>(this.translatedThreshold??d),u=s.inside??!!a.stacking;if(p){if(o=_p(p),s.overflow!=="allow"||s.crop!==!1||a.clip!==!1){o.y<0&&(o.height+=o.y,o.y=0);let m=o.y+o.height-d;m>0&&m<o.height-1&&(o.height-=m)}l&&(o={x:d-o.y-o.height,y:c-o.x-o.width,width:o.height,height:o.width}),u||(l?(o.x+=g?0:o.width,o.width=0):(o.y+=g?o.height:0,o.height=0))}s.align??(s.align=!l||u?"center":g?"right":"left"),s.verticalAlign??(s.verticalAlign=l||u?"middle":g?"top":"bottom"),na.prototype.alignDataLabel.call(this,e,i,s,o,r),s.inside&&e.contrastColor&&i.css({color:e.contrastColor})}h.compose=function(e){is.compose(na),Vp(Gp,"ColumnDataLabel")&&(e.prototype.alignDataLabel=t)}})(xs||(xs={}));let Up=xs,{extend:$p,merge:Zp}=N;class No extends es{}No.defaultOptions=Zp(es.defaultOptions,{}),$p(No.prototype,{inverted:!0}),ot.registerSeriesType("bar",No);let{column:qp,line:aa}=ot.seriesTypes,{addEvent:Kp,extend:Jp,merge:Qp}=N;class ss extends aa{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(s,o){["x","y"].forEach(function(r,n){if(e[r]&&!s.isNull){let a=`plot${r.toUpperCase()}`,l=t[`${r}Axis`],c=e[r]*l.transA;if(l&&!l.logarithmic){let d=Math.max(0,(s[a]||0)-c),p=Math.min(l.len,(s[a]||0)+c);s[a]=d+(p-d)*function(g){let u=1e4*Math.sin(g);return u-Math.floor(u)}(o+n*i),r==="x"&&(s.clientX=s.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}ss.defaultOptions=Qp(aa.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25CF</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),Jp(ss.prototype,{drawTracker:qp.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),Kp(ss,"afterTranslate",function(){this.applyJitter()}),ot.registerSeriesType("scatter",ss);let{deg2rad:ha}=A,{fireEvent:tg,isNumber:Ro,pick:os,relativeLength:eg}=N;(function(h){h.getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,n=Math.min(s,o),a=t.thickness,l,c=t.size,d=t.innerSize||0,p,g;typeof c=="string"&&(c=parseFloat(c)),typeof d=="string"&&(d=parseFloat(d));let u=[os(r?.[0],"50%"),os(r?.[1],"50%"),os(c&&c<0?void 0:t.size,"100%"),os(d&&d<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof wt||(u[3]=0),p=0;p<4;++p)g=u[p],l=p<2||p===2&&/%$/.test(g),u[p]=eg(g,[s,o,n,u[2]][p])+(l?i:0);return u[3]>u[2]&&(u[3]=u[2]),Ro(a)&&2*a<u[2]&&a>0&&(u[3]=u[2]-2*a),tg(this,"afterGetCenter",{positions:u}),u},h.getStartAndEndRadians=function(t,e){let i=Ro(t)?t:0,s=Ro(e)&&e>i&&e-i<360?e:i+360;return{start:ha*(i+-90),end:ha*(s+-90)}}})(ys||(ys={}));let la=ys,{setAnimation:ig}=gt,{addEvent:da,defined:sg,extend:og,isNumber:rg,pick:ng,relativeLength:ag}=N;class ca extends $t{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,se(At({},e.computed),{alignment:e.alignment}),e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name=t.chart.options.lang.pieSliceName);let s=o=>{this.slice(o.type==="select")};da(this,"select",s),da(this,"unselect",s)}isValid(){return rg(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;ig(i,s.chart),e=ng(e,!0),this.sliced=this.options.sliced=t=sg(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}og(ca.prototype,{connectorShapes:{fixedOffset:function(h,t,e){let i=t.breakAt,s=t.touchingSliceAt,o=e.softConnector?["C",h.x+(h.alignment==="left"?-5:5),h.y,2*i.x-s.x,2*i.y-s.y,i.x,i.y]:["L",i.x,i.y];return[["M",h.x,h.y],o,["L",s.x,s.y]]},straight:function(h,t){let e=t.touchingSliceAt;return[["M",h.x,h.y],["L",e.x,e.y]]},crookedLine:function(h,t,e){let{angle:i=this.angle||0,breakAt:s,touchingSliceAt:o}=t,{series:r}=this,[n,a,l]=r.center,c=l/2,{plotLeft:d,plotWidth:p}=r.chart,g=h.alignment==="left",{x:u,y:m}=h,x=s.x;if(e.crookDistance){let y=ag(e.crookDistance,1);x=g?n+c+(p+d-n-c)*(1-y):d+(n-c)*y}else x=n+(a-m)*Math.tan(i-Math.PI/2);let f=[["M",u,m]];return(g?x<=u&&x>=s.x:x>=u&&x<=s.x)&&f.push(["L",x,m]),f.push(["L",s.x,s.y],["L",o.x,o.y]),f}}});let{getStartAndEndRadians:hg}=la,{noop:pa}=A,{clamp:lg,extend:dg,fireEvent:ga,merge:Wo,pick:cg}=N;class Ho extends wt{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(o){let r=o.graphic,n=o.shapeArgs;r&&n&&(r.attr({r:cg(o.startR,e.center&&e.center[3]/2),start:s,end:s}),r.animate({r:n.r,start:n.start,end:n.end},e.options.animation))})}drawEmpty(){let t,e,i=this.startAngleRad,s=this.endAngleRad,o=this.options;this.total===0&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:Wr.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,n=s.dataLabelPosition,a=n?.distance||0,l=Math.asin(lg((t-o[1])/(r+a),-1,1));return o[0]+Math.cos(l)*(r+a)*(e?-1:1)+(a>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.dataTable.rowCount}redrawPoints(){let t,e,i,s,o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(n){let a={};e=n.graphic,!n.isNull&&e?(s=n.shapeArgs,t=n.getTranslate(),r.styledMode||(i=o.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),n.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||Wo(!0,a,i),Wo(!0,a,s,t),e.animate(a)),e.attr({visibility:n.visible?"inherit":"hidden"}),e.addClass(n.getClassName(),!0)):e&&(n.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(i,s){return i.angle!==void 0&&(s.angle-i.angle)*e})}translate(t){ga(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=hg(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,n=this.points,a=e.ignoreHiddenPoint,l=n.length,c,d,p,g,u,m,x,f=0;for(t||(this.center=t=this.getCenter()),m=0;m<l;m++){x=n[m],c=o+f*r,x.isValid()&&(!a||x.visible)&&(f+=x.percentage/100),d=o+f*r;let y={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:Math.round(1e3*c)/1e3,end:Math.round(1e3*d)/1e3};x.shapeType="arc",x.shapeArgs=y,(p=(d+c)/2)>1.5*Math.PI?p-=2*Math.PI:p<-Math.PI/2&&(p+=2*Math.PI),x.slicedTranslation={translateX:Math.round(Math.cos(p)*i),translateY:Math.round(Math.sin(p)*i)},g=Math.cos(p)*t[2]/2,u=Math.sin(p)*t[2]/2,x.tooltipPos=[t[0]+.7*g,t[1]+.7*u],x.half=+(p<-Math.PI/2||p>Math.PI/2),x.angle=p}ga(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s<e;s++)(o=t[s]).isValid()&&(!i||o.visible)&&(r+=o.y);for(s=0,this.total=r;s<e;s++)(o=t[s]).percentage=r>0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}Ho.defaultOptions=Wo(wt.defaultOptions,{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.isNull?void 0:this.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}}}),dg(Ho.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:es.prototype.drawTracker,getCenter:la.getCenter,getSymbol:pa,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:es.prototype.pointAttribs,pointClass:ca,requireSorting:!1,searchPoint:pa,trackerGroups:["group","dataLabelsGroup"]}),ot.registerSeriesType("pie",Ho);let{composed:pg,noop:gg}=A,{distribute:ug}=bi,{series:ua}=ot,{arrayMax:mg,clamp:ma,defined:fa,pick:fg,pushUnique:xg,relativeLength:xa}=N;(function(h){let t={radialDistributionY:function(r,n){return(n.dataLabelPosition?.top||0)+r.distributeBox.pos},radialDistributionX:function(r,n,a,l,c){let d=c.dataLabelPosition;return r.getX(a<(d?.top||0)+2||a>(d?.bottom||0)-2?l:a,n.half,n,c)},justify:function(r,n,a,l){return l[0]+(r.half?-1:1)*(a+(n.dataLabelPosition?.distance||0))},alignToPlotEdges:function(r,n,a,l){let c=r.getBBox().width;return n?c+l:a-c-l},alignToConnectors:function(r,n,a,l){let c=0,d;return r.forEach(function(p){(d=p.dataLabel.getBBox().width)>c&&(c=d)}),n?c+l:a-c-l}};function e(r,n){let a=Math.PI/2,{start:l=0,end:c=0}=r.shapeArgs||{},d=r.angle||0;n>0&&l<a&&c>a&&d>a/2&&d<1.5*a&&(d=d<=a?Math.max(a/2,(l+a)/2):Math.min(1.5*a,(a+c)/2));let{center:p,options:g}=this,u=p[2]/2,m=Math.cos(d),x=Math.sin(d),f=p[0]+m*u,y=p[1]+x*u,b=Math.min((g.slicedOffset||0)+(g.borderWidth||0),n/5);return{natural:{x:f+m*n,y:y+x*n},computed:{},alignment:n<0?"center":r.half?"right":"left",connectorPosition:{angle:d,breakAt:{x:f+m*b,y:y+x*b},touchingSliceAt:{x:f,y}},distance:n}}function i(){let r=this,n=r.points,a=r.chart,l=a.plotWidth,c=a.plotHeight,d=a.plotLeft,p=Math.round(a.chartWidth/3),g=r.center,u=g[2]/2,m=g[1],x=[[],[]],f=[0,0,0,0],y=r.dataLabelPositioners,b,v,S,w=0;r.visible&&r.hasDataLabels?.()&&(n.forEach(k=>{(k.dataLabels||[]).forEach(M=>{M.shortened&&(M.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),M.shortened=!1)})}),ua.prototype.drawDataLabels.apply(r),n.forEach(k=>{(k.dataLabels||[]).forEach((M,C)=>{let T=g[2]/2,P=M.options,O=xa(P?.distance||0,T);C===0&&x[k.half].push(k),!fa(P?.style?.width)&&M.getBBox().width>p&&(M.css({width:Math.round(.7*p)+"px"}),M.shortened=!0),M.dataLabelPosition=this.getDataLabelPosition(k,O),w=Math.max(w,O)})}),x.forEach((k,M)=>{let C=k.length,T=[],P,O,L=0,D;C&&(r.sortByAngle(k,M-.5),w>0&&(P=Math.max(0,m-u-w),O=Math.min(m+u+w,a.plotHeight),k.forEach(I=>{(I.dataLabels||[]).forEach(E=>{let z=E.dataLabelPosition;z&&z.distance>0&&(z.top=Math.max(0,m-u-z.distance),z.bottom=Math.min(m+u+z.distance,a.plotHeight),L=E.getBBox().height||21,E.lineHeight=a.renderer.fontMetrics(E.text||E).h+2*E.padding,I.distributeBox={target:(E.dataLabelPosition?.natural.y||0)-z.top+E.lineHeight/2,size:L,rank:I.y},T.push(I.distributeBox))})}),ug(T,D=O+L-P,D/5)),k.forEach(I=>{(I.dataLabels||[]).forEach(E=>{let z=E.options||{},K=I.distributeBox,_=E.dataLabelPosition,mt=_?.natural.y||0,F=z.connectorPadding||0,X=E.lineHeight||21,V=(X-E.getBBox().height)/2,j=0,$=mt,q="inherit";if(_){if(T&&fa(K)&&_.distance>0&&(K.pos===void 0?q="hidden":(S=K.size,$=y.radialDistributionY(I,E))),z.justify)j=y.justify(I,E,u,g);else switch(z.alignTo){case"connectors":j=y.alignToConnectors(k,M,l,d);break;case"plotEdges":j=y.alignToPlotEdges(E,M,l,d);break;default:j=y.radialDistributionX(r,I,$-V,mt,E)}if(_.attribs={visibility:q,align:_.alignment},_.posAttribs={x:j+(z.x||0)+({left:F,right:-F}[_.alignment]||0),y:$+(z.y||0)-X/2},_.computed.x=j,_.computed.y=$-V,fg(z.crop,!0)){let U;j-(v=E.getBBox().width)<F&&M===1?(U=Math.round(v-j+F),f[3]=Math.max(U,f[3])):j+v>l-F&&M===0&&(U=Math.round(j+v-l+F),f[1]=Math.max(U,f[1])),$-S/2<0?f[0]=Math.max(Math.round(-$+S/2),f[0]):$+S/2>c&&(f[2]=Math.max(Math.round($+S/2-c),f[2])),_.sideOverflow=U}}})}))}),(mg(f)===0||this.verifyDataLabelOverflow(f))&&(this.placeDataLabels(),this.points.forEach(k=>{(k.dataLabels||[]).forEach(M=>{let{connectorColor:C,connectorWidth:T=1}=M.options||{},P=M.dataLabelPosition;if(T){let O;b=M.connector,P&&P.distance>0?(O=!b,b||(M.connector=b=a.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+k.colorIndex+(k.className?" "+k.className:"")).add(r.dataLabelsGroup)),a.styledMode||b.attr({"stroke-width":T,stroke:C||k.color||"#666666"}),b[O?"attr":"animate"]({d:k.getConnectorPath(M)}),b.attr({visibility:P.attribs?.visibility})):b&&(M.connector=b.destroy())}})})))}function s(){this.points.forEach(r=>{(r.dataLabels||[]).forEach(n=>{let a=n.dataLabelPosition;a?(a.sideOverflow&&(n.css({width:Math.max(n.getBBox().width-a.sideOverflow,0)+"px",textOverflow:n.options?.style?.textOverflow||"ellipsis"}),n.shortened=!0),n.attr(a.attribs),n[n.moved?"animate":"attr"](a.posAttribs),n.moved=!0):n&&n.attr({y:-9999})}),delete r.distributeBox},this)}function o(r){let n=this.center,a=this.options,l=a.center,c=a.minSize||80,d=c,p=a.size!==null;return!p&&(l[0]!==null?d=Math.max(n[2]-Math.max(r[1],r[3]),c):(d=Math.max(n[2]-r[1]-r[3],c),n[0]+=(r[3]-r[1])/2),l[1]!==null?d=ma(d,c,n[2]-Math.max(r[0],r[2])):(d=ma(d,c,n[2]-r[0]-r[2]),n[1]+=(r[0]-r[2])/2),d<n[2]?(n[2]=d,n[3]=Math.min(a.thickness?Math.max(0,d-2*a.thickness):Math.max(0,xa(a.innerSize||0,d)),d),this.translate(n),this.drawDataLabels&&this.drawDataLabels()):p=!0),p}h.compose=function(r){if(is.compose(ua),xg(pg,"PieDataLabel")){let n=r.prototype;n.dataLabelPositioners=t,n.alignDataLabel=gg,n.drawDataLabels=i,n.getDataLabelPosition=e,n.placeDataLabels=s,n.verifyDataLabelOverflow=o}}})(bs||(bs={}));let yg=bs;(function(h){h.getCenterOfPoints=function(t){let e=t.reduce((i,s)=>(i.x+=s.x,i.y+=s.y,i),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},h.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},h.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},h.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,n=!1;for(o=0,r=s-1;o<s;r=o++){let[a,l]=i[o],[c,d]=i[r];l>e!=d>e&&t<(c-a)*(e-l)/(d-l)+a&&(n=!n)}return n}})(vs||(vs={}));let{pointInPolygon:bg}=vs,{addEvent:vg,getAlignFactor:kg,fireEvent:ya,objectEach:ba,pick:wg}=N;function Mg(h){let t=h.length,e=(c,d)=>!(d.x>=c.x+c.width||d.x+d.width<=c.x||d.y>=c.y+c.height||d.y+d.height<=c.y),i=(c,d)=>{for(let p of c)if(bg({x:p[0],y:p[1]},d))return!0;return!1},s,o,r,n,a,l=!1;for(let c=0;c<t;c++)(s=h[c])&&(s.oldOpacity=s.opacity,s.newOpacity=1,s.absoluteBox=function(d){if(d&&(!d.alignAttr||d.placed)){let p=d.box?0:d.padding||0,g=d.alignAttr||{x:d.attr("x"),y:d.attr("y")},{height:u,polygon:m,width:x}=d.getBBox(),f=kg(d.alignValue)*x;return d.width=x,d.height=u,{x:g.x+(d.parentGroup?.translateX||0)+p-f,y:g.y+(d.parentGroup?.translateY||0)+p,width:x-2*p,height:u-2*p,polygon:m}}}(s));h.sort((c,d)=>(d.labelrank||0)-(c.labelrank||0));for(let c=0;c<t;++c){n=(o=h[c])&&o.absoluteBox;let d=n?.polygon;for(let p=c+1;p<t;++p){a=(r=h[p])&&r.absoluteBox;let g=!1;if(n&&a&&o!==r&&o.newOpacity!==0&&r.newOpacity!==0&&o.visibility!=="hidden"&&r.visibility!=="hidden"){let u=a.polygon;if(d&&u&&d!==u?i(d,u)&&(g=!0):e(n,a)&&(g=!0),g){let m=o.labelrank<r.labelrank?o:r,x=m.text;m.newOpacity=0,x?.element.querySelector("textPath")&&x.hide()}}}}for(let c of h)va(c,this)&&(l=!0);l&&ya(this,"afterHideAllOverlappingLabels")}function va(h,t){let e,i=!1;return h&&(e=h.newOpacity,h.oldOpacity!==e&&(h.hasClass("highcharts-data-label")?(h[e?"removeClass":"addClass"]("highcharts-data-label-hidden"),i=!0,h[h.isOld?"animate":"attr"]({opacity:e},void 0,function(){t.styledMode||h.css({pointerEvents:e?"auto":"none"})}),ya(t,"afterHideOverlappingLabel")):h.attr({opacity:e})),h.isOld=!0),i}function Sg(){let h=this,t=[];for(let e of h.labelCollectors||[])t=t.concat(e());for(let e of h.yAxis||[])e.stacking&&e.options.stackLabels&&!e.options.stackLabels.allowOverlap&&ba(e.stacking.stacks,i=>{ba(i,s=>{s.label&&t.push(s.label)})});for(let e of h.series||[])if(e.visible&&e.hasDataLabels?.()){let i=s=>{for(let o of s)o.visible&&(o.dataLabels||[]).forEach(r=>{let n=r.options||{};r.labelrank=wg(n.labelrank,o.labelrank,o.shapeArgs?.height),n.allowOverlap??Number(n.distance)>0?(r.oldOpacity=r.opacity,r.newOpacity=1,va(r,h)):t.push(r)})};i(e.nodes||[]),i(e.points)}this.hideOverlappingLabels(t)}let ka={compose:function(h){let t=h.prototype;t.hideOverlappingLabels||(t.hideOverlappingLabels=Mg,vg(h,"render",Sg))}},{defaultOptions:Cg}=Mt,{noop:wa}=A,{addEvent:Ma,extend:Tg,isObject:Sa,merge:Pg,relativeLength:Fo}=N,Ag={radius:0,scope:"stack",where:void 0},Ca=wa,Ta=wa;function Og(h,t,e,i,s={}){let o=Ca(h,t,e,i,s),{innerR:r=0,r:n=e,start:a=0,end:l=0}=s;if(s.open||!s.borderRadius)return o;let c=l-a,d=Math.sin(c/2),p=Math.max(Math.min(Fo(s.borderRadius||0,n-r),(n-r)/2,n*d/(1+d)),0),g=Math.min(p,c/Math.PI*2*r),u=o.length-1;for(;u--;)(function(m,x,f){let y,b,v,S=m[x],w=m[x+1];if(w[0]==="Z"&&(w=m[0]),(S[0]==="M"||S[0]==="L")&&w[0]==="A"?(y=S,b=w,v=!0):S[0]==="A"&&(w[0]==="M"||w[0]==="L")&&(y=w,b=S),y&&b&&b.params){let k=b[1],M=b[5],C=b.params,{start:T,end:P,cx:O,cy:L}=C,D=M?k-f:k+f,I=D?Math.asin(f/D):0,E=M?I:-I,z=Math.cos(I)*D;v?(C.start=T+E,y[1]=O+z*Math.cos(T),y[2]=L+z*Math.sin(T),m.splice(x+1,0,["A",f,f,0,0,1,O+k*Math.cos(C.start),L+k*Math.sin(C.start)])):(C.end=P-E,b[6]=O+k*Math.cos(C.end),b[7]=L+k*Math.sin(C.end),m.splice(x+1,0,["A",f,f,0,0,1,O+z*Math.cos(P),L+z*Math.sin(P)])),b[4]=Math.abs(C.end-C.start)<Math.PI?0:1}})(o,u,u>1?g:p);return o}function Lg(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:h,yAxis:t}=this,e=h.stacking==="percent",i=Cg.plotOptions?.[this.type]?.borderRadius,s=Xo(h.borderRadius,Sa(i)?i:{}),o=t.options.reversed;for(let r of this.points){let{shapeArgs:n}=r;if(r.shapeType==="roundedRect"&&n){let{width:a=0,height:l=0,y:c=0}=n,d=c,p=l;if(s.scope==="stack"&&r.stackTotal){let x=t.translate(e?100:r.stackTotal,!1,!0,!1,!0),f=t.translate(h.threshold||0,!1,!0,!1,!0),y=this.crispCol(0,Math.min(x,f),0,Math.abs(x-f));d=y.y,p=y.height}let g=(r.negative?-1:1)*(o?-1:1)==-1,u=s.where;!u&&this.is("waterfall")&&Math.abs((r.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(u="all"),u||(u="end");let m=Math.min(Fo(s.radius,a),a/2,u==="all"?l/2:1/0)||0;u==="end"&&(g&&(d-=m),p+=m),Tg(n,{brBoxHeight:p,brBoxY:d,r:m})}}}}function Xo(h,t){return Sa(h)||(h={radius:h||0}),Pg(Ag,t,h)}function Eg(){let h=Xo(this.options.borderRadius);for(let t of this.points){let e=t.shapeArgs;e&&(e.borderRadius=Fo(h.radius,(e.r||0)-(e.innerR||0)))}}function Dg(h,t,e,i,s={}){let o=Ta(h,t,e,i,s),{r=0,brBoxHeight:n=i,brBoxY:a=t}=s,l=t-a,c=a+n-(t+i),d=l-r>-.1?0:r,p=c-r>-.1?0:r,g=Math.max(d&&l,0),u=Math.max(p&&c,0),m=[h+d,t],x=[h+e-d,t],f=[h+e,t+d],y=[h+e,t+i-p],b=[h+e-p,t+i],v=[h+p,t+i],S=[h,t+i-p],w=[h,t+d],k=(M,C)=>Math.sqrt(Math.pow(M,2)-Math.pow(C,2));if(g){let M=k(d,d-g);m[0]-=M,x[0]+=M,f[1]=w[1]=t+d-g}if(i<d-g){let M=k(d,d-g-i);f[0]=y[0]=h+e-d+M,b[0]=Math.min(f[0],b[0]),v[0]=Math.max(y[0],v[0]),S[0]=w[0]=h+d-M,f[1]=w[1]=t+i}if(u){let M=k(p,p-u);b[0]+=M,v[0]-=M,y[1]=S[1]=t+i-p+u}if(i<p-u){let M=k(p,p-u-i);f[0]=y[0]=h+e-p+M,x[0]=Math.min(f[0],x[0]),m[0]=Math.max(y[0],m[0]),S[0]=w[0]=h+p-M,y[1]=S[1]=t}return o.length=0,o.push(["M",...m],["L",...x],["A",d,d,0,0,1,...f],["L",...y],["A",p,p,0,0,1,...b],["L",...v],["A",p,p,0,0,1,...S],["L",...w],["A",d,d,0,0,1,...m],["Z"]),o}let{diffObjects:Ig,extend:Bg,find:zg,merge:Ng,pick:rs,uniqueKey:Rg}=N;(function(h){function t(i,s){let o=i.condition;(o.callback||function(){return this.chartWidth<=rs(o.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=rs(o.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=rs(o.minWidth,0)&&this.chartHeight>=rs(o.minHeight,0)}).call(this)&&s.push(i._id)}function e(i,s){let o=this.options.responsive,r=this.currentResponsive,n=[],a;!s&&o&&o.rules&&o.rules.forEach(d=>{d._id===void 0&&(d._id=Rg()),this.matchResponsiveRule(d,n)},this);let l=Ng(...n.map(d=>zg(o?.rules||[],p=>p._id===d)).map(d=>d?.chartOptions));l.isResponsiveOptions=!0,n=n.toString()||void 0;let c=r?.ruleIds;n===c||(r&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(r.undoOptions,i,!0),this.updatingResponsive=!1),n?((a=Ig(l,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:n,mergedOptions:l,undoOptions:a},this.updatingResponsive||this.update(l,i,!0)):this.currentResponsive=void 0)}h.compose=function(i){let s=i.prototype;return s.matchResponsiveRule||Bg(s,{matchResponsiveRule:t,setResponsive:e}),i}})(ks||(ks={}));let Wg=ks;A.AST=Q,A.Axis=Qs,A.Chart=Jt,A.Color=et,A.DataLabel=is,A.DataTableCore=Yi,A.Fx=he,A.HTMLElement=Te,A.Legend=In,A.LegendSymbol=bn,A.OverlappingDataLabels=A.OverlappingDataLabels||ka,A.PlotLineOrBand=Ri,A.Point=$t,A.Pointer=fn,A.RendererRegistry=je,A.Series=wt,A.SeriesRegistry=ot,A.StackItem=Vn,A.SVGElement=Bt,A.SVGRenderer=Pi,A.Templating=St,A.Tick=Pe,A.Time=As,A.Tooltip=cn,A.animate=gt.animate,A.animObject=gt.animObject,A.chart=Jt.chart,A.color=et.parse,A.dateFormat=St.dateFormat,A.defaultOptions=Mt.defaultOptions,A.distribute=bi.distribute,A.format=St.format,A.getDeferredAnimation=gt.getDeferredAnimation,A.getOptions=Mt.getOptions,A.numberFormat=St.numberFormat,A.seriesType=ot.seriesType,A.setAnimation=gt.setAnimation,A.setOptions=Mt.setOptions,A.stop=gt.stop,A.time=Mt.defaultTime,A.timers=he.timers,{compose:function(h,t,e){let i=h.types.pie;if(!t.symbolCustomAttribs.includes("borderRadius")){let s=e.prototype.symbols;Ma(h,"afterColumnTranslate",Lg,{order:9}),Ma(i,"afterTranslate",Eg),t.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),Ca=s.arc,Ta=s.roundedRect,s.arc=Og,s.roundedRect=Dg}},optionsToObject:Xo}.compose(A.Series,A.SVGElement,A.SVGRenderer),Up.compose(A.Series.types.column),is.compose(A.Series),Pd.compose(A.Axis),Te.compose(A.SVGRenderer),In.compose(A.Chart),Ld.compose(A.Axis),ka.compose(A.Chart),yg.compose(A.Series.types.pie),Ri.compose(A.Chart,A.Axis),fn.compose(A.Chart),Wg.compose(A.Chart),Gn.compose(A.Axis,A.Chart,A.Series),Tp.compose(A.Axis,A.Chart,A.Series),cn.compose(A.Pointer),N.extend(A,N);let Hg=A;return Ko.default})())});var yh=(()=>{class H{constructor(B,R){this.el=B,this._zone=R,this.updateChange=new _o(!0),this.chartInstance=new _o}ngOnChanges(B){let R=B.update?.currentValue;(B.options||R)&&(this.wrappedUpdateOrCreateChart(),R&&this.updateChange.emit(!1))}wrappedUpdateOrCreateChart(){this.runOutsideAngular?this._zone.runOutsideAngular(()=>{this.updateOrCreateChart()}):this.updateOrCreateChart()}updateOrCreateChart(){this.chart?.update?this.chart.update(this.options,!0,this.oneToOne||!1):(this.chart=this.Highcharts[this.constructorType||"chart"](this.el.nativeElement,this.options,this.callbackFunction||null),this.chartInstance.emit(this.chart))}ngOnDestroy(){this.chart&&(this.chart.destroy(),this.chart=null,this.chartInstance.emit(this.chart))}static{this.\u0275fac=function(R){return new(R||H)(Uo(Ia),Uo(Da))}}static{this.\u0275cmp=as({type:H,selectors:[["highcharts-chart"]],inputs:{Highcharts:"Highcharts",constructorType:"constructorType",callbackFunction:"callbackFunction",oneToOne:"oneToOne",runOutsideAngular:"runOutsideAngular",options:"options",update:"update"},outputs:{updateChange:"updateChange",chartInstance:"chartInstance"},standalone:!1,features:[Ea],decls:0,vars:0,template:function(R,J){},encapsulation:2})}}return H})(),bh=(()=>{class H{static{this.\u0275fac=function(R){return new(R||H)}}static{this.\u0275mod=za({type:H})}static{this.\u0275inj=La({})}}return H})();var vh=(()=>{class H{constructor(){this.httpService=Yt(Ja)}getDashboardData(B){let R=new $a;return R=R.set("from",B.from),R=R.append("to",B.to),this.httpService.get(void 0,"api/Dashboard",{params:R})}getDashboardLoader(){return this.httpService.get(void 0,"api/DashboardLoader")}static{this.\u0275fac=function(R){return new(R||H)}}static{this.\u0275prov=ns({token:H,factory:H.\u0275fac,providedIn:"root"})}}return H})();var hs=Xg(kh());var wh=(()=>{class H{constructor(){this.initModule()}initModule(){this.initializeHighchartsModules()}initializeHighchartsModules(){return Aa(this,null,function*(){let B=yield import("./chunk-7DRL5PZZ.js"),R=B.default||B;typeof R=="function"&&R(hs),hs.setOptions({credits:{enabled:!1},lang:{noData:"No data to display"}})})}get HighchartsInstance(){return hs}static{this.\u0275fac=function(R){return new(R||H)}}static{this.\u0275prov=ns({token:H,factory:H.\u0275fac,providedIn:"root"})}}return H})();var jg=["chartLeft"];function Gg(H,yt){H&1&&(at(0,"div",35)(1,"h3",36),Ot(2,"This Month's Expense"),lt()())}function _g(H,yt){H&1&&(at(0,"div",35)(1,"h3",36),Ot(2,"Daily Revenue and Expense"),lt()())}function Vg(H,yt){if(H&1&&re(0,"highcharts-chart",37),H&2){let B=ye(3);oe("Highcharts",B.Highcharts)("options",B.chartOptionsRight)}}function Ug(H,yt){if(H&1&&(at(0,"main",6)(1,"div",7)(2,"div",8)(3,"a",9)(4,"div",10)(5,"div",11),re(6,"i",12),lt(),at(7,"p-card")(8,"div",13)(9,"div",14)(10,"a",15),Ot(11,"Cash and Bank"),lt(),at(12,"p",16),Ot(13),di(14,"number"),lt()()()()()()(),at(15,"div",8)(16,"a",17)(17,"div",10)(18,"div",18),re(19,"i",19),lt(),at(20,"p-card")(21,"div",13)(22,"div",14)(23,"a",20),Ot(24,"Revenue"),lt(),at(25,"p",16),Ot(26),di(27,"number"),lt()()()()()()(),at(28,"div",8)(29,"a",17)(30,"div",10)(31,"div",21)(32,"div",22),re(33,"i",23),lt()(),at(34,"p-card")(35,"div",13)(36,"div",14)(37,"a",20),Ot(38,"Expense"),lt(),at(39,"p",16),Ot(40),di(41,"number"),lt()()()()()()(),at(42,"div",8)(43,"a",24)(44,"div",10)(45,"div",25)(46,"div",26),re(47,"i",27),lt()(),at(48,"p-card")(49,"div",13)(50,"div",14)(51,"a",28),Ot(52,"Total Journal"),lt(),at(53,"p",16),Ot(54),di(55,"number"),lt()()()()()()()(),at(56,"div",29)(57,"div",30)(58,"div",31)(59,"p-panel",32),hi(60,Gg,3,0,"ng-template",null,2,ze),at(62,"div",33,3),re(64,"highcharts-chart",34),lt()()()(),at(65,"div",30)(66,"div",31)(67,"p-panel",32),hi(68,_g,3,0,"ng-template",null,2,ze)(70,Vg,1,2,"ng-template",null,0,ze),lt()()()()()),H&2){let B=ye(2);jt(13),li(" ",ci(14,6,B.dashboardData().cashAndBank)," "),jt(13),li(" ",ci(27,8,B.dashboardData().revenue)," "),jt(14),li(" ",ci(41,10,B.dashboardData().expense)," "),jt(14),li(" ",ci(55,12,B.dashboardData().totalJournal)," "),jt(10),oe("Highcharts",B.Highcharts)("options",B.chartOptionsLeft)}}function $g(H,yt){if(H&1&&(at(0,"form",38)(1,"div",39)(2,"label",40),Ot(3,"From - To"),lt(),at(4,"div",41),re(5,"p-datepicker",42)(6,"p-datepicker",43),lt()()()),H&2){let B=ye(2);oe("formGroup",B.filterForm),jt(5),oe("iconDisplay","input")("showIcon",!0),jt(),oe("iconDisplay","input")("showIcon",!0)}}function Zg(H,yt){if(H&1){let B=Wa();Na(0),at(1,"app-main-panel",5),Ga("isDialogFilterVisibleChange",function(J){jo(B);let vt=ye();return ja(vt.isDialogFilterVisible,J)||(vt.isDialogFilterVisible=J),Go(J)}),$o("filterConfirmed",function(){jo(B);let J=ye();return Go(J.onFilterOKEvent())}),hi(2,Ug,72,14,"ng-template",null,0,ze)(4,$g,7,5,"ng-template",null,1,ze),lt(),Ra()}if(H&2){let B=ye();jt(),oe("pageTitle","Dashboard "+B.dashboardData().title)("hasMainWrapperPadding",!0)("limitStrLength",50)("overflowScroll",!0)("isFilterable",!0),Ya("isDialogFilterVisible",B.isDialogFilterVisible)}}var Xu=(()=>{class H{constructor(){this.dashboardService=Yt(vh),this.highchartsService=Yt(wh),this.roleService=Yt(ch),this.router=Yt(Za),this.dashboardData=Vo(null),this.lastWidth=window.innerWidth,this.lastHeight=window.innerHeight,this.fb=Yt(oh),this.isDialogFilterVisible=Vo(!1),this.dayjsService=Yt(xh)}onResize(){this.resizeChart()}ngAfterViewInit(){this.resizeChart()}initForm(){this.filterForm=this.fb.group({from:this.fb.control(new Date),to:this.fb.control(new Date)})}onFilterOKEvent(){let B=this.filterForm.value,R={from:this.dayjsService.from(B.from).format("YYYY-MM-DD"),to:this.dayjsService.from(B.to).format("YYYY-MM-DD")};this.dashboardService.getDashboardData(R).pipe(Yo(J=>{this.isDialogFilterVisible.update(vt=>!vt),this.dashboardData.set(J),this.initializeCharts(J)})).subscribe()}resizeChart(){let B=window.innerWidth;this.Highcharts.charts.forEach(R=>{if(R){let J=400;B>=1920?J=700:B>=1280&&(J=450),R.setSize(J,250)}})}ngOnInit(){if(this.initForm(),this.Highcharts=this.highchartsService.HighchartsInstance,this.loadDashboardData().subscribe(),this.roleService.report().finance)if(this.roleService.coa().view)this.router.navigate(["/pages/dashboard"]);else{this.router.navigate(["/pages/journal/journal-entry"]);return}else{this.router.navigate(["/pages/chart-of-account/account"]);return}}loadDashboardData(){return this.dashboardService.getDashboardLoader().pipe(Oa(B=>{let R=B.filter;return R.from=this.dayjsService.from(R.from).format("YYYY-MM-DD"),R.to=this.dayjsService.from(R.to).format("YYYY-MM-DD"),this.filterForm.patchValue({from:new Date(R.from),to:new Date(R.to)}),this.dashboardService.getDashboardData(R)}),Yo(B=>{this.dashboardData.set(B),this.initializeCharts(B)}))}initializeCharts(B){this.chartOptionsLeft=this.buildPieChart(B.pie.series),this.chartOptionsRight=this.buildSplineChart(B.chart.labels,B.chart.series.map(R=>se(At({},R),{type:"spline"})))}buildPieChart(B){return{chart:{type:"pie",zooming:{type:"xy"},panning:{enabled:!0,type:"xy"},panKey:"shift",height:250},title:{text:"",style:this.commonTitleStyle()},series:[{name:"Amount",type:"pie",data:B}],noData:{style:{fontSize:"14px",color:"gray"}},responsive:{rules:this.responsiveRules()}}}buildSplineChart(B,R){return{chart:{type:"spline",height:250},title:{text:"",style:this.commonTitleStyle()},xAxis:{categories:B},series:R.map(J=>se(At({},J),{type:"spline"})),noData:{style:{fontSize:"14px",color:"gray"}},responsive:{rules:this.responsiveRules()}}}commonTitleStyle(){return{fontFamily:"Open Sans, sans-serif",fontSize:"1rem"}}responsiveRules(){return[{condition:{maxWidth:800},chartOptions:{legend:{enabled:!1},title:{text:""}}}]}static{this.\u0275fac=function(R){return new(R||H)}}static{this.\u0275cmp=as({type:H,selectors:[["ng-component"]],viewQuery:function(R,J){if(R&1&&Ha(jg,5),R&2){let vt;Fa(vt=Xa())&&(J.chartLeft=vt.first)}},hostBindings:function(R,J){R&1&&$o("resize",function(Ne){return J.onResize(Ne)},!1,Ba)},decls:1,vars:1,consts:[["content",""],["filters",""],["header",""],["chartLeft",""],[4,"ngIf"],[3,"isDialogFilterVisibleChange","filterConfirmed","pageTitle","hasMainWrapperPadding","limitStrLength","overflowScroll","isFilterable","isDialogFilterVisible"],[1,"d-flex","flex-column","row-gap-10","py-2"],[1,"row","row-gap-24"],[1,"col-12","col-md-6","col-lg-3"],["routerLink","/pages/cash-bank","target","_blank"],[1,"card-container"],[1,"box-icon"],[1,"fa-duotone","fa-solid","fa-wallet","text-white"],[1,"d-flex","justify-content-end"],[1,"d-flex","flex-column","align-items-end"],["routerLink","/pages/cash-bank","target","_blank",1,"link","link-secondary","box-title"],[1,"box-number"],["routerLink","/pages/report/profit-loss","target","_blank"],[1,"box-icon",2,"background-color","#009f2a"],[1,"fa-solid","fa-hand-holding-dollar","text-white"],["routerLink","/pages/report/profit-loss","target","_blank",1,"link","link-secondary","box-title"],[1,"box-icon",2,"background-color","#d73636"],[1,"d-flex","text-white","align-items-baseline"],[1,"fa-solid","fa-circle-dollar-to-slot"],["routerLink","/pages/journal/journal-entry","target","_blank"],[1,"box-icon",2,"background-color","#ffae4c"],[1,"d-flex","text-white"],[1,"fa-solid","fa-book"],["routerLink","/pages/journal/journal-entry","target","_blank",1,"link","link-secondary","box-title"],[1,"row","row-gap-4","mt-2"],[1,"col-12","col-md-6","col-lg-6"],[1,"d-flex"],[1,"flex-grow-1"],[2,"width","100%"],[1,"d-flex","justify-content-center",2,"width","100%","display","block",3,"Highcharts","options"],[1,"d-flex","justify-content-center","w-100","py-2"],[1,"fs-5"],[1,"d-flex","justify-content-center",3,"Highcharts","options"],[1,"d-flex","flex-column","row-gap-3",3,"formGroup"],[1,"d-flex","flex-column"],["for","outlet"],[1,"d-flex","flex-column","gap-2"],["formControlName","from","styleClass","w-100 mb-0","appendTo","body","inputId","icondisplay",3,"iconDisplay","showIcon"],["formControlName","to","styleClass","w-100","appendTo","body","inputId","icondisplay",3,"iconDisplay","showIcon"]],template:function(R,J){R&1&&hi(0,Zg,6,6,"ng-container",4),R&2&&oe("ngIf",J.dashboardData())},dependencies:[ah,nh,ph,bh,yh,uh,gh,Ua,_a,Va,hh,Ka,qa,dh,lh,rh,eh,Qa,th,ih,sh,fh,mh],styles:['@charset "UTF-8";.card-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .card-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.card-container[_ngcontent-%COMP%]{position:relative;height:4rem}.card-container[_ngcontent-%COMP%] .box-icon[_ngcontent-%COMP%]{height:50px;width:50px;background-color:#2175d0;display:flex;justify-content:center;align-items:center;z-index:2;position:relative;border-radius:4px;left:1.5rem;top:-.6rem}.card-container[_ngcontent-%COMP%] .box-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:30px}.card-container[_ngcontent-%COMP%] .box-number[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:500}.card-container[_ngcontent-%COMP%] .box-title[_ngcontent-%COMP%]{font-size:1rem}.card-container[_ngcontent-%COMP%] p-card[_ngcontent-%COMP%]{position:absolute;top:calc(2.6rem - 55%);left:0;width:100%;z-index:1;margin:0!important;padding:0!important}@media (max-width: 85rem){.card-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .card-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.card-container[_ngcontent-%COMP%]{position:relative;height:4rem}.card-container[_ngcontent-%COMP%] .box-icon[_ngcontent-%COMP%]{height:50px;width:50px;background-color:#2175d0;display:flex;justify-content:center;align-items:center;z-index:2;position:relative;border-radius:4px;left:1.5rem;top:-.6rem}.card-container[_ngcontent-%COMP%] .box-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:30px}.card-container[_ngcontent-%COMP%] .box-number[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:500}.card-container[_ngcontent-%COMP%] .box-title[_ngcontent-%COMP%]{font-size:1rem}.card-container[_ngcontent-%COMP%] p-card[_ngcontent-%COMP%]{position:absolute;top:calc(2.6rem - 55%);left:0;width:100%;z-index:1;margin:0!important;padding:0!important}}@media (min-width: 85.001rem) and (max-width: 97.999rem){.card-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .card-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.card-container[_ngcontent-%COMP%]{position:relative;height:4rem}.card-container[_ngcontent-%COMP%] .box-icon[_ngcontent-%COMP%]{height:50px;width:50px;background-color:#2175d0;display:flex;justify-content:center;align-items:center;z-index:2;position:relative;border-radius:4px;left:1.5rem;top:-.6rem}.card-container[_ngcontent-%COMP%] .box-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:30px}.card-container[_ngcontent-%COMP%] .box-number[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:500}.card-container[_ngcontent-%COMP%] .box-title[_ngcontent-%COMP%]{font-size:1rem}.card-container[_ngcontent-%COMP%] p-card[_ngcontent-%COMP%]{position:absolute;top:calc(2.6rem - 55%);left:0;width:100%;z-index:1;margin:0!important;padding:0!important}}@media (min-width: 98rem){.card-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .card-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.card-container[_ngcontent-%COMP%]{position:relative;height:4rem}.card-container[_ngcontent-%COMP%] .box-icon[_ngcontent-%COMP%]{height:80px;width:80px;background-color:#2175d0;display:flex;justify-content:center;align-items:center;z-index:2;position:relative;border-radius:4px;left:1.5rem;top:-.6rem}.card-container[_ngcontent-%COMP%] .box-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:40px}.card-container[_ngcontent-%COMP%] .box-number[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:500}.card-container[_ngcontent-%COMP%] .box-title[_ngcontent-%COMP%]{font-size:1.15rem}.card-container[_ngcontent-%COMP%] p-card[_ngcontent-%COMP%]{position:absolute;top:calc(2.6rem - 55%);left:0;width:100%;z-index:1;margin:0!important;padding:0!important}}']})}}return H})();export{Xu as Dashboard1Component};
|