1import{a as is,b as ss}from"./chunk-OA5XO7FZ.js";import{a as es}from"./chunk-K23PEXYD.js";import{a as Qi,b as ts}from"./chunk-ZOU7JU4I.js";import{a as qi}from"./chunk-EMNRMHET.js";import{a as Ue}from"./chunk-A5EUQQC7.js";import{$ as Nt,$a as ge,$b as bi,Ab as gi,Ad as Oi,Ba as bt,Bb as mi,Ca as vt,Cd as Ge,Ce as $i,Da as It,Db as fi,Dc as Ti,Dd as Di,Eb as xi,Ed as Ii,Gc as Ai,Ha as Ht,Ia as Gt,Id as we,Ja as At,Jb as be,Jd as Me,Ka as ri,La as oi,Le as Ki,Nd as ji,Od as Te,Qa as ni,R as Jt,Ra as ai,Rb as yi,Rd as Ri,S as qt,Sa as li,Sb as Fe,Sd as Bi,Ta as hi,Td as _i,U as Ft,Ua as wt,Ub as oe,Ud as Ni,Va as pe,W as Qt,Wa as Vt,Wb as He,X as Kt,Y as je,Ye as Zi,_ as ei,_a as ue,_b as Wt,a as Yt,aa as zt,ab as me,b as he,ba as Re,be as Ae,bf as Ji,ce as zi,da as Zt,de as Wi,e as fs,ea as ii,eb as ci,ee as Fi,fa as se,fc as vi,fe as Hi,g as xs,gc as Ci,ge as Gi,hb as te,ia as Be,jb as ze,kb as We,kd as ve,lb as di,lc as Si,ld as Ce,ma as St,mb as pi,na as Ot,nd as Se,ne as Ui,oe as Xi,pb as ui,pd as ke,pe as Yi,qa as _e,ra as si,rb as fe,rd as Pi,sb as xe,ta as Dt,tb as ye,ua as de,uc as ki,v as ce,va as kt,ve as Vi,wc as wi,wd as Li,xa as re,yc as Mi,yd as Ei,z as ti,za as Ne}from"./chunk-UKO5M5N4.js";var as=fs((ns,Pe)=>{(function(pt,k){typeof Pe=="object"&&Pe.exports?(k.default=k,Pe.exports=pt&&pt.document?k(pt):k):typeof define=="function"&&define.amd?define("highcharts/highcharts",function(){return k(pt)}):(pt.Highcharts&&pt.Highcharts.error(16,!0),pt.Highcharts=k(pt))})(typeof window<"u"?window:ns,function(pt){"use strict";var k={};function it(E,H,J,nt){!E.hasOwnProperty(H)&&(E[H]=nt.apply(null,J),pt&&typeof CustomEvent=="function"&&pt.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:H,module:E[H]}})))}return it(k,"Core/Globals.js",[],function(){var E,H;return(H=E||(E={})).SVG_NS="http://www.w3.org/2000/svg",H.product="Highcharts",H.version="11.4.7",H.win=pt!==void 0?pt:{},H.doc=H.win.document,H.svg=H.doc&&H.doc.createElementNS&&!!H.doc.createElementNS(H.SVG_NS,"svg").createSVGRect,H.userAgent=H.win.navigator&&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.hasBidiBug=H.isFirefox&&4>parseInt(H.userAgent.split("Firefox/")[1],10),H.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],H.noop=function(){},H.supportsPassiveEvents=function(){let J=!1;if(!H.isMS){let nt=Object.defineProperty({},"passive",{get:function(){J=!0}});H.win.addEventListener&&H.win.removeEventListener&&(H.win.addEventListener("testPassive",H.noop,nt),H.win.removeEventListener("testPassive",H.noop,nt))}return J}(),H.charts=[],H.composed=[],H.dateFormats={},H.seriesTypes={},H.symbolSizes={},H.chartCount=0,E}),it(k,"Core/Utilities.js",[k["Core/Globals.js"]],function(E){let H,{charts:J,doc:nt,win:st}=E;function lt(e,t,r,l){let x=t?"Highcharts error":"Highcharts warning";e===32&&(e=`${x}: Deprecated member`);let y=R(e),h=y?`${x} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(l!==void 0){let P="";y&&(h+="?"),C(l,function(U,m){P+=` 2 - ${m}: ${U}`,y&&(h+=encodeURI(m)+"="+encodeURI(U))}),h+=P}u(E,"displayError",{chart:r,code:e,message:h,params:l},function(){if(t)throw Error(h);st.console&<.messages.indexOf(h)===-1&&console.warn(h)}),lt.messages.push(h)}function ct(e,t){return parseInt(e,t||10)}function K(e){return typeof e=="string"}function q(e){let t=Object.prototype.toString.call(e);return t==="[object Array]"||t==="[object Array Iterator]"}function $(e,t){return!!e&&typeof e=="object"&&(!t||!q(e))}function S(e){return $(e)&&typeof e.nodeType=="number"}function B(e){let t=e&&e.constructor;return!!($(e,!0)&&!S(e)&&t&&t.name&&t.name!=="Object")}function R(e){return typeof e=="number"&&!isNaN(e)&&e<1/0&&e>-1/0}function L(e){return e!=null}function f(e,t,r){let l,x=K(t)&&!L(r),y=(h,P)=>{L(h)?e.setAttribute(P,h):x?(l=e.getAttribute(P))||P!=="class"||(l=e.getAttribute(P+"Name")):e.removeAttribute(P)}
vendor: 6,241 bytes, line 2
2;return K(t)?y(r,t):C(t,y),l}function w(e){return q(e)?e:[e]}function M(e,t){let r;for(r in e||(e={}),t)e[r]=t[r];return e}function A(){let e=arguments,t=e.length;for(let r=0;r<t;r++){let l=e[r];if(l!=null)return l}}function c(e,t){M(e.style,t)}function b(e){return Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function F(e,t){return e>1e14?e:parseFloat(e.toPrecision(t||14))}(lt||(lt={})).messages=[],Math.easeInOutSine=function(e){return-.5*(Math.cos(Math.PI*e)-1)};let I=Array.prototype.find?function(e,t){return e.find(t)}:function(e,t){let r,l=e.length;for(r=0;r<l;r++)if(t(e[r],r))return e[r]};function C(e,t,r){for(let l in e)Object.hasOwnProperty.call(e,l)&&t.call(r||e[l],e[l],l,e)}function o(e,t,r){function l(h,P){let U=e.removeEventListener;U&&U.call(e,h,P,!1)}function x(h){let P,U;e.nodeName&&(t?(P={})[t]=!0:P=h,C(P,function(m,O){if(h[O])for(U=h[O].length;U--;)l(O,h[O][U].fn)}))}let y=typeof e=="function"&&e.prototype||e;if(Object.hasOwnProperty.call(y,"hcEvents")){let h=y.hcEvents;if(t){let P=h[t]||[];r?(h[t]=P.filter(function(U){return r!==U.fn}),l(t,r)):(x(h),h[t]=[])}else x(h),delete y.hcEvents}}function u(e,t,r,l){if(r=r||{},nt.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==E)){let x=nt.createEvent("Events");x.initEvent(t,!0,!0),r=M(x,r),e.dispatchEvent?e.dispatchEvent(r):e.fireEvent(t,r)}else if(e.hcEvents){r.target||M(r,{preventDefault:function(){r.defaultPrevented=!0},target:e,type:t});let x=[],y=e,h=!1;for(;y.hcEvents;)Object.hasOwnProperty.call(y,"hcEvents")&&y.hcEvents[t]&&(x.length&&(h=!0),x.unshift.apply(x,y.hcEvents[t])),y=Object.getPrototypeOf(y);h&&x.sort((P,U)=>P.order-U.order),x.forEach(P=>{P.fn.call(e,r)===!1&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(e,r)}C({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,t){E[t]=function(r){return lt(32,!1,void 0,{[`Highcharts.${t}`]:`use Array.${e}`}),Array.prototype[e].apply(r,[].slice.call(arguments,1))}});let s=function(){let e=Math.random().toString(36).substring(2,9)+"-",t=0;return function(){return"highcharts-"+(H?"":e)+t++}}();return st.jQuery&&(st.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new E[K(e[0])?e.shift():"Chart"](this[0],e[0],e[1]),this):J[f(this[0],"data-highcharts-chart")]}),{addEvent:function(e,t,r,l={}){let x=typeof e=="function"&&e.prototype||e;Object.hasOwnProperty.call(x,"hcEvents")||(x.hcEvents={});let y=x.hcEvents;E.Point&&e instanceof E.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let h=e.addEventListener;h&&h.call(e,t,r,!!E.supportsPassiveEvents&&{passive:l.passive===void 0?t.indexOf("touch")!==-1:l.passive,capture:!1}),y[t]||(y[t]=[]);let P={fn:r,order:typeof l.order=="number"?l.order:1/0};return y[t].push(P),y[t].sort((U,m)=>U.order-m.order),function(){o(e,t,r)}},arrayMax:function(e){let t=e.length,r=e[0];for(;t--;)e[t]>r&&(r=e[t]);return r},arrayMin:function(e){let t=e.length,r=e[0];for(;t--;)e[t]<r&&(r=e[t]);return r},attr:f,clamp:function(e,t,r){return e>t?e<r?e:r:t},clearTimeout:function(e){L(e)&&clearTimeout(e)},correctFloat:F,createElement:function(e,t,r,l,x){let y=nt.createElement(e);return t&&M(y,t),x&&c(y,{padding:"0",border:"none",margin:"0"}),r&&c(y,r),l&&l.appendChild(y),y},crisp:(e,t=0,r)=>{let l=t%2/2,x=r?-1:1;return(Math.round(e*x-l)+l)*x},css:c,defined:L,destroyObjectProperties:function(e,t,r){C(e,function(l,x){l!==t&&l?.destroy&&l.destroy(),(l?.destroy||!r)&&delete e[x]})},diffObjects:function(e,t,r,l){let x={};return function y(h,P,U,m){let O=r?P:h;C(h,function(_,W){if(!m&&l&&l.indexOf(W)>-1&&P[W]){_=w(_),U[W]=[];for(let Z=0;Z<Math.max(_.length,P[W].length);Z++)P[W][Z]&&(_[Z]===void 0?U[W][Z]=P[W][Z]:(U[W][Z]={},y(_[Z],P[W][Z],U[W][Z],m+1)))}else $(_,!0)&&!_.nodeType?(U[W]=q(_)?[]:{},y(_,P[W]||{},U[W],m+1),Object.keys(U[W]).length!==0||W==="colorAxis"&&m===0||delete U[W]):(h[W]!==P[W]||W in h&&!(W in P))&&W!=="__proto__"&&W!=="constructor"&&(U[W]=O[W])})}(e,t,x,0),x},discardElement:function(e){e&&e.parentElement&&e.parentElement.removeChild(e)},erase:function(e,t){let r=e.length;for(;r--;)if(e[r]===t){e.splice(r,1);break}},error:lt,extend:M,extendClass:function(e,t){let r=function(){};return r.prototype=new e,M(r.prototype,t),r},find:I,fireEvent:u,getClosestDistance:function(e,t){let r,l,x,y,h=!t;return e.forEach(P=>{if(P.length>1)for(y=l=P.length-1;y>0;y--)(x=P[y]-P[y-1])<0&&!h?(t?.(),t=void 0):x&&(r===void 0||x<r)&&(r=x)}),r},getMagnitude:b,getNestedProperty:function(e,t){let r=e.split(".");for(;r.length&&L(t);){let l=r.shift();if(l===void 0||l==="__proto__")return;if(l==="this"){let y;return $(t)&&(y=t["@this"]),y??t}let x=t[l];if(!L(x)||typeof x=="function"||typeof x.nodeType=="number"||x===st)return;t=x}return t},getStyle:function e(t,r,l){let x;if(r==="width"){let h=Math.min(t.offsetWidth,t.scrollWidth),P=t.getBoundingClientRect&&t.getBoundingClientRect().width;return P<h&&P>=h-1&&(h=Math.floor(P)),Math.max(0,h-(e(t,"padding-left",!0)||0)-(e(t,"padding-right",!0)||0))}if(r==="height")return Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-(e(t,"padding-top",!0)||0)-(e(t,"padding-bottom",!0)||0));let y=st.getComputedStyle(t,void 0);return y&&(x=y.getPropertyValue(r),A(l,r!=="opacity")&&(x=ct(x))),x},inArray:function(e,t,r){return lt(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),t.indexOf(e,r)},insertItem:function(e,t){let r,l=e.options.index,x=t.length;for(r=e.options.isInternal?x:0;r<x+1;r++)if(!t[r]||R(l)&&l<A(t[r].options.index,t[r]._i)||t[r].options.isInternal){t.splice(r,0,e);break}return r},isArray:q,isClass:B,isDOMElement:S,isFunction:function(e){return typeof e=="function"},isNumber:R,isObject:$,isString:K,keys:function(e){return lt(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(e)},merge:function(){let e,t=arguments,r={},l=function(y,h){return typeof y!="object"&&(y={}),C(h,function(P,U){U!=="__proto__"&&U!=="constructor"&&(!$(P,!0)||B(P)||S(P)?y[U]=h[U]:y[U]=l(y[U]||{},P))}),y};t[0]===!0&&(r=t[1],t=Array.prototype.slice.call(t,2));let x=t.length;for(e=0;e<x;e++)r=l(r,t[e]);return r},normalizeTickInterval:function(e,t,r,l,x){let y,h=e;r=A(r,b(e));let P=e/r;for(!t&&(t=x?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],l===!1&&(r===1?t=t.filter(function(U){return U%1==0}
2):r<=.1&&(t=[1/r]))),y=0;y<t.length&&(h=t[y],(!x||!(h*r>=e))&&(x||!(P<=(t[y]+(t[y+1]||t[y]))/2)));y++);return F(h*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:C,offset:function(e){let t=nt.documentElement,r=e.parentElement||e.parentNode?e.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(st.pageYOffset||t.scrollTop)-(t.clientTop||0),left:r.left+(st.pageXOffset||t.scrollLeft)-(t.clientLeft||0),width:r.width,height:r.height}},pad:function(e,t,r){return Array((t||2)+1-String(e).replace("-","").length).join(r||"0")+e},pick:A,pInt:ct,pushUnique:function(e,t){return 0>e.indexOf(t)&&!!e.push(t)},relativeLength:function(e,t,r){return/%$/.test(e)?t*parseFloat(e)/100+(r||0):parseFloat(e)},removeEvent:o,replaceNested:function(e,...t){let r,l;do for(l of(r=e,t))e=e.replace(l[0],l[1]);while(e!==r);return e},splat:w,stableSort:function(e,t){let r,l,x=e.length;for(l=0;l<x;l++)e[l].safeI=l;for(e.sort(function(y,h){return(r=t(y,h))===0?y.safeI-h.safeI:r}),l=0;l<x;l++)delete e[l].safeI},syncTimeout:function(e,t,r){return t>0?setTimeout(e,t,r):(e.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:s,useSerialIds:function(e){return H=A(e,H)},wrap:function(e,t,r){let l=e[t];e[t]=function(){let x=arguments,y=this;return r.apply(this,[function(){return l.apply(y,arguments.length?arguments:x)}].concat([].slice.call(arguments)))}}}}),it(k,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),it(k,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),it(k,"Core/Time.js",[k["Core/Globals.js"],k["Core/Utilities.js"]],function(E,H){let{win:J}=E,{defined:nt,error:st,extend:lt,isNumber:ct,isObject:K,merge:q,objectEach:$,pad:S,pick:B,splat:R,timeUnits:L}=H,f=E.isSafari&&J.Intl&&J.Intl.DateTimeFormat.prototype.formatRange,w=E.isSafari&&J.Intl&&!J.Intl.DateTimeFormat.prototype.formatRange;class M{constructor(c){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=J.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(c)}get(c,b){if(this.variableTimezone||this.timezoneOffset){let F=b.getTime(),I=F-this.getTimezoneOffset(b);b.setTime(I);let C=b["getUTC"+c]();return b.setTime(F),C}return this.useUTC?b["getUTC"+c]():b["get"+c]()}set(c,b,F){if(this.variableTimezone||this.timezoneOffset){if(c==="Milliseconds"||c==="Seconds"||c==="Minutes"&&this.getTimezoneOffset(b)%36e5==0)return b["setUTC"+c](F);let I=this.getTimezoneOffset(b),C=b.getTime()-I;b.setTime(C),b["setUTC"+c](F);let o=this.getTimezoneOffset(b);return C=b.getTime()+o,b.setTime(C)}return this.useUTC||f&&c==="FullYear"?b["setUTC"+c](F):b["set"+c](F)}update(c={}){let b=B(c.useUTC,!0);this.options=c=q(!0,this.options,c),this.Date=c.Date||J.Date||Date,this.useUTC=b,this.timezoneOffset=b&&c.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=b&&!!(c.getTimezoneOffset||c.timezone)}makeTime(c,b,F,I,C,o){let u,s,e;return this.useUTC?(u=this.Date.UTC.apply(0,arguments),s=this.getTimezoneOffset(u),u+=s,s!==(e=this.getTimezoneOffset(u))?u+=e-s:s-36e5!==this.getTimezoneOffset(u-36e5)||w||(u-=36e5)):u=new this.Date(c,b,B(F,1),B(I,0),B(C,0),B(o,0)).getTime(),u}timezoneOffsetFunction(){let c=this,b=this.options,F=b.getTimezoneOffset;return this.useUTC?b.timezone?I=>{try{let C=`shortOffset,${b.timezone||""}`,[o,u,s,e,t=0]=(M.formatCache[C]=M.formatCache[C]||Intl.DateTimeFormat("en",{timeZone:b.timezone,timeZoneName:"shortOffset"})).format(I).split(/(GMT|:)/).map(Number),r=-(36e5*(s+t/60));if(ct(r))return r}catch{st(34)}return 0}:this.useUTC&&F?I=>6e4*F(I.valueOf()):()=>6e4*(c.timezoneOffset||0):I=>6e4*new Date(I.toString()).getTimezoneOffset()}dateFormat(c,b,F){if(!nt(b)||isNaN(b))return E.defaultOptions.lang&&E.defaultOptions.lang.invali
2dDate||"";c=B(c,"%Y-%m-%d %H:%M:%S");let I=this,C=new this.Date(b),o=this.get("Hours",C),u=this.get("Day",C),s=this.get("Date",C),e=this.get("Month",C),t=this.get("FullYear",C),r=E.defaultOptions.lang,l=r&&r.weekdays,x=r&&r.shortWeekdays;return $(lt({a:x?x[u]:l[u].substr(0,3),A:l[u],d:S(s),e:S(s,2," "),w:u,b:r.shortMonths[e],B:r.months[e],m:S(e+1),o:e+1,y:t.toString().substr(2,2),Y:t,H:S(o),k:o,I:S(o%12||12),l:o%12||12,M:S(this.get("Minutes",C)),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:S(this.get("Seconds",C)),L:S(Math.floor(b%1e3),3)},E.dateFormats),function(y,h){for(;c.indexOf("%"+h)!==-1;)c=c.replace("%"+h,typeof y=="function"?y.call(I,b):y)}),F?c.substr(0,1).toUpperCase()+c.substr(1):c}resolveDTLFormat(c){return K(c,!0)?c:{main:(c=R(c))[0],from:c[1],to:c[2]}}getTimeTicks(c,b,F,I){let C,o,u,s,e=this,t=e.Date,r=[],l={},x=new t(b),y=c.unitRange,h=c.count||1;if(I=B(I,1),nt(b)){e.set("Milliseconds",x,y>=L.second?0:h*Math.floor(e.get("Milliseconds",x)/h)),y>=L.second&&e.set("Seconds",x,y>=L.minute?0:h*Math.floor(e.get("Seconds",x)/h)),y>=L.minute&&e.set("Minutes",x,y>=L.hour?0:h*Math.floor(e.get("Minutes",x)/h)),y>=L.hour&&e.set("Hours",x,y>=L.day?0:h*Math.floor(e.get("Hours",x)/h)),y>=L.day&&e.set("Date",x,y>=L.month?1:Math.max(1,h*Math.floor(e.get("Date",x)/h))),y>=L.month&&(e.set("Month",x,y>=L.year?0:h*Math.floor(e.get("Month",x)/h)),o=e.get("FullYear",x)),y>=L.year&&(o-=o%h,e.set("FullYear",x,o)),y===L.week&&(s=e.get("Day",x),e.set("Date",x,e.get("Date",x)-s+I+(s<I?-7:0))),o=e.get("FullYear",x);let P=e.get("Month",x),U=e.get("Date",x),m=e.get("Hours",x);b=x.getTime(),(e.variableTimezone||!e.useUTC)&&nt(F)&&(u=F-b>4*L.month||e.getTimezoneOffset(b)!==e.getTimezoneOffset(F));let O=x.getTime();for(C=1;O<F;)r.push(O),y===L.year?O=e.makeTime(o+C*h,0):y===L.month?O=e.makeTime(o,P+C*h):u&&(y===L.day||y===L.week)?O=e.makeTime(o,P,U+C*h*(y===L.day?1:7)):u&&y===L.hour&&h>
21?O=e.makeTime(o,P,U,m+C*h):O+=y*h,C++;r.push(O),y<=L.hour&&r.length<1e4&&r.forEach(function(_){_%18e5==0&&e.dateFormat("%H%M%S%L",_)==="000000000"&&(l[_]="day")})}return r.info=lt(c,{higherRanks:l,totalRange:y*h}),r}getDateFormat(c,b,F,I){let C=this.dateFormat("%m-%d %H:%M:%S.%L",b),o="01-01 00:00:00.000",u={millisecond:15,second:12,minute:9,hour:6,day:3},s="millisecond",e=s;for(s in L){if(c===L.week&&+this.dateFormat("%w",b)===F&&C.substr(6)===o.substr(6)){s="week";break}if(L[s]>c){s=e;break}if(u[s]&&C.substr(u[s])!==o.substr(u[s]))break;s!=="week"&&(e=s)}return this.resolveDTLFormat(I[s]).main}}return M.formatCache={},M}),it(k,"Core/Defaults.js",[k["Core/Chart/ChartDefaults.js"],k["Core/Globals.js"],k["Core/Color/Palettes.js"],k["Core/Time.js"],k["Core/Utilities.js"]],function(E,H,J,nt,st){let{isTouchDevice:lt}=H,{fireEvent:ct,merge:K}=st,q={colors:J.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:E,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:S=>Math.sqrt(1-Math.pow(S-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:lt?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25CF</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};q.chart.styledMode=!1;let $=new nt(q.time);return{defaultOptions:q,defaultTime:$,getOptions:function(){return q},setOptions:function(S){return ct(H,"setOptions",{options:S}),K(!0,q,S),(S.time||S.global)&&(H.time?H.time.update(K(q.global,q.time,S.global,S.time)):H.time=$),q}}}
2),it(k,"Core/Color/Color.js",[k["Core/Globals.js"],k["Core/Utilities.js"]],function(E,H){let{isNumber:J,merge:nt,pInt:st}=H;class lt{static parse(K){return K?new lt(K):lt.None}constructor(K){let q,$,S,B;this.rgba=[NaN,NaN,NaN,NaN],this.input=K;let R=E.Color;if(R&&R!==lt)return new R(K);if(typeof K=="object"&&K.stops!==void 0)this.stops=K.stops.map(L=>new lt(L[1]));else if(typeof K=="string"){if(this.input=K=lt.names[K.toLowerCase()]||K,K.charAt(0)==="#"){let L=K.length,f=parseInt(K.substr(1),16);L===7?$=[(16711680&f)>>16,(65280&f)>>8,255&f,1]:L===4&&($=[(3840&f)>>4|(3840&f)>>8,(240&f)>>4|240&f,(15&f)<<4|15&f,1])}if(!$)for(S=lt.parsers.length;S--&&!$;)(q=(B=lt.parsers[S]).regex.exec(K))&&($=B.parse(q))}$&&(this.rgba=$)}get(K){let q=this.input,$=this.rgba;if(typeof q=="object"&&this.stops!==void 0){let S=nt(q);return S.stops=[].slice.call(S.stops),this.stops.forEach((B,R)=>{S.stops[R]=[S.stops[R][0],B.get(K)]}),S}return $&&J($[0])?K!=="rgb"&&(K||$[3]!==1)?K==="a"?`${$[3]}`:"rgba("+$.join(",")+")":"rgb("+$[0]+","+$[1]+","+$[2]+")":q}brighten(K){let q=this.rgba;if(this.stops)this.stops.forEach(function($){$.brighten(K)});else if(J(K)&&K!==0)for(let $=0;$<3;$++)q[$]+=st(255*K),q[$]<0&&(q[$]=0),q[$]>255&&(q[$]=255);return this}setOpacity(K){return this.rgba[3]=K,this}tweenTo(K,q){let $=this.rgba,S=K.rgba;if(!J($[0])||!J(S[0]))return K.input||"none";let B=S[3]!==1||$[3]!==1;return(B?"rgba(":"rgb(")+Math.round(S[0]+($[0]-S[0])*(1-q))+","+Math.round(S[1]+($[1]-S[1])*(1-q))+","+Math.round(S[2]+($[2]-S[2])*(1-q))+(B?","+(S[3]+($[3]-S[3])*(1-q)):"")+")"}}return lt.names={white:"#ffffff",black:"#000000"},lt.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(ct){return[st(ct[1]),st(ct[2]),st(ct[3]),parseFloat(ct[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(ct){return[st(ct[1]),st(ct[2]),st(ct[3]),1]}}],lt.None=new lt(""),lt}),it(k,"Core/Animation/Fx.js",[k["Core/Color/Color.js"],k["Core/Globals.js"],k["Core/Utilities.js"]],function(E,H,J){let{parse:nt}=E,{win:st}=H,{isNumber:lt,objectEach:ct}=J;class K{constructor($,S,B){this.pos=NaN,this.options=S,this.elem=$,this.prop=B}dSetter(){let $=this.paths,S=$&&$[0],B=$&&$[1],R=this.now||0,L=[];if(R!==1&&S&&B)if(S.length===B.length&&R<1)for(let f=0;f<B.length;f++){let w=S[f],M=B[f],A=[];for(let c=0;c<M.length;c++){let b=w[c],F=M[c];lt(b)&<(F)&&!(M[0]==="A"&&(c===4||c===5))?A[c]=b+R*(F-b):A[c]=F}L.push(A)}else L=B;else L=this.toD||[];this.elem.attr("d",L,void 0,!0)}update(){let $=this.elem,S=this.prop,B=this.now,R=this.options.step;this[S+"Setter"]?this[S+"Setter"]():$.attr?$.element&&$.attr(S,B,null,!0):$.style[S]=B+this.unit,R&&R.call($,B,this)}run($,S,B){let R=this,L=R.options,f=function(A){return!f.stopped&&R.step(A)},w=st.requestAnimationFrame||function(A){setTimeout(A,13)},M=function(){for(let A=0;A<K.timers.length;A++)K.timers[A]()||K.timers.splice(A--,1);K.timers.length&&w(M)};$!==S||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=$,this.end=S,this.unit=B,this.now=this.start,this.pos=0,f.elem=this.elem,f.prop=this.prop,f()&&K.timers.push(f)===1&&w(M)):(delete L.curAnim[this.prop],L.complete&&Object.keys(L.curAnim).length===0&&L.complete.call(this.elem))}step($){let S,B,R=+new Date,L=this.options,f=this.elem,w=L.complete,M=L.duration,A=L.curAnim;return f.attr&&!f.element?S=!1:$||R>=M+this.startTime?(this.now=this.end,this.pos=1,this.update(),A[this.prop]=!0,B=!0,ct(A,function(c){c!==!0&&(B=!1)}),B&&w&&w.call(f),S=!1):(this.pos=L.easing((R-this.startTime)/M),this.now=this.start+(this.end-this.start)*this.pos,this.update(),S=!0),S}initPath($,S,B){let R=$.startX,L=$.endX,f=B.slice(),w=$.isArea,M=w?2:1,A=S&&B.length>S.length&&B.hasStackedCliffs,c,b,F,I,C=S&&S.slice();if(!C||A)return[f,f];function o(s,e){for(;s.length<b;){let t=s[0],r=e[b-s.length];if(r&&t[0]==="M"&&(r[0]==="C"?s[0]=["C",t[1],t[2],t[1],t[2],t[1],t[2]]:s[0]=["L",t[1],t[2]]),s.unshift(t),w){let l=s.pop();s.push(s[s.length-1],l)}}}function u(s){for(;s.length<b;){let e=s[Math.floor(s.length/M)-1].slice();if(e[0]==="C"&&(e[1]=e[5],e[2]=e[6]),w){let t=s[Math.floor(s.length/M)].slice();s.splice(s.length/2,0,e,t)}else s.push(e)}}if(R&&L&&L.length){for(F=0;F<R.length;F++){if(R[F]===L[0]){c=F;break}if(R[0]===L[L.length-R.length+F]){c=F,I=!0;break}if(R[R.length-1]===L[L.length-R.length+F]){c=R.length-F;break}}c===void 0&&(C=[])}return C.length&<(c)&&(b=f.length+c*M,I?(o(C,f),u(f)):(o(f,C),u(C))),[C,f]}fillSetter(){K.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,nt(this.start).tweenTo(nt(this.end),this.pos),void 0,!0)}}return K.timers=[],K}),it(k,"Core/Animation/AnimationUtilities.js",[k["Core/Animation/Fx.js"],k["Core/Utilities.js"]],function(E,H){let{defined:J,getStyle:nt,isArray:st,isNumber:lt,isObject:ct,merge:K,objectEach:q,pick:$}=H;function S(R){return ct(R)?K({duration:500,defer:0},R):{duration:R?500:0,defer:0}}function B(R,L){let f=E.timers.length;for(;f--;)E.timers[f].elem!==R||L&&L!==E.timers[f].prop||(E.timers[f].stopped=!0)}return{animate:function(R,L,f){let w,M="",A,c,b;ct(f)||(b=arguments,f={duration:b[2],easing:b[3],complete:b[4]}),lt(f.duration)||(f.duration=400),f.easing=typeof f.easing=="function"?f.easing:Math[f.easing]||Math.easeInOutSine,f.curAnim=K(L),q(L,function(F,I){B(R,I),c=new E(R,f,I),A=void 0,I==="d"&&st(L.d)?(c.paths=c.initPath(R,R.pathArray,L.d),c.toD=L.d,w=0,A=1):R.attr?w=R.attr(I):(w=parseFloat(nt(R,I))||0,I!=="opacity"&&(M="px")),A||(A=F),typeof A=="string"&&A.match("px")&&(A=A.replace(/px/g,"")),c.run(w,A,M)})},animObject:S,getDeferredAnimation:function(R,L,f){let w=S(L),M=f?[f]:R.series,A=0,c=0;return M.forEach(b=>{let F=S(b.options.animation);A=ct(L)&&J(L.defer)?w.defer:Math.max(A,F.duration+F.defer),c=Math.min(w.duration,F.duration)}),R.renderer.forExport&&(A=0),{defer:Math.max(0,A-c),duration:Math.min(A,c)}},setAnimation:function(R,L){L.renderer.globalAnimation=$(R,L.options.chart.animation,!0)},stop:B}}),it(k,"Core/Renderer/HTML/AST.js",[k["Core/Globals.js"],k["Core/Utilities.js"]],function(E,H){let{SVG_NS:J,win:nt}=E,{attr:st,createElement:lt,css:ct,error:K,isFunction:q,isString:$,objectEach:S,splat:B}=H,{trustedTypes:R}=nt,L=R&&q(R.createPolicy)&&R.createPolicy("highcharts",{createHTML:A=>A}),f=L?L.createHTML(""):"",w=function(){try{return!!new DOMParser().parseFromString(f,"text/html")}catch{return!1}}();class M{static filterUserAttributes(c){return S(c,(b,F)=>{let I=!0;M.allowedAttributes.indexOf(F)===-1&&(I=!1),["background","dynsrc","href","lowsrc","src"].indexOf(F)!==-1&&(I=$(b)&&M.allowedReferences.some(C=>b.indexOf(C)===0)),I||(K(33,!1,void 0,{"Invalid attribute in config":`${F}`}),delete c[F]),$(b)&&c[F]&&(c[F]=b.replace(/</g,"<"))}),c}static parseStyle(c){return c.split(";").reduce((b,F)=>{let I=F.split(":").map(o=>o.trim()),C=I.shift();return C&&I.length&&(b[C.replace(/-([a-z])/g,o=>o[1].toUpperCase())]=I.join(":")),b},{})}static setElementHTML(c,b){c.innerHTML=M.emptyHTML,b&&new M(b).addToDOM(c)}constructor(c){this.nodes=typeof c=="string"?this.parseMarkup(c):c}addToDOM(c){return function b(F,I){let C;
2return B(F).forEach(function(o){let u,s=o.tagName,e=o.textContent?E.doc.createTextNode(o.textContent):void 0,t=M.bypassHTMLFiltering;if(s)if(s==="#text")u=e;else if(M.allowedTags.indexOf(s)!==-1||t){let r=s==="svg"?J:I.namespaceURI||J,l=E.doc.createElementNS(r,s),x=o.attributes||{};S(o,function(y,h){h!=="tagName"&&h!=="attributes"&&h!=="children"&&h!=="style"&&h!=="textContent"&&(x[h]=y)}),st(l,t?x:M.filterUserAttributes(x)),o.style&&ct(l,o.style),e&&l.appendChild(e),b(o.children||[],l),u=l}else K(33,!1,void 0,{"Invalid tagName in config":s});u&&I.appendChild(u),C=u}),C}(this.nodes,c)}parseMarkup(c){let b,F=[];if(c=c.trim().replace(/ style=(["'])/g," data-style=$1"),w)b=new DOMParser().parseFromString(L?L.createHTML(c):c,"text/html");else{let C=lt("div");C.innerHTML=c,b={body:C}}let I=(C,o)=>{let u=C.nodeName.toLowerCase(),s={tagName:u};u==="#text"&&(s.textContent=C.textContent||"");let e=C.attributes;if(e){let t={};[].forEach.call(e,r=>{r.name==="data-style"?s.style=M.parseStyle(r.value):t[r.name]=r.value}),s.attributes=t}if(C.childNodes.length){let t=[];[].forEach.call(C.childNodes,r=>{I(r,t)}),t.length&&(s.children=t)}o.push(s)};return[].forEach.call(b.body.childNodes,C=>I(C,F)),F}}return M.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"],M.allowedReferences=["https://","http://","mailto:","/","../","./","#"],M.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"],M.emptyHTML=f,M.bypassHTMLFiltering=!1,M}),it(k,"Core/Templating.js",[k["Core/Defaults.js"],k["Core/Utilities.js"]],function(E,H){let{defaultOptions:J,defaultTime:nt}=E,{extend:st,getNestedProperty:lt,isArray:ct,isNumber:K,isObject:q,pick:$,pInt:S}=H,B={add:(f,w)=>f+w,divide:(f,w)=>w!==0?f/w:"",eq:(f,w)=>f==w,each:function(f){let w=arguments[arguments.length-1];return!!ct(f)&&f.map((M,A)=>R(w.body,st(q(M)?M:{"@this":M},{"@index":A,"@first":A===0,"@last":A===f.length-1}))).join("")},ge:(f,w)=>f>=w,gt:(f,w)=>f>w,if:f=>!!f,le:(f,w)=>f<=w,lt:(f,w)=>f<w,multiply:(f,w)=>f*w,ne:(f,w)=>f!=w,subtract:(f,w)=>f-w,unless:f=>!f};function R(f="",w,M){let A=/\{([\w\:\.\,;\-\/<>%@"'â= #\(\)]+)\}/g,c=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,b=[],F=/f$/,I=/\.(\d)/,C=J.lang,o=M&&M.time||nt,u=M&&M.numberFormatter||L,s=(x="")=>{let y;return x==="true"||x!=="false"&&((y=Number(x)).toString()===x?y:lt(x,w))},e,t,r=0,l;for(;(e=A.exec(f))!==null;){let x=c.exec(e[1]);x&&(e=x,l=!0),t&&t.isBlock||(t={ctx:w,expression:e[1],find:e[0],isBlock:e[1].charAt(0)==="#",start:e.index,startInner:e.index+e[0].length,length:e[0].length});let y=e[1].split(" ")[0].replace("#","");B[y]&&(t.isBlock&&y===t.fn&&r++,t.fn||(t.fn=y));let h=e[1]==="else";if(t.isBlock&&t.fn&&(e[1]===`/${t.fn}`||h))if(r)!h&&r--;else{let P=t.startInner,U=f.substr(P,e.index-P);t.body===void 0?(t.body=U,t.startInner=e.index+e[0].length):t.elseBody=U,t.find+=U+e[0],h||(b.push(t),t=void 0)}else t.isBlock||b.push(t);if(x&&!t?.isBlock)break}return b.forEach(x=>{let y,h,{body:P,elseBody:U,expression:m,fn:O}=x;if(O){let _=[x],W=m.split(" ");for(h=B[O].length;h--;)_.unshift(s(W[h+1]));y=B[O].apply(w,_),x.isBlock&&typeof y=="boolean"&&(y=R(y?P:U,w,M))}else{let _=m.split(":");if(y=s(_.shift()||""),_.length&&typeof y=="number"){let W=_.join(":");if(F.test(W)){let Z=parseInt((W.match(I)||["","-1"])[1],10);y!==null&&(y=u(y,Z,C.decimalPoint,W.indexOf(",")>-1?C.thousandsSep:""))}else y=o.dateFormat(W,y)}}f=f.replace(x.find,$(y,""))}),l?R(f,w,M):f}function L(f,w,M,A){let c,b;f=+f||0,w=+w;let F=J.lang,I=(f.toString().split(".")[1]||"").split("e")[0].length,C=f.toString().split("e"),o=w;w===-1?w=Math.min(I,20):K(w)?w&&C[1]&&C[1]<0&&((b=w+ +C[1])>=0?(C[0]=(+C[0]).toExponential(b).split("e")[0],w=b):(C[0]=C[0].split(".")[0]||0,f=w<20?(C[0]*Math.pow(10,C[1])).toFixed(w):0,C[1]=0)):w=2;let u=(Math.abs(C[1]?C[0]:f)+Math.pow(10,-Math.max(w,I)-1)).toFixed(w),s=String(S(u)),e=s.length>3?s.length%3:0;return M=$(M,F.decimalPoint),A=$(A,F.thousandsSep),c=(f<0?"-":"")+(e?s.substr(0,e)+A:""),0>+C[1]&&!o?c="0":c+=s.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+A),w?c+=M+u.slice(-w):+c==0&&(c="0"),C[1]&&+c!=0&&(c+="e"+C[1]),c}return{dateFormat:function(f,w,M){return nt.dateFormat(f,w,M)},format:R,helpers:B,numberFormat:L}}),it(k,"Core/Renderer/RendererRegistry.js",[k["Core/Globals.js"]],function(E){var H,J;let nt;return(J=H||(H={})).rendererTypes={},J.getRendererType=function(st=nt){return J.rendererTypes[st]||J.rendererTypes[nt]},J.registerRendererType=function(st,lt,ct){J.rendererTypes[st]=lt,(!nt||ct)&&(nt=st,E.Renderer=lt)},H}),it(k,"Core/Renderer/RendererUtilities.js",[k["Core/Utilities.js"]],function(E){var H;let{clamp:J,pick:nt,pushUnique:st,stableSort:lt}=E;return(H||(H={})).distribute=function ct(K,q,$){let S=K,B=S.reducedLen||q,R=(s,e)=>s.target-e.target,L=[],f=K.length,w=[],M=L.push,A,c,b,F=!0,I,C,o=0,u;for(A=f;A--;)o+=K[A].size;if(o>B){for(lt(K,(s,e)=>(e.rank||0)-(s.rank||0)),b=(u=K[0].rank===K[K.length-1].rank)?f/2:-1,c=u?b:f-1;b&&o>B;
vendor: 33,836 bytes, line 2
2)I=K[A=Math.floor(c)],st(w,A)&&(o-=I.size),c+=b,u&&c>=K.length&&(b/=2,c=b);w.sort((s,e)=>e-s).forEach(s=>M.apply(L,K.splice(s,1)))}for(lt(K,R),K=K.map(s=>({size:s.size,targets:[s.target],align:nt(s.align,.5)}));F;){for(A=K.length;A--;)I=K[A],C=(Math.min.apply(0,I.targets)+Math.max.apply(0,I.targets))/2,I.pos=J(C-I.size*I.align,0,q-I.size);for(A=K.length,F=!1;A--;)A>0&&K[A-1].pos+K[A-1].size>K[A].pos&&(K[A-1].size+=K[A].size,K[A-1].targets=K[A-1].targets.concat(K[A].targets),K[A-1].align=.5,K[A-1].pos+K[A-1].size>q&&(K[A-1].pos=q-K[A-1].size),K.splice(A,1),F=!0)}return M.apply(S,L),A=0,K.some(s=>{let e=0;return(s.targets||[]).some(()=>(S[A].pos=s.pos+e,$!==void 0&&Math.abs(S[A].pos-S[A].target)>$?(S.slice(0,A+1).forEach(t=>delete t.pos),S.reducedLen=(S.reducedLen||q)-.1*q,S.reducedLen>.1*q&&ct(S,q,$),!0):(e+=S[A].size,A++,!1)))}),lt(S,R),S},H}),it(k,"Core/Renderer/SVG/SVGElement.js",[k["Core/Animation/AnimationUtilities.js"],k["Core/Color/Color.js"],k["Core/Globals.js"],k["Core/Utilities.js"]],function(E,H,J,nt){let{animate:st,animObject:lt,stop:ct}=E,{deg2rad:K,doc:q,svg:$,SVG_NS:S,win:B}=J,{addEvent:R,attr:L,createElement:f,crisp:w,css:M,defined:A,erase:c,extend:b,fireEvent:F,isArray:I,isFunction:C,isObject:o,isString:u,merge:s,objectEach:e,pick:t,pInt:r,pushUnique:l,replaceNested:x,syncTimeout:y,uniqueKey:h}=nt;class P{_defaultGetter(m){let O=t(this[m+"Value"],this[m],this.element?this.element.getAttribute(m):null,0);return/^-?[\d\.]+$/.test(O)&&(O=parseFloat(O)),O}_defaultSetter(m,O,_){_.setAttribute(O,m)}add(m){let O,_=this.renderer,W=this.element;return m&&(this.parentGroup=m),this.textStr!==void 0&&this.element.nodeName==="text"&&_.buildText(this),this.added=!0,(!m||m.handleZ||this.zIndex)&&(O=this.zIndexSetter()),O||(m?m.element:_.box).appendChild(W),this.onAdd&&this.onAdd(),this}addClass(m,O){let _=O?"":this.attr("class")||"";return(m=(m||"").split(/ /g).reduce(function(W,Z){return _.indexOf(Z)===-1&&W.push(Z),W},_?[_]:[]).join(" "))!==_&&this.attr("class",m),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(m,O,_,W=!0){let Z,n,a,d,j={},i=this.renderer,g=i.alignedObjects,p=!!m;m?(this.alignOptions=m,this.alignByTranslate=O,this.alignTo=_):(m=this.alignOptions||{},O=this.alignByTranslate,_=this.alignTo);let T=!_||u(_)?_||"renderer":void 0;T&&(p&&l(g,this),_=void 0);let v=t(_,i[T],i),N=m.align,Y=m.verticalAlign;return Z=(v.x||0)+(m.x||0),n=(v.y||0)+(m.y||0),N==="right"?a=1:N==="center"&&(a=2),a&&(Z+=((v.width||0)-(m.width||0))/a),j[O?"translateX":"x"]=Math.round(Z),Y==="bottom"?d=1:Y==="middle"&&(d=2),d&&(n+=((v.height||0)-(m.height||0))/d),j[O?"translateY":"y"]=Math.round(n),W&&(this[this.placed?"animate":"attr"](j),this.placed=!0),this.alignAttr=j,this}alignSetter(m){let O={left:"start",center:"middle",right:"end"};O[m]&&(this.alignValue=m,this.element.setAttribute("text-anchor",O[m]))}animate(m,O,_){let W=lt(t(O,this.renderer.globalAnimation,!0)),Z=W.defer;return q.hidden&&(W.duration=0),W.duration!==0?(_&&(W.complete=_),y(()=>{this.element&&st(this,m,W)},Z)):(this.attr(m,void 0,_||W.complete),e(m,function(n,a){W.step&&W.step.call(this,n,{prop:a,pos:1,elem:this})},this)),this}applyTextOutline(m){let O=this.element;m.indexOf("contrast")!==-1&&(m=m.replace(/contrast/g,this.renderer.getContrast(O.style.fill)));let _=m.split(" "),W=_[_.length-1],Z=_[0];if(Z&&Z!=="none"&&J.svg){this.fakeTS=!0,Z=Z.replace(/(^[\d\.]+)(.*?)$/g,function(i,g,p){return 2*Number(g)+p}),this.removeTextOutline();let n=q.createElementNS(S,"tspan");L(n,{class:"highcharts-text-outline",fill:W,stroke:W,"stroke-width":Z,"stroke-linejoin":"round"});let a=O.querySelector("textPath")||O;[].forEach.call(a.childNodes,i=>{let g=i.cloneNode(!0);g.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(p=>g.removeAttribute(p)),n.appendChild(g)});let d=0;[].forEach.call(a.querySelectorAll("text tspan"),i=>{d+=Number(i.getAttribute("dy"))});let j=q.createElementNS(S,"tspan");j.textContent="\u200B",L(j,{x:Number(O.getAttribute("x")),dy:-d}),n.appendChild(j),a.insertBefore(n,a.firstChild)}}attr(m,O,_,W){let{element:Z}=this,n=P.symbolCustomAttribs,a,d,j=this,i;return typeof m=="string"&&O!==void 0&&(a=m,(m={})[a]=O),typeof m=="string"?j=(this[m+"Getter"]||this._defaultGetter).call(this,m,Z):(e(m,function(g,p){i=!1,W||ct(this,p),this.symbolName&&n.indexOf(p)!==-1&&(d||(this.symbolAttr(m),d=!0),i=!0),this.rotation&&(p==="x"||p==="y")&&(this.doTransform=!0),i||(this[p+"Setter"]||this._defaultSetter).call(this,g,p,Z)},this),this.afterSetters()),_&&_.call(this),j}clip(m){if(m&&!m.clipPath){let O=h()+"-",_=this.renderer.createElement("clipPath").attr({id:O}).add(this.renderer.defs);b(m,{clipPath:_,id:O,count:0}),m.add(_)}return this.attr("clip-path",m?`url(${this.renderer.url}#${m.id})`:"none")}crisp(m,O){O=Math.round(O||m.strokeWidth||0);let _=m.x||this.x||0,W=m.y||this.y||0,Z=(m.width||this.width||0)+_,n=(m.height||this.height||0)+W,a=w(_,O),d=w(W,O);return b(m,{x:a,y:d,width:w(Z,O)-a,height:w(n,O)-d}),A(m.strokeWidth)&&(m.strokeWidth=O),m}complexColor(m,O,_){let W=this.renderer,Z,n,a,d,j,i,g,p,T,v,N=[],Y;F(this.renderer,"complexColor",{args:arguments},function(){if(m.radialGradient?n="radialGradient":m.linearGradient&&(n="linearGradient"),n){if(a=m[n],j=W.gradients,i=m.stops,T=_.radialReference,I(a)&&(m[n]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),n==="radialGradient"&&T&&!A(a.gradientUnits)&&(d=a,a=s(a,W.getRadialAttr(T,d),{gradientUnits:"userSpaceOnUse"})),e(a,function(V,Q){Q!=="id"&&N.push(Q,V)}),e(i,function(V){N.push(V)}),j[N=N.join(",")])v=j[N].attr("id");else{a.id=v=h();let V=j[N]=W.createElement(n).attr(a).add(W.defs);V.radAttr=d,V.stops=[],i.forEach(function(Q){Q[1].indexOf("rgba")===0?(g=(Z=H.parse(Q[1])).get("rgb"),p=Z.get("a")):(g=Q[1],p=1);let at=W.createElement("stop").attr({offset:Q[0],"stop-color":g,"stop-opacity":p}).add(V);V.stops.push(at)})}Y="url("+W.url+"#"+v+")",_.setAttribute(O,Y),_.gradient=N,m.toString=function(){return Y}}})}css(m){let O=this.styles,_={},W=this.element,Z,n=!O;if(O&&e(m,function(a,d){O&&O[d]!==a&&(_[d]=a,n=!0)}),n){O&&(m=b(O,_)),m.width===null||m.width==="auto"?delete this.textWidth:W.nodeName.toLowerCase()==="text"&&m.width&&(Z=this.textWidth=r(m.width)),b(this.styles,m),Z&&!$&&this.renderer.forExport&&delete m.width;let a=s(m);W.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(d=>a&&delete a[d]),a.color&&(a.fill=a.color)),M(W,a)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),m.textOutline&&this.applyTextOutline(m.textOutline)),this}dashstyleSetter(m){let O,_=this["stroke-width"];if(_==="inherit"&&(_=1),m=m&&m.toLowerCase()){let W=m.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(O=W.length;O--;)W[O]=""+r(W[O])*t(_,NaN);m=W.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",m)}}destroy(){let m=this,O=m.element||{},_=m.renderer,W=O.ownerSVGElement,Z=O.nodeName==="SPAN"&&m.parentGroup||void 0,n,a;if(O.onclick=O.onmouseout=O.onmouseover=O.onmousemove=O.point=null,ct(m),m.clipPath&&W){let d=m.clipPath;[].forEach.call(W.querySelectorAll("[clip-path],[CLIP-PATH]"),function(j){j.getAttribute("clip-path").indexOf(d.element.id)>-1&&j.removeAttribute("clip-path")}),m.clipPath=d.destroy()}if(m.connector=m.connector?.destroy(),m.stops){for(a=0;a<m.stops.length;a++)m.stops[a].destroy();m.stops.length=0,m.stops=void 0}for(m.safeRemoveChild(O);Z&&Z.div&&Z.div.childNodes.length===0;)n=Z.parentGroup,m.safeRemoveChild(Z.div),delete Z.div,Z=n;m.alignOptions&&c(_.alignedObjects,m),e(m,function(d,j){m[j]&&m[j].parentGroup===m&&m[j].destroy&&m[j].destroy(),delete m[j]})}dSetter(m,O,_){I(m)&&(typeof m[0]=="string"&&(m=this.renderer.pathToSegments(m)),this.pathArray=m,m=m.reduce((W,Z,n)=>Z&&Z.join?(n?W+" ":"")+Z.join(" "):(Z||"").toString(),"")),/(NaN| {2}|^$)/.test(m)&&(m="M 0 0"),this[O]!==m&&(_.setAttribute(O,m),this[O]=m)}fillSetter(m,O,_){typeof m=="string"?_.setAttribute(O,m):m&&this.complexColor(m,O,_)}hrefSetter(m,O,_){_.setAttributeNS("http://www.w3.org/1999/xlink",O,m)}getBBox(m,O){let _,W,Z,n,{alignValue:a,element:d,renderer:j,styles:i,textStr:g}=this,{cache:p,cacheKeys:T}=j,v=d.namespaceURI===this.SVG_NS,N=t(O,this.rotation,0),Y=j.styledMode?d&&P.prototype.getStyle.call(d,"font-size"):i.fontSize;if(A(g)&&((n=g.toString()).indexOf("<")===-1&&(n=n.replace(/\d/g,"0")),n+=["",j.rootFontSize,Y,N,this.textWidth,a,i.textOverflow,i.fontWeight].join(",")),n&&!m&&(_=p[n]),!_||_.polygon){if(v||j.forExport){try{Z=this.fakeTS&&function(Q){let at=d.querySelector(".highcharts-text-outline");at&&M(at,{display:Q})},C(Z)&&Z("none"),_=d.getBBox?b({},d.getBBox()):{width:d.offsetWidth,height:d.offsetHeight,x:0,y:0},C(Z)&&Z("")}catch{}(!_||_.width<0)&&(_={x:0,y:0,width:0,height:0})}else _=this.htmlGetBBox();W=_.height,v&&(_.height=W={"11px,17":14,"13px,20":16}[`${Y||""},${Math.round(W)}`]||W),N&&(_=this.getRotatedBox(_,N));let V={bBox:_};F(this,"afterGetBBox",V),_=V.bBox}if(n&&(g===""||_.height>0)){for(;T.length>250;)delete p[T.shift()];p[n]||T.push(n),p[n]=_}return _}getRotatedBox(m,O){let{x:_,y:W,width:Z,height:n}=m,{alignValue:a,translateY:d,rotationOriginX:j=0,rotationOriginY:i=0}=this,g={right:1,center:.5}[a||0]||0,p=Number(this.element.getAttribute("y")||0)-(d?0:W),T=O*K,v=(O-90)*K,N=Math.cos(T),Y=Math.sin(T),V=Z*N,Q=Z*Y,at=Math.cos(v),ht=Math.sin(v),[[z,D],[G,X]]=[j,i].map(Mt=>[Mt-Mt*N,Mt*Y]),tt=_+g*(Z-V)+z+X+p*at,et=tt+V,ot=et-n*at,rt=ot-V,dt=W+p-g*Q-D+G+p*ht,ut=dt+Q,gt=ut-n*ht,ft=gt-Q,mt=Math.min(tt,et,ot,rt),Ct=Math.min(dt,ut,gt,ft),yt=Math.max(tt,et,ot,rt)-mt,xt=Math.max(dt,ut,gt,ft)-Ct;return{x:mt,y:Ct,width:yt,height:xt,polygon:[[tt,dt],[et,ut],[ot,gt],[rt,ft]]}}getStyle(m){return B.getComputedStyle(this.element||this,"").getPropertyValue(m)}hasClass(m){return(""+this.attr("class")).split(" ").indexOf(m)!==-1}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(m,O){this.onEvents={},this.opacity=1,this.SVG_NS=S,this.element=O==="span"||O==="body"?f(O):q.createElementNS(this.SVG_NS,O),this.renderer=m,this.styles={},F(this,"afterInit")}on(m,O){let{onEvents:_}=this;return _[m]&&_[m](),_[m]=R(this.element,m,O),this}opacitySetter(m,O,_){let W=Number(Number(m).toFixed(3));this.opacity=W,_.setAttribute(O,W)}reAlign(){this.alignOptions?.width&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(m){return this.attr("class",(""+this.attr("class")).replace(u(m)?RegExp(`(^| )${m}( |$)`):m," ").replace(/ +/g," ").trim())}removeTextOutline(){let m=this.element.querySelector("tspan.highcharts-text-outline");m&&this.safeRemoveChild(m)}safeRemoveChild(m){let O=m.parentNode;O&&O.removeChild(m)}setRadialReference(m){let O=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=m,O&&O.radAttr&&O.animate(this.renderer.getRadialAttr(m,O.radAttr)),this}shadow(m){let{renderer:O}=this,_=s(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},o(m)?m:{}),W=O.shadowDefinition(_);return this.attr({filter:m?`url(${O.url}#${W})`:"none"})}show(m=!0){return this.attr({visibility:m?"inherit":"visible"})}"stroke-widthSetter"(m,O,_){this[O]=m,_.setAttribute(O,m)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let m=this.getStyle("stroke-width"),O=0,_;return/px$/.test(m)?O=r(m):m!==""&&(L(_=q.createElementNS(S,"rect"),{width:m,"stroke-width":0}),this.element.parentNode.appendChild(_),O=_.getBBox().width,_.parentNode.removeChild(_)),O}symbolAttr(m){let O=this;P.symbolCustomAttribs.forEach(function(_){O[_]=t(m[_],O[_])}),O.attr({d:O.renderer.symbols[O.symbolName](O.x,O.y,O.width,O.height,O)})}textSetter(m){m!==this.textStr&&(delete this.textPxLength,this.textStr=m,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(m){let O=this.element,_=O.getElementsByTagName("title")[0]||q.createElementNS(this.SVG_NS,"title");O.insertBefore?O.insertBefore(_,O.firstChild):O.appendChild(_),_.textContent=x(t(m,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let m=this.element;return m.parentNode.appendChild(m),this}translate(m,O){return this.attr({translateX:m,translateY:O})}updateTransform(m="transform"){let{element:O,matrix:_,rotation:W=0,rotationOriginX:Z,rotationOriginY:n,scaleX:a,scaleY:d,translateX:j=0,translateY:i=0}=this,g=["translate("+j+","+i+")"];A(_)&&g.push("matrix("+_.join(",")+")"),W&&(g.push("rotate("+W+" "+t(Z,O.getAttribute("x"),0)+" "+t(n,O.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:W,rotationOriginX:(Z||0)-this.padding,rotationOriginY:(n||0)-this.padding})),(A(a)||A(d))&&g.push("scale("+t(a,1)+" "+t(d,1)+")"),g.length&&!(this.text||this).textPath&&O.setAttribute(m,g.join(" "))}visibilitySetter(m,O,_){m==="inherit"?_.removeAttribute(O):this[O]!==m&&_.setAttribute(O,m),this[O]=m}xGetter(m){return this.element.nodeName==="circle"&&(m==="x"?m="cx":m==="y"&&(m="cy")),this._defaultGetter(m)}zIndexSetter(m,O){let _=this.renderer,W=this.parentGroup,Z=(W||_).element||_.box,n=this.element,a=Z===_.box,d,j,i,g=!1,p,T=this.added,v;if(A(m)?(n.setAttribute("data-z-index",m),m=+m,this[O]===m&&(T=!1)):A(this[O])&&n.removeAttribute("data-z-index"),this[O]=m,T){for((m=this.zIndex)&&W&&(W.handleZ=!0),v=(d=Z.childNodes).length-1;v>=0&&!g;v--)p=!A(i=(j=d[v]).getAttribute("data-z-index")),j!==n&&(m<0&&p&&!a&&!v?(Z.insertBefore(n,d[v]),g=!0):(r(i)<=m||p&&(!A(m)||m>=0))&&(Z.insertBefore(n,d[v+1]),g=!0));g||(Z.insertBefore(n,d[a?3:0]),g=!0)}return g}}return P.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],P.prototype.strokeSetter=P.prototype.fillSetter,P.prototype.yGetter=P.prototype.xGetter,P.prototype.matrixSetter=P.prototype.rotationOriginXSetter=P.prototype.rotationOriginYSetter=P.prototype.rotationSetter=P.prototype.scaleXSetter=P.prototype.scaleYSetter=P.prototype.translateXSetter=P.prototype.translateYSetter=P.prototype.verticalAlignSetter=function(U,m){this[m]=U,this.doTransform=!0},P}),it(k,"Core/Renderer/SVG/SVGLabel.js",[k["Core/Renderer/SVG/SVGElement.js"],k["Core/Utilities.js"]],function(E,H){let{defined:J,extend:nt,isNumber:st,merge:lt,pick:ct,removeEvent:K}=H;class q extends E{constructor(S,B,R,L,f,w,M,A,c,b){let F;super(S,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=B,this.x=R,this.y=L,this.anchorX=w,this.anchorY=M,this.baseline=c,this.className=b,this.addClass(b==="button"?"highcharts-no-tooltip":"highcharts-label"),b&&this.addClass("highcharts-"+b),this.text=S.text(void 0,0,0,A).attr({zIndex:1}),typeof f=="string"&&((F=/^url\((.*?)\)$/.test(f))||this.renderer.symbols[f])&&(this.symbolKey=f),this.bBox=q.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=S.styledMode||F,this.deferredAttr={},this.alignFactor=0}alignSetter(S){let B={left:0,center:.5,right:1}[S];B!==this.alignFactor&&(this.alignFactor=B,this.bBox&&st(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(S,B){this.anchorX=S,this.boxAttr(B,Math.round(S)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(S,B){this.anchorY=S,this.boxAttr(B,S-this.ySetting)}boxAttr(S,B){this.box?this.box.attr(S,B):this.deferredAttr[S]=B}css(S){if(S){let B={};S=lt(S),q.textProps.forEach(R=>{S[R]!==void 0&&(B[R]=S[R],delete S[R])}),this.text.css(B),"fontSize"in B||"fontWeight"in B?this.updateTextPadding():("width"in B||"textOverflow"in B)&&this.updateBoxSize()}return E.prototype.css.call(this,S)}destroy(){K(this.element,"mouseenter"),K(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),E.prototype.destroy.call(this)}fillSetter(S,B){S&&(this.needsBox=!0),this.fill=S,this.boxAttr(B,S)}getBBox(S,B){this.textStr&&this.bBox.width===0&&this.bBox.height===0&&this.updateBoxSize();let{padding:R,height:L=0,translateX:f=0,translateY:w=0,width:M=0}=this,A=ct(this.paddingLeft,R),c=B??(this.rotation||0),b={width:M,height:L,x:f+this.bBox.x-A,y:w+this.bBox.y-R+this.baselineOffset};return c&&(b=this.getRotatedBox(b,c)),b}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(S){this.heightSetting=S,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:ct(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&J(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(S,B){st(S)?S!==this[B]&&(this[B]=S,this.updateTextPadding()):this[B]=void 0}rSetter(S,B){this.boxAttr(B,S)}strokeSetter(S,B){this.stroke=S,this.boxAttr(B,S)}"stroke-widthSetter"(S,B){S&&(this.needsBox=!0),this["stroke-width"]=S,this.boxAttr(B,S)}"text-alignSetter"(S){this.textAlign=S}textSetter(S){S!==void 0&&this.text.attr({text:S}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let S,B=this.text,R={},L=this.padding,f=this.bBox=(!st(this.widthSetting)||!st(this.heightSetting)||this.textAlign)&&J(B.textStr)?B.getBBox(void 0,0):q.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||f.height||0)+2*L;let w=this.renderer.fontMetrics(B);if(this.baselineOffset=L+Math.min((this.text.firstLineMetrics||w).b,f.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-w.h)/2),this.needsBox&&!B.textPath){if(!this.box){let M=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();M.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),M.add(this)}S=this.getCrispAdjust(),R.x=S,R.y=(this.baseline?-this.baselineOffset:0)+S,R.width=Math.round(this.width),R.height=Math.round(this.height),this.box.attr(nt(R,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let S=this.text;if(!S.textPath){this.updateBoxSize();let B=this.baseline?0:this.baselineOffset,R=ct(this.paddingLeft,this.padding);J(this.widthSetting)&&this.bBox&&(this.textAlign==="center"||this.textAlign==="right")&&(R+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(R!==S.x||B!==S.y)&&(S.attr("x",R),S.hasBoxWidthChanged&&(this.bBox=S.getBBox(!0)),B!==void 0&&S.attr("y",B)),S.x=R,S.y=B}}widthSetter(S){this.widthSetting=st(S)?S:void 0,this.doUpdate=!0}getPaddedWidth(){let S=this.padding,B=ct(this.paddingLeft,S),R=ct(this.paddingRight,S);return(this.widthSetting||this.bBox.width||0)+B+R}xSetter(S){this.x=S,this.alignFactor&&(S-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(S),this.attr("translateX",this.xSetting)}ySetter(S){this.ySetting=this.y=Math.round(S),this.attr("translateY",this.ySetting)}}return q.emptyBBox={width:0,height:0,x:0,y:0},q.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],q}),it(k,"Core/Renderer/SVG/Symbols.js",[k["Core/Utilities.js"]],function(E){let{defined:H,isNumber:J,pick:nt}=E;function st(K,q,$,S,B){let R=[];if(B){let L=B.start||0,f=nt(B.r,$),w=nt(B.r,S||$),M=2e-4/(B.borderRadius?1:Math.max(f,1)),A=Math.abs((B.end||0)-L-2*Math.PI)<M,c=(B.end||0)-(A?M:0),b=B.innerR,F=nt(B.open,A),I=Math.cos(L),C=Math.sin(L),o=Math.cos(c),u=Math.sin(c),s=nt(B.longArc,c-L-Math.PI<M?0:1),e=["A",f,w,0,s,nt(B.clockwise,1),K+f*o,q+w*u];e.params={start:L,end:c,cx:K,cy:q},R.push(["M",K+f*I,q+w*C],e),H(b)&&((e=["A",b,b,0,s,H(B.clockwise)?1-B.clockwise:0,K+b*I,q+b*C]).params={start:c,end:L,cx:K,cy:q},R.push(F?["M",K+b*o,q+b*u]:["L",K+b*o,q+b*u],e)),F||R.push(["Z"])}return R}function lt(K,q,$,S,B){return B&&B.r?ct(K,q,$,S,B):[["M",K,q],["L",K+$,q],["L",K+$,q+S],["L",K,q+S],["Z"]]}function ct(K,q,$,S,B){let R=B?.r||0;return[["M",K+R,q],["L",K+$-R,q],["A",R,R,0,0,1,K+$,q+R],["L",K+$,q+S-R],["A",R,R,0,0,1,K+$-R,q+S],["L",K+R,q+S],["A",R,R,0,0,1,K,q+S-R],["L",K,q+R],["A",R,R,0,0,1,K+R,q],["Z"]]}return{arc:st,callout:function(K,q,$,S,B){let R=Math.min(B&&B.r||0,$,S),L=R+6,f=B&&B.anchorX,w=B&&B.anchorY||0,M=ct(K,q,$,S,{r:R});if(!J(f)||f<$&&f>0&&w<S&&w>0)return M;if(K+f>$-L)if(w>q+L&&w<q+S-L)M.splice(3,1,["L",K+$,w-6],["L",K+$+6,w],["L",K+$,w+6],["L",K+$,q+S-R]);else if(f<$){let A=w<q+L,c=A?q:q+S;M.splice(A?2:5,0,["L",f,w],["L",K+$-R,c])}else M.splice(3,1,["L",K+$,S/2],["L",f,w],["L",K+$,S/2],["L",K+$,q+S-R]);else if(K+f<L)if(w>q+L&&w<q+S-L)M.splice(7,1,["L",K,w+6],["L",K-6,w],["L",K,w-6],["L",K,q+R]);else if(f>0){let A=w<q+L,c=A?q:q+S;M.splice(A?1:6,0,["L",f,w],["L",K+R,c])}else M.splice(7,1,["L",K,S/2],["L",f,w],["L",K,S/2],["L",K,q+R]);else w>S&&f<$-L?M.splice(5,1,["L",f+6,q+S],["L",f,q+S+6],["L",f-6,q+S],["L",K+R,q+S]):w<0&&f>L&&M.splice(1,1,["L",f-6,q],["L",f,q-6],["L",f+6,q],["L",$-R,q]);return M},circle:function(K,q,$,S){return st(K+$/2,q+S/2,$/2,S/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(K,q,$,S){return[["M",K+$/2,q],["L",K+$,q+S/2],["L",K+$/2,q+S],["L",K,q+S/2],["Z"]]},rect:lt,roundedRect:ct,square:lt,triangle:function(K,q,$,S){return[["M",K+$/2,q],["L",K+$,q+S],["L",K,q+S],["Z"]]},"triangle-down":function(K,q,$,S){return[["M",K,q],["L",K+$,q],["L",K+$/2,q+S],["Z"]]}}}),it(k,"Core/Renderer/SVG/TextBuilder.js",[k["Core/Renderer/HTML/AST.js"],k["Core/Globals.js"],k["Core/Utilities.js"]],function(E,H,J){let{doc:nt,SVG_NS:st,win:lt}=H,{attr:ct,extend:K,fireEvent:q,isString:$,objectEach:S,pick:B}=J;return class{constructor(R){let L=R.styles;this.renderer=R.renderer,this.svgElement=R,this.width=R.textWidth,this.textLineHeight=L&&L.lineHeight,this.textOutline=L&&L.textOutline,this.ellipsis=!!(L&&L.textOverflow==="ellipsis"),this.noWrap=!!(L&&L.whiteSpace==="nowrap")}buildSVG(){let R=this.svgElement,L=R.element,f=R.renderer,w=B(R.textStr,"").toString(),M=w.indexOf("<")!==-1,A=L.childNodes,c=!R.added&&f.box,b=[w,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,R.getStyle("font-size"),this.width].join(",");if(b!==R.textCache){R.textCache=b,delete R.actualWidth;for(let F=A.length;F--;)L.removeChild(A[F]);if(M||this.ellipsis||this.width||R.textPath||w.indexOf(" ")!==-1&&(!this.noWrap||/<br.*?>/g.test(w))){if(w!==""){c&&c.appendChild(L);let F=new E(w);this.modifyTree(F.nodes),F.addToDOM(L),this.modifyDOM(),this.ellipsis&&(L.textContent||"").indexOf("\u2026")!==-1&&R.attr("title",this.unescapeEntities(R.textStr||"",["<",">"])),c&&c.removeChild(L)}}else L.appendChild(nt.createTextNode(this.unescapeEntities(w)));$(this.textOutline)&&R.applyTextOutline&&R.applyTextOutline(this.textOutline)}}modifyDOM(){let R,L=this.svgElement,f=ct(L.element,"x");for(L.firstLineMetrics=void 0;(R=L.element.firstChild)&&/^[\s\u200B]*$/.test(R.textContent||" ");)L.element.removeChild(R);[].forEach.call(L.element.querySelectorAll("tspan.highcharts-br"),(c,b)=>{c.nextSibling&&c.previousSibling&&(b===0&&c.previousSibling.nodeType===1&&(L.firstLineMetrics=L.renderer.fontMetrics(c.previousSibling)),ct(c,{dy:this.getLineHeight(c.nextSibling),x:f}))});let w=this.width||0;if(!w)return;let M=(c,b)=>{let F=c.textContent||"",I=F.replace(/([^\^])-/g,"$1- ").split(" "),C=!this.noWrap&&(I.length>1||L.element.childNodes.length>1),o=this.getLineHeight(b),u=0,s=L.actualWidth;if(this.ellipsis)F&&this.truncate(c,F,void 0,0,Math.max(0,w-.8*o),(e,t)=>e.substring(0,t)+"\u2026");else if(C){let e=[],t=[];for(;b.firstChild&&b.firstChild!==c;)t.push(b.firstChild),b.removeChild(b.firstChild);for(;I.length;)I.length&&!this.noWrap&&u>0&&(e.push(c.textContent||""),c.textContent=I.join(" ").replace(/- /g,"-")),this.truncate(c,void 0,I,u===0&&s||0,w,(r,l)=>I.slice(0,l).join(" ").replace(/- /g,"-")),s=L.actualWidth,u++;t.forEach(r=>{b.insertBefore(r,c)}),e.forEach(r=>{b.insertBefore(nt.createTextNode(r),c);let l=nt.createElementNS(st,"tspan");l.textContent="\u200B",ct(l,{dy:o,x:f}),b.insertBefore(l,c)})}},A=c=>{[].slice.call(c.childNodes).forEach(b=>{b.nodeType===lt.Node.TEXT_NODE?M(b,c):(b.className.baseVal.indexOf("highcharts-br")!==-1&&(L.actualWidth=0),A(b))})};A(L.element)}getLineHeight(R){let L=R.nodeType===lt.Node.TEXT_NODE?R.parentElement:R;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(L||this.svgElement.element).h}modifyTree(R){let L=(f,w)=>{let{attributes:M={},children:A,style:c={},tagName:b}=f,F=this.renderer.styledMode;if(b==="b"||b==="strong"?F?M.class="highcharts-strong":c.fontWeight="bold":(b==="i"||b==="em")&&(F?M.class="highcharts-emphasized":c.fontStyle="italic"),c&&c.color&&(c.fill=c.color),b==="br"){M.class="highcharts-br",f.textContent="\u200B";let I=R[w+1];I&&I.textContent&&(I.textContent=I.textContent.replace(/^ +/gm,""))}else b==="a"&&A&&A.some(I=>I.tagName==="#text")&&(f.children=[{children:A,tagName:"tspan"}]);b!=="#text"&&b!=="a"&&(f.tagName="tspan"),K(f,{attributes:M,style:c}),A&&A.filter(I=>I.tagName!=="#text").forEach(L)};R.forEach(L),q(this.svgElement,"afterModifyTree",{nodes:R})}truncate(R,L,f,w,M,A){let c,b,F=this.svgElement,{rotation:I}=F,C=[],o=f?1:0,u=(L||f||"").length,s=u,e=function(t,r){let l=r||t,x=R.parentNode;if(x&&C[l]===void 0&&x.getSubStringLength)try{C[l]=w+x.getSubStringLength(0,f?l+1:l)}catch{}return C[l]};if(F.rotation=0,w+(b=e(R.textContent.length))>M){for(;o<=u;)s=Math.ceil((o+u)/2),f&&(c=A(f,s)),b=e(s,c&&c.length-1),o===u?o=u+1:b>M?u=s-1:o=s;u===0?R.textContent="":L&&u===L.length-1||(R.textContent=c||A(L||f,s))}f&&f.splice(0,s),F.actualWidth=b,F.rotation=I}unescapeEntities(R,L){return S(this.renderer.escapes,function(f,w){L&&L.indexOf(f)!==-1||(R=R.toString().replace(RegExp(f,"g"),w))}),R}}}),it(k,"Core/Renderer/SVG/SVGRenderer.js",[k["Core/Renderer/HTML/AST.js"],k["Core/Defaults.js"],k["Core/Color/Color.js"],k["Core/Globals.js"],k["Core/Renderer/RendererRegistry.js"],k["Core/Renderer/SVG/SVGElement.js"],k["Core/Renderer/SVG/SVGLabel.js"],k["Core/Renderer/SVG/Symbols.js"],k["Core/Renderer/SVG/TextBuilder.js"],k["Core/Utilities.js"]],function(E,H,J,nt,st,lt,ct,K,q,$){let S,{defaultOptions:B}=H,{charts:R,deg2rad:L,doc:f,isFirefox:w,isMS:M,isWebKit:A,noop:c,SVG_NS:b,symbolSizes:F,win:I}=nt,{addEvent:C,attr:o,createElement:u,crisp:s,css:e,defined:t,destroyObjectProperties:r,extend:l,isArray:x,isNumber:y,isObject:h,isString:P,merge:U,pick:m,pInt:O,replaceNested:_,uniqueKey:W}=$;class Z{constructor(a,d,j,i,g,p,T){let v,N,Y=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),V=Y.element;T||Y.css(this.getStyle(i||{})),a.appendChild(V),o(a,"dir","ltr"),a.innerHTML.indexOf("xmlns")===-1&&o(V,"xmlns",this.SVG_NS),this.box=V,this.boxWrapper=Y,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(f.createTextNode("Created with Highcharts 11.4.7")),this.defs=this.createElement("defs").add(),this.allowHTML=p,this.forExport=g,this.styledMode=T,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=Y.getStyle("font-size"),this.setSize(d,j,!1),w&&a.getBoundingClientRect&&((v=function(){e(a,{left:0,top:0}),N=a.getBoundingClientRect(),e(a,{left:Math.ceil(N.left)-N.left+"px",top:Math.ceil(N.top)-N.top+"px"})})(),this.unSubPixelFix=C(I,"resize",v))}definition(a){return new E([a]).addToDOM(this.defs.element)}getReferenceURL(){if((w||A)&&f.getElementsByTagName("base").length){if(!t(S)){let a=W(),d=new E([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:a},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${a})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(f.body);e(d,{position:"fixed",top:0,left:0,zIndex:9e5});let j=f.elementFromPoint(6,6);S=(j&&j.id)==="hitme",f.body.removeChild(d)}if(S)return _(I.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(a){return this.style=l({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},a),this.style}setStyle(a){this.boxWrapper.css(this.getStyle(a))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let a=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),r(this.gradients||{}),this.gradients=null,this.defs=a.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(a){return new this.Element(this,a)}getRadialAttr(a,d){return{cx:a[0]-a[2]/2+(d.cx||0)*a[2],cy:a[1]-a[2]/2+(d.cy||0)*a[2],r:(d.r||0)*a[2]}}shadowDefinition(a){let d=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(a).map(i=>`${i}-${a[i]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),j=U({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},a);return this.defs.element.querySelector(`#${d}`)||this.definition({tagName:"filter",attributes:{id:d,filterUnits:j.filterUnits},children:this.getShadowFilterContent(j)}),d}getShadowFilterContent(a){return[{tagName:"feDropShadow",attributes:{dx:a.offsetX,dy:a.offsetY,"flood-color":a.color,"flood-opacity":Math.min(5*a.opacity,1),stdDeviation:a.width/2}}]}buildText(a){new q(a).buildSVG()}getContrast(a){let d=J.parse(a).rgba.map(i=>{let g=i/255;return g<=.03928?g/12.92:Math.pow((g+.055)/1.055,2.4)}),j=.2126*d[0]+.7152*d[1]+.0722*d[2];return 1.05/(j+.05)>(j+.05)/.05?"#FFFFFF":"#000000"}button(a,d,j,i,g={},p,T,v,N,Y){let V=this.label(a,d,j,N,void 0,void 0,Y,void 0,"button"),Q=this.styledMode,at=arguments,ht=0;g=U(B.global.buttonTheme,g),Q&&(delete g.fill,delete g.stroke,delete g["stroke-width"]);let z=g.states||{},D=g.style||{};delete g.states,delete g.style;let G=[E.filterUserAttributes(g)],X=[D];return Q||["hover","select","disabled"].forEach((tt,et)=>{G.push(U(G[0],E.filterUserAttributes(at[et+5]||z[tt]||{}))),X.push(G[et+1].style),delete G[et+1].style}),C(V.element,M?"mouseover":"mouseenter",function(){ht!==3&&V.setState(1)}),C(V.element,M?"mouseout":"mouseleave",function(){ht!==3&&V.setState(ht)}),V.setState=(tt=0)=>{if(tt!==1&&(V.state=ht=tt),V.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][tt]),!Q){V.attr(G[tt]);let et=X[tt];h(et)&&V.css(et)}},V.attr(G[0]),!Q&&(V.css(l({cursor:"default"},D)),Y&&V.text.css({pointerEvents:"none"})),V.on("touchstart",tt=>tt.stopPropagation()).on("click",function(tt){ht!==3&&i.call(V,tt)})}crispLine(a,d){let[j,i]=a;return t(j[1])&&j[1]===i[1]&&(j[1]=i[1]=s(j[1],d)),t(j[2])&&j[2]===i[2]&&(j[2]=i[2]=s(j[2],d)),a}path(a){let d=this.styledMode?{}:{fill:"none"};return x(a)?d.d=a:h(a)&&l(d,a),this.createElement("path").attr(d)}circle(a,d,j){let i=h(a)?a:a===void 0?{}:{x:a,y:d,r:j},g=this.createElement("circle");return g.xSetter=g.ySetter=function(p,T,v){v.setAttribute("c"+T,p)},g.attr(i)}arc(a,d,j,i,g,p){let T;h(a)?(d=(T=a).y,j=T.r,i=T.innerR,g=T.start,p=T.end,a=T.x):T={innerR:i,start:g,end:p};let v=this.symbol("arc",a,d,j,j,T);return v.r=j,v}rect(a,d,j,i,g,p){let T=h(a)?a:a===void 0?{}:{x:a,y:d,r:g,width:Math.max(j||0,0),height:Math.max(i||0,0)},v=this.createElement("rect");return this.styledMode||(p!==void 0&&(T["stroke-width"]=p,l(T,v.crisp(T))),T.fill="none"),v.rSetter=function(N,Y,V){v.r=N,o(V,{rx:N,ry:N})},v.rGetter=function(){return v.r||0},v.attr(T)}roundedRect(a){return this.symbol("roundedRect").attr(a)}setSize(a,d,j){this.width=a,this.height=d,this.boxWrapper.animate({width:a,height:d},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:m(j,!0)?void 0:0}),this.alignElements()}g(a){let d=this.createElement("g");return a?d.attr({class:"highcharts-"+a}):d}image(a,d,j,i,g,p){let T={preserveAspectRatio:"none"};y(d)&&(T.x=d),y(j)&&(T.y=j),y(i)&&(T.width=i),y(g)&&(T.height=g);let v=this.createElement("image").attr(T),N=function(Y){v.attr({href:a}),p.call(v,Y)};if(p){v.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let Y=new I.Image;C(Y,"load",N),Y.src=a,Y.complete&&N({})}else v.attr({href:a});return v}symbol(a,d,j,i,g,p){let T,v,N,Y,V=this,Q=/^url\((.*?)\)$/,at=Q.test(a),ht=!at&&(this.symbols[a]?a:"circle"),z=ht&&this.symbols[ht];if(z)typeof d=="number"&&(v=z.call(this.symbols,d||0,j||0,i||0,g||0,p)),T=this.path(v),V.styledMode||T.attr("fill","none"),l(T,{symbolName:ht||void 0,x:d,y:j,width:i,height:g}),p&&l(T,p);else if(at){N=a.match(Q)[1];let D=T=this.image(N);D.imgwidth=m(p&&p.width,F[N]&&F[N].width),D.imgheight=m(p&&p.height,F[N]&&F[N].height),Y=G=>G.attr({width:G.width,height:G.height}),["width","height"].forEach(G=>{D[`${G}Setter`]=function(X,tt){this[tt]=X;let{alignByTranslate:et,element:ot,width:rt,height:dt,imgwidth:ut,imgheight:gt}=this,ft=tt==="width"?ut:gt,mt=1;p&&p.backgroundSize==="within"&&rt&&dt&&ut&>?(mt=Math.min(rt/ut,dt/gt),o(ot,{width:Math.round(ut*mt),height:Math.round(gt*mt)})):ot&&ft&&ot.setAttribute(tt,ft),!et&&ut&>&&this.translate(((rt||0)-ut*mt)/2,((dt||0)-gt*mt)/2)}}),t(d)&&D.attr({x:d,y:j}),D.isImg=!0,t(D.imgwidth)&&t(D.imgheight)?Y(D):(D.attr({width:0,height:0}),u("img",{onload:function(){let G=R[V.chartIndex];this.width===0&&(e(this,{position:"absolute",top:"-999em"}),f.body.appendChild(this)),F[N]={width:this.width,height:this.height},D.imgwidth=this.width,D.imgheight=this.height,D.element&&Y(D),this.parentNode&&this.parentNode.removeChild(this),V.imgCount--,V.imgCount||!G||G.hasLoaded||G.onload()},src:N}),this.imgCount++)}return T}clipRect(a,d,j,i){return this.rect(a,d,j,i,0)}text(a,d,j,i){let g={};if(i&&(this.allowHTML||!this.forExport))return this.html(a,d,j);g.x=Math.round(d||0),j&&(g.y=Math.round(j)),t(a)&&(g.text=a);let p=this.createElement("text").attr(g);return i&&(!this.forExport||this.allowHTML)||(p.xSetter=function(T,v,N
2){let Y=N.getElementsByTagName("tspan"),V=N.getAttribute(v);for(let Q=0,at;Q<Y.length;Q++)(at=Y[Q]).getAttribute(v)===V&&at.setAttribute(v,T);N.setAttribute(v,T)}),p}fontMetrics(a){let d=O(lt.prototype.getStyle.call(a,"font-size")||0),j=d<24?d+3:Math.round(1.2*d),i=Math.round(.8*j);return{h:j,b:i,f:d}}rotCorr(a,d,j){let i=a;return d&&j&&(i=Math.max(i*Math.cos(d*L),4)),{x:-a/3*Math.sin(d*L),y:i}}pathToSegments(a){let d=[],j=[],i={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let g=0;g<a.length;g++)P(j[0])&&y(a[g])&&j.length===i[j[0].toUpperCase()]&&a.splice(g,0,j[0].replace("M","L").replace("m","l")),typeof a[g]=="string"&&(j.length&&d.push(j.slice(0)),j.length=0),j.push(a[g]);return d.push(j.slice(0)),d}label(a,d,j,i,g,p,T,v,N){return new ct(this,a,d,j,i,g,p,T,v,N)}alignElements(){this.alignedObjects.forEach(a=>a.align())}}return l(Z.prototype,{Element:lt,SVG_NS:b,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:K,draw:c}),st.registerRendererType("svg",Z,!0),Z}),it(k,"Core/Renderer/HTML/HTMLElement.js",[k["Core/Renderer/HTML/AST.js"],k["Core/Globals.js"],k["Core/Renderer/SVG/SVGElement.js"],k["Core/Utilities.js"]],function(E,H,J,nt){let{composed:st}=H,{attr:lt,css:ct,createElement:K,defined:q,extend:$,pInt:S,pushUnique:B}=nt;function R(M,A,c){let b=this.div?.style||c.style;J.prototype[`${A}Setter`].call(this,M,A,c),b&&(b[A]=M)}let L=(M,A)=>{if(!M.div){let c=lt(M.element,"class"),b=M.css,F=K("div",c?{className:c}:void 0,he(Yt({position:"absolute",left:`${M.translateX||0}px`,top:`${M.translateY||0}px`},M.styles),{display:M.display,opacity:M.opacity,visibility:M.visibility}),M.parentGroup?.div||A);M.classSetter=(I,C,o)=>{o.setAttribute("class",I),F.className=I},M.translateXSetter=M.translateYSetter=(I,C)=>{M[C]=I,F.style[C==="translateX"?"left":"top"]=`${I}px`,M.doTransform=!0},M.opacitySetter=M.visibilitySetter=R,M.css=I=>(b.call(M,I),I.cursor&&(F.style.cursor=I.cursor),I.pointerEvents&&(F.style.pointerEvents=I.pointerEvents),M),M.on=function(){return J.prototype.on.apply({element:F,onEvents:M.onEvents},arguments),M},M.div=F}return M.div};class f extends J{static compose(A){B(st,this.compose)&&(A.prototype.html=function(c,b,F){return new f(this,"span").attr({text:c,x:Math.round(b),y:Math.round(F)})})}constructor(A,c){super(A,c),this.css(Yt({position:"absolute"},A.styledMode?{}:{fontFamily:A.style.fontFamily,fontSize:A.style.fontSize})),this.element.style.whiteSpace="nowrap"}getSpanCorrection(A,c,b){this.xCorr=-A*b,this.yCorr=-c}css(A){let c,{element:b}=this,F=b.tagName==="SPAN"&&A&&"width"in A,I=F&&A.width;return F&&(delete A.width,this.textWidth=S(I)||void 0,c=!0),A?.textOverflow==="ellipsis"&&(A.whiteSpace="nowrap",A.overflow="hidden"),$(this.styles,A),ct(b,A),c&&this.updateTransform(),this}htmlGetBBox(){let{element:A}=this;return{x:A.offsetLeft,y:A.offsetTop,width:A.offsetWidth,height:A.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:A,renderer:c,rotation:b,rotationOriginX:F,rotationOriginY:I,styles:C,textAlign:o="left",textWidth:u,translateX:s=0,translateY:e=0,x:t=0,y:r=0}=this,l={left:0,center:.5,right:1}[o],x=C.whiteSpace;if(ct(A,{marginLeft:`${s}px`,marginTop:`${e}px`}),A.tagName==="SPAN"){let y=[b,o,A.innerHTML,u,this.textAlign].join(","),h=-(this.parentGroup?.padding*1)||0,P,U=!1;if(u!==this.oldTextWidth){let Z=this.textPxLength?this.textPxLength:(ct(A,{width:"",whiteSpace:x||"nowrap"}),A.offsetWidth),n=u||0;(n>this.oldTextWidth||Z>n)&&(/[ \-]/.test(A.textContent||A.innerText)||A.style.textOverflow==="ellipsis")&&(ct(A,{width:Z>n||b?u+"px":"auto",display:"block",whiteSpace:x||"normal"}),this.oldTextWidth=u,U=!0)}this.hasBoxWidthChanged=U,y!==this.cTT&&(P=c.fontMetrics(A).b,q(b)&&(b!==(this.oldRotation||0)||o!==this.oldAlign)&&this.setSpanRotation(b,h,h),this.getSpanCorrection(!q(b)&&this.textPxLength||A.offsetWidth,P,l));let{xCorr:m=0,yCorr:O=0}=this,_=(F??t)-m-t-h,W=(I??r)-O-r-h;ct(A,{left:`${t+m}px`,top:`${r+O}px`,transformOrigin:`${_}px ${W}px`}),this.cTT=y,this.oldRotation=b,this.oldAlign=o}}setSpanRotation(A,c,b){ct(this.element,{transform:`rotate(${A}deg)`,transformOrigin:`${c}% ${b}px`})}add(A){let c,b=this.renderer.box.parentNode,F=[];if(this.parentGroup=A,A&&!(c=A.div)){let I=A;for(;I;)F.push(I),I=I.parentGroup;for(let C of F.reverse())c=L(C,b)}return(c||b).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(A){A!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,E.setElementHTML(this.element,A??""),this.textStr=A,this.doTransform=!0)}alignSetter(A){this.alignValue=this.textAlign=A,this.doTransform=!0}xSetter(A,c){this[c]=A,this.doTransform=!0}}let w=f.prototype;return w.visibilitySetter=w.opacitySetter=R,w.ySetter=w.rotationSetter=w.rotationOriginXSetter=w.rotationOriginYSetter=w.xSetter,f}),it(k,"Core/Axis/AxisDefaults.js",[],function(){var E,H;return(H=E||(E={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"
2%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,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:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:J}=this.axis.chart;return J(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},E}),it(k,"Core/Foundation.js",[k["Core/Utilities.js"]],function(E){var H;let{addEvent:J,isFunction:nt,objectEach:st,removeEvent:lt}=E;return(H||(H={})).registerEventOptions=function(ct,K){ct.eventOptions=ct.eventOptions||{},st(K.events,function(q,$){ct.eventOptions[$]!==q&&(ct.eventOptions[$]&&(lt(ct,$,ct.eventOptions[$]),delete ct.eventOptions[$]),nt(q)&&(ct.eventOptions[$]=q,J(ct,$,q,{order:0})))})},H}),it(k,"Core/Axis/Tick.js",[k["Core/Templating.js"],k["Core/Globals.js"],k["Core/Utilities.js"]],function(E,H,J){let{deg2rad:nt}=H,{clamp:st,correctFloat:lt,defined:ct,destroyObjectProperties:K,extend:q,fireEvent:$,isNumber:S,merge:B,objectEach:R,pick:L}=J;return class{constructor(f,w,M,A,c){this.isNew=!0,this.isNewLabel=!0,this.axis=f,this.pos=w,this.type=M||"",this.parameters=c||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,$(this,"init"),M||A||this.addLabel()}addLabel(){let f=this,w=f.axis,M=w.options,A=w.chart,c=w.categories,b=w.logarithmic,F=w.names,I=f.pos,C=L(f.options&&f.options.labels,M.labels),o=w.tickPositions,u=I===o[0],s=I===o[o.length-1],e=(!C.step||C.step===1)&&w.tickInterval===1,t=o.info,r=f.label,l,x,y,h=this.parameters.category||(c?L(c[I],F[I],I):I);b&&S(h)&&(h=lt(b.lin2log(h))),w.dateTime&&(t?l=(x=A.time.resolveDTLFormat(M.dateTimeLabelFormats[!M.grid&&t.higherRanks[I]||t.unitName])).main:S(h)&&(l=w.dateTime.getXDateFormat(h,M.dateTimeLabelFormats||{}))),f.isFirst=u,f.isLast=s;let P={axis:w,chart:A,dateTimeLabelFormat:l,isFirst:u,isLast:s,pos:I,tick:f,tickPositionInfo:t,value:h};$(this,"labelFormat",P);let U=_=>C.formatter?C.formatter.call(_,_):C.format?(_.text=w.defaultLabelFormatter.call(_),E.format(C.format,_,A)):w.defaultLabelFormatter.call(_),m=U.call(P,P),O=x&&x.list;O?f.shortenLabel=function(){for(y=0;y<O.length;y++)if(q(P,{dateTimeLabelFormat:O[y]}),r.attr({text:U.call(P,P)}),r.getBBox().width<w.getSlotWidth(f)-2*(C.padding||0))return;r.attr({text:""})}:f.shortenLabel=void 0,e&&w._addedPlotLB&&f.moveLabel(m,C),ct(r)||f.movedLabel?r&&r.textStr!==m&&!e&&(!r.textWidth||C.style.width||r.styles.width||r.css({width:null}),r.attr({text:m}),r.textPxLength=r.getBBox().width):(f.label=r=f.createLabel(m,C),f.rotation=0)}createLabel(f,w,M){let A=this.axis,c=A.chart,b=ct(f)&&w.enabled?c.renderer.text(f,M?.x,M?.y,w.useHTML).add(A.labelGroup):void 0;return b&&(c.styledMode||b.css(B(w.style)),b.textPxLength=b.getBBox().width),b}destroy(){K(this,this.axis)}getPosition(f,w,M,A){let c=this.axis,b=c.chart,F=A&&b.oldChartHeight||b.chartHeight,I={x:f?lt(c.translate(w+M,void 0,void 0,A)+c.transB):c.left+c.offset+(c.opposite?(A&&b.oldChartWidth||b.chartWidth)-c.right-c.left:0),y:f?F-c.bottom+c.offset-(c.opposite?c.height:0):lt(F-c.translate(w+M,void 0,void 0,A)-c.transB)};return I.y=st(I.y,-1e5,1e5),$(this,"afterGetPosition",{pos:I}),I}getLabelPosition(f,w,M,A,c,b,F,I){let C,o,u=this.axis,s=u.transA,e=u.isLinked&&u.linkedParent?u.linkedParent.reversed:u.reversed,t=u.staggerLines,r=u.tickRotCorr||{x:0,y:0},l=A||u.reserveSpaceDefault?0:-u.labelOffset*(u.labelAlign==="center"?.5:1),x=c.distance,y={};return C=u.side===0?M.rotation?-x:-M.getBBox().height:u.side===2?r.y+x:Math.cos(M.rotation*nt)*(r.y-M.getBBox(!1,0).height/2),ct(c.y)&&(C=u.side===0&&u.horiz?c.y+C:c.y),f=f+L(c.x,[0,1,0,-1][u.side]*x)+l+r.x-(b&&A?b*s*(e?-1:1):0),w=w+C-(b&&!A?b*s*(e?1:-1):0),t&&(o=F/(I||1)%t,u.opposite&&(o=t-o-1),w+=o*(u.labelOffset/t)),y.x=f,y.y=Math.round(w),$(this,"afterGetLabelPosition",{pos:y,tickmarkOffset:b,index:F}),y}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(f,w,M,A,c=!1,b){return b.crispLine([["M",f,w],["L",f+(c?0:-M),w+(c?M:0)]],A)}handleOverflow(f){let w=this.axis,M=w.options.labels,A=f.x,c=w.chart.chartWidth,b=w.chart.spacing,F=L(w.labelLeft,Math.min(w.pos,b[3])),I=L(w.labelRight,Math.max(w.isRadial?
20:w.pos+w.len,c-b[1])),C=this.label,o=this.rotation,u={left:0,center:.5,right:1}[w.labelAlign||C.attr("align")],s=C.getBBox().width,e=w.getSlotWidth(this),t={},r=e,l=1,x,y,h;o||M.overflow!=="justify"?o<0&&A-u*s<F?h=Math.round(A/Math.cos(o*nt)-F):o>0&&A+u*s>I&&(h=Math.round((c-A)/Math.cos(o*nt))):(x=A-u*s,y=A+(1-u)*s,x<F?r=f.x+r*(1-u)-F:y>I&&(r=I-f.x+r*u,l=-1),(r=Math.min(e,r))<e&&w.labelAlign==="center"&&(f.x+=l*(e-r-u*(e-Math.min(s,r)))),(s>r||w.autoRotation&&(C.styles||{}).width)&&(h=r)),h&&(this.shortenLabel?this.shortenLabel():(t.width=Math.floor(h)+"px",(M.style||{}).textOverflow||(t.textOverflow="ellipsis"),C.css(t)))}moveLabel(f,w){let M=this,A=M.label,c=M.axis,b=!1,F;A&&A.textStr===f?(M.movedLabel=A,b=!0,delete M.label):R(c.ticks,function(I){b||I.isNew||I===M||!I.label||I.label.textStr!==f||(M.movedLabel=I.label,b=!0,I.labelPos=M.movedLabel.xy,delete I.label)}),!b&&(M.labelPos||A)&&(F=M.labelPos||A.xy,M.movedLabel=M.createLabel(f,w,F),M.movedLabel&&M.movedLabel.attr({opacity:0}))}render(f,w,M){let A=this.axis,c=A.horiz,b=this.pos,F=L(this.tickmarkOffset,A.tickmarkOffset),I=this.getPosition(c,b,F,w),C=I.x,o=I.y,u=A.pos,s=u+A.len,e=c?C:o;!A.chart.polar&&this.isNew&&(lt(e)<u||e>s)&&(M=0);let t=L(M,this.label&&this.label.newOpacity,1);M=L(M,1),this.isActive=!0,this.renderGridLine(w,M),this.renderMark(I,M),this.renderLabel(I,w,t,f),this.isNew=!1,$(this,"afterRender")}renderGridLine(f,w){let M=this.axis,A=M.options,c={},b=this.pos,F=this.type,I=L(this.tickmarkOffset,M.tickmarkOffset),C=M.chart.renderer,o=this.gridLine,u,s=A.gridLineWidth,e=A.gridLineColor,t=A.gridLineDashStyle;this.type==="minor"&&(s=A.minorGridLineWidth,e=A.minorGridLineColor,t=A.minorGridLineDashStyle),o||(M.chart.styledMode||(c.stroke=e,c["stroke-width"]=s||0,c.dashstyle=t),F||(c.zIndex=1),f&&(w=0),this.gridLine=o=C.path().attr(c).addClass("highcharts-"+(F?F+"-":"")+"grid-line").add(M.gridGroup)),o&&(u=M.getPlotLinePath({value:b+I,lineWidth:o.strokeWidth(),force:"pass",old:f,acrossPanes:!1}))&&o[f||this.isNew?"attr":"animate"]({d:u,opacity:w})}renderMark(f,w){let M=this.axis,A=M.options,c=M.chart.renderer,b=this.type,F=M.tickSize(b?b+"Tick":"tick"),I=f.x,C=f.y,o=L(A[b!=="minor"?"tickWidth":"minorTickWidth"],!b&&M.isXAxis?1:0),u=A[b!=="minor"?"tickColor":"minorTickColor"],s=this.mark,e=!s;F&&(M.opposite&&(F[0]=-F[0]),s||(this.mark=s=c.path().addClass("highcharts-"+(b?b+"-":"")+"tick").add(M.axisGroup),M.chart.styledMode||s.attr({stroke:u,"stroke-width":o})),s[e?"attr":"animate"]({d:this.getMarkPath(I,C,F[0],s.strokeWidth(),M.horiz,c),opacity:w}))}renderLabel(f,w,M,A){let c=this.axis,b=c.horiz,F=c.options,I=this.label,C=F.labels,o=C.step,u=L(this.tickmarkOffset,c.tickmarkOffset),s=f.x,e=f.y,t=!0;I&&S(s)&&(I.xy=f=this.getLabelPosition(s,e,I,b,C,u,A,o),(!this.isFirst||this.isLast||F.showFirstLabel)&&(!this.isLast||this.isFirst||F.showLastLabel)?!b||C.step||C.rotation||w||M===0||this.handleOverflow(f):t=!1,o&&A%o&&(t=!1),t&&S(f.y)?(f.opacity=M,I[this.isNewLabel?"attr":"animate"](f).show(!0),this.isNewLabel=!1):(I.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let f=this.label,w=this.axis;f&&!this.isNew&&(f.animate({opacity:0}
vendor: 17,927 bytes, line 2
2,void 0,f.destroy),delete this.label),w.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),it(k,"Core/Axis/Axis.js",[k["Core/Animation/AnimationUtilities.js"],k["Core/Axis/AxisDefaults.js"],k["Core/Color/Color.js"],k["Core/Defaults.js"],k["Core/Foundation.js"],k["Core/Globals.js"],k["Core/Axis/Tick.js"],k["Core/Utilities.js"]],function(E,H,J,nt,st,lt,ct,K){let{animObject:q}=E,{xAxis:$,yAxis:S}=H,{defaultOptions:B}=nt,{registerEventOptions:R}=st,{deg2rad:L}=lt,{arrayMax:f,arrayMin:w,clamp:M,correctFloat:A,defined:c,destroyObjectProperties:b,erase:F,error:I,extend:C,fireEvent:o,getClosestDistance:u,insertItem:s,isArray:e,isNumber:t,isString:r,merge:l,normalizeTickInterval:x,objectEach:y,pick:h,relativeLength:P,removeEvent:U,splat:m,syncTimeout:O}=K,_=(Z,n)=>x(n,void 0,void 0,h(Z.options.allowDecimals,n<.5||Z.tickAmount!==void 0),!!Z.tickAmount);C(B,{xAxis:$,yAxis:l($,S)});class W{constructor(n,a,d){this.init(n,a,d)}init(n,a,d=this.coll){let j=d==="xAxis",i=this.isZAxis||(n.inverted?!j:j);this.chart=n,this.horiz=i,this.isXAxis=j,this.coll=d,o(this,"init",{userOptions:a}),this.opposite=h(a.opposite,this.opposite),this.side=h(a.side,this.side,i?this.opposite?0:2:this.opposite?1:3),this.setOptions(a);let g=this.options,p=g.labels,T=g.type;this.userOptions=a,this.minPixelPadding=0,this.reversed=h(g.reversed,this.reversed),this.visible=g.visible,this.zoomEnabled=g.zoomEnabled,this.hasNames=T==="category"||g.categories===!0,this.categories=e(g.categories)&&g.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=c(g.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=g.minRange||g.maxZoom,this.range=g.range,this.offset=g.offset||0,this.max=void 0,this.min=void 0;let v=h(g.crosshair,m(n.options.tooltip.crosshairs)[j?0:1]);this.crosshair=v===!0?{}:v,n.axes.indexOf(this)===-1&&(j?n.axes.splice(n.xAxis.length,0,this):n.axes.push(this),s(this,n[this.coll])),n.orderItems(this.coll),this.series=this.series||[],n.inverted&&!this.isZAxis&&j&&!c(this.reversed)&&(this.reversed=!0),this.labelRotation=t(p.rotation)?p.rotation:void 0,R(this,g),o(this,"afterInit")}setOptions(n){let a=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=l(a,B[this.coll],n),o(this,"afterSetOptions",{userOptions:n})}defaultLabelFormatter(){let n=this.axis,{numberFormatter:a}=this.chart,d=t(this.value)?this.value:NaN,j=n.chart.time,i=n.categories,g=this.dateTimeLabelFormat,p=B.lang,T=p.numericSymbols,v=p.numericSymbolMagnitude||1e3,N=n.logarithmic?Math.abs(d):n.tickInterval,Y=T&&T.length,V,Q;if(i)Q=`${this.value}`;else if(g)Q=j.dateFormat(g,d);else if(Y&&T&&N>=1e3)for(;Y--&&Q===void 0;)N>=(V=Math.pow(v,Y+1))&&10*d%V==0&&T[Y]!==null&&d!==0&&(Q=a(d/V,-1)+T[Y]);return Q===void 0&&(Q=Math.abs(d)>=1e4?a(d,-1):a(d,-1,void 0,"")),Q}getSeriesExtremes(){let n,a=this;o(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1,a.dataMin=a.dataMax=a.threshold=void 0,a.softThreshold=!a.isXAxis,a.series.forEach(d=>{if(d.reserveSpace()){let j=d.options,i,g=j.threshold,p,T;if(a.hasVisibleSeries=!0,a.positiveValuesOnly&&0>=(g||0)&&(g=void 0),a.isXAxis)(i=d.xData)&&i.length&&(i=a.logarithmic?i.filter(v=>v>0):i,p=(n=d.getXExtremes(i)).min,T=n.max,t(p)||p instanceof Date||(i=i.filter(t),p=(n=d.getXExtremes(i)).min,T=n.max),i.length&&(a.dataMin=Math.min(h(a.dataMin,p),p),a.dataMax=Math.max(h(a.dataMax,T),T)));else{let v=d.applyExtremes();t(v.dataMin)&&(p=v.dataMin,a.dataMin=Math.min(h(a.dataMin,p),p)),t(v.dataMax)&&(T=v.dataMax,a.dataMax=Math.max(h(a.dataMax,T),T)),c(g)&&(a.threshold=g),(!j.softThreshold||a.positiveValuesOnly)&&(a.softThreshold=!1)}}})}),o(this,"afterGetSeriesExtremes")}translate(n,a,d,j,i,g){let p=this.linkedParent||this,T=j&&p.old?p.old.min:p.min;if(!t(T))return NaN;let v=p.minPixelPadding,N=(p.isOrdinal||p.brokenAxis?.hasBreaks||p.logarithmic&&i)&&p.lin2val,Y=1,V=0,Q=j&&p.old?p.old.transA:p.transA,at=0;return Q||(Q=p.transA),d&&(Y*=-1,V=p.len),p.reversed&&(Y*=-1,V-=Y*(p.sector||p.len)),a?(at=(n=n*Y+V-v)/Q+T,N&&(at=p.lin2val(at))):(N&&(n=p.val2lin(n)),at=Y*(n-T)*Q+V+Y*v+(t(g)?Q*g:0),p.isRadial||(at=A(at))),at}toPixels(n,a){return this.translate(n,!1,!this.horiz,void 0,!0)+(a?0:this.pos)}toValue(n,a){return this.translate(n-(a?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(n){let a=this,d=a.chart,j=a.left,i=a.top,g=n.old,p=n.value,T=n.lineWidth,v=g&&d.oldChartHeight||d.chartHeight,N=g&&d.oldChartWidth||d.chartWidth,Y=a.transB,V=n.translatedValue,Q=n.force,at,ht,z,D,G;function X(et,ot,rt){return Q!=="pass"&&(et<ot||et>rt)&&(Q?et=M(et,ot,rt):G=!0),et}let tt={value:p,lineWidth:T,old:g,force:Q,acrossPanes:n.acrossPanes,translatedValue:V};return o(this,"getPlotLinePath",tt,function(et){at=z=(V=M(V=h(V,a.translate(p,void 0,void 0,g)),-1e5,1e5))+Y,ht=D=v-V-Y,t(V)?a.horiz?(ht=i,D=v-a.bottom+(a.options.isInternal?0:d.scrollablePixelsY||0),at=z=X(at,j,j+a.width)):(at=j,z=N-a.right+(d.scrollablePixelsX||0),ht=D=X(ht,i,i+a.height)):(G=!0,Q=!1),et.path=G&&!Q?void 0:d.renderer.crispLine([["M",at,ht],["L",z,D]],T||1)}),tt.path}getLinearTickPositions(n,a,d){let j,i,g,p=A(Math.floor(a/n)*n),T=A(Math.ceil(d/n)*n),v=[];if(A(p+n)===p&&(g=20),this.single)return[a];for(j=p;j<=T&&(v.push(j),(j=A(j+n,g))!==i);)i=j;return v}getMinorTickInterval(){let{minorTicks:n,minorTickInterval:a}=this.options;return n===!0?h(a,"auto"):n!==!1?a:void 0}getMinorTickPositions(){let n=this.options,a=this.tickPositions,d=this.minorTickInterval,j=this.pointRangePadding||0,i=(this.min||0)-j,g=(this.max||0)+j,p=g-i,T=[],v;if(p&&p/d<this.len/3){let N=this.logarithmic;if(N)this.paddedTicks.forEach(function(Y,V,Q){V&&T.push.apply(T,N.getLogTickPositions(d,Q[V-1],Q[V],!0))});else if(this.dateTime&&this.getMinorTickInterval()==="auto")T=T.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(d),i,g,n.startOfWeek));else for(v=i+(a[0]-i)%d;v<=g&&v!==T[0];v+=d)T.push(v)}return T.length!==0&&this.trimTicks(T),T}adjustForMinRange(){let n=this.options,a=this.logarithmic,{max:d,min:j,minRange:i}=this,g,p,T,v;this.isXAxis&&i===void 0&&!a&&(i=c(n.min)||c(n.max)||c(n.floor)||c(n.ceiling)?null:Math.min(5*(u(this.series.map(N=>(N.xIncrement?N.xData?.slice(0,2):N.xData)||[]))||0),this.dataMax-this.dataMin)),t(d)&&t(j)&&t(i)&&d-j<i&&(p=this.dataMax-this.dataMin>=i,g=(i-d+j)/2,T=[j-g,h(n.min,j-g)],p&&(T[2]=a?a.log2lin(this.dataMin):this.dataMin),v=[(j=f(T))+i,h(n.max,j+i)],p&&(v[2]=a?a.log2lin(this.dataMax):this.dataMax),(d=w(v))-j<i&&(T[0]=d-i,T[1]=h(n.min,d-i),j=f(T))),this.minRange=i,this.min=j,this.max=d}getClosest(){let n,a;if(this.categories)a=1;else{let d=[];this.series.forEach(function(j){let i=j.closestPointRange;j.xData?.length===1?d.push(j.xData[0]):!j.noSharedTooltip&&c(i)&&j.reserveSpace()&&(a=c(a)?Math.min(a,i):i)}),d.length&&(d.sort((j,i)=>j-i),n=u([d]))}return n&&a?Math.min(n,a):n||a}nameToX(n){let a=e(this.options.categories),d=a?this.categories:this.names,j=n.options.x,i;return n.series.requireSorting=!1,c(j)||(j=this.options.uniqueNames&&d?a?d.indexOf(n.name):h(d.keys[n.name],-1):n.series.autoIncrement()),j===-1?!a&&d&&(i=d.length):i=j,i!==void 0?(this.names[i]=n.name,this.names.keys[n.name]=i):n.x&&(i=n.x),i}updateNames(){let n=this,a=this.names;a.length>0&&(Object.keys(a.keys).forEach(function(d){delete a.keys[d]}),a.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(d=>{d.xIncrement=null,(!d.points||d.isDirtyData)&&(n.max=Math.max(n.max,d.xData.length-1),d.processData(),d.generatePoints()),d.data.forEach(function(j,i){let g;j?.options&&j.name!==void 0&&(g=n.nameToX(j))!==void 0&&g!==j.x&&(j.x=g,d.xData[i]=g)})}))}setAxisTranslation(){let n=this,a=n.max-n.min,d=n.linkedParent,j=!!n.categories,i=n.isXAxis,g=n.axisPointRange||0,p,T=0,v=0,N,Y=n.transA;(i||j||g)&&(p=n.getClosest(),d?(T=d.minPointOffset,v=d.pointRangePadding):n.series.forEach(function(V){let Q=j?1:i?h(V.options.pointRange,p,0):n.axisPointRange||0,at=V.options.pointPlacement;if(g=Math.max(g,Q),!n.single||j){let ht=V.is("xrange")?!i:i;T=Math.max(T,ht&&r(at)?0:Q/2),v=Math.max(v,ht&&at==="on"?0:Q)}}),N=n.ordinal&&n.ordinal.slope&&p?n.ordinal.slope/p:1,n.minPointOffset=T*=N,n.pointRangePadding=v*=N,n.pointRange=Math.min(g,n.single&&j?1:a),i&&p&&(n.closestPointRange=p)),n.translationSlope=n.transA=Y=n.staticScale||n.len/(a+v||1),n.transB=n.horiz?n.left:n.bottom,n.minPixelPadding=Y*T,o(this,"afterSetAxisTranslation")}minFromRange(){let{max:n,min:a}=this;return t(n)&&t(a)&&n-a||void 0}setTickInterval(n){let{categories:a,chart:d,dataMax:j,dataMin:i,dateTime:g,isXAxis:p,logarithmic:T,options:v,softThreshold:N}=this,Y=t(this.threshold)?this.threshold:void 0,V=this.minRange||0,{ceiling:Q,floor:at,linkedTo:ht,softMax:z,softMin:D}=v,G=t(ht)&&d[this.coll]?.[ht],X=v.tickPixelInterval,tt=v.maxPadding,et=v.minPadding,ot=0,rt,dt=t(v.tickInterval)&&v.tickInterval>=0?v.tickInterval:void 0,ut,gt,ft,mt;if(g||a||G||this.getTickAmount(),ft=h(this.userMin,v.min),mt=h(this.userMax,v.max),G?(this.linkedParent=G,rt=G.getExtremes(),this.min=h(rt.min,rt.dataMin),this.max=h(rt.max,rt.dataMax),v.type!==G.options.type&&I(11,!0,d)):(N&&c(Y)&&t(j)&&t(i)&&(i>=Y?(ut=Y,et=0):j<=Y&&(gt=Y,tt=0)),this.min=h(ft,ut,i),this.max=h(mt,gt,j)),t(this.max)&&t(this.min)&&(T&&(this.positiveValuesOnly&&!n&&0>=Math.min(this.min,h(i,this.min))&&I(10,!0,d),this.min=A(T.log2lin(this.min),16),this.max=A(T.log2lin(this.max),16)),this.range&&t(i)&&(this.userMin=this.min=ft=Math.max(i,this.minFromRange()||0),this.userMax=mt=this.max,this.range=void 0)),o(this,"foundExtremes"),this.adjustForMinRange(),t(this.min)&&t(this.max)){if(!t(this.userMin)&&t(D)&&D<this.min&&(this.min=ft=D),!t(this.userMax)&&t(z)&&z>this.max&&(this.max=mt=z),a||this.axisPointRange||this.stacking?.usePercentage||G||!(ot=this.max-this.min)||(!c(ft)&&et&&(this.min-=ot*et),c(mt)||!tt||(this.max+=ot*tt)),!t(this.userMin)&&t(at)&&(this.min=Math.max(this.min,at)),!t(this.userMax)&&t(Q)&&(this.max=Math.min(this.max,Q)),N&&t(i)&&t(j)){let yt=Y||0;!c(ft)&&this.min<yt&&i>=yt?this.min=v.minRange?Math.min(yt,this.max-V):yt:!c(mt)&&this.max>yt&&j<=yt&&(this.max=v.minRange?Math.max(yt,this.min+V):yt)}!d.polar&&this.min>this.max&&(c(v.min)?this.max=this.min:c(v.max)&&(this.min=this.max)),ot=this.max-this.min}if(this.min!==this.max&&t(this.min)&&t(this.max)?G&&!dt&&X===G.options.tickPixelInterval?this.tickInterval=dt=G.tickInterval:this.tickInterval=h(dt,this.tickAmount?ot/Math.max(this.tickAmount-1,1):void 0,a?1:ot*X/Math.max(this.len,X)):this.tickInterval=1,p&&!n){let yt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(xt){xt.forceCrop=xt.forceCropping?.(),xt.processData(yt)}),o(this,"postProcessData",{hasExtremesChanged:yt})}this.setAxisTranslation(),o(this,"initialAxisTranslation"),this.pointRange&&!dt&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let Ct=h(v.minTickInterval,g&&!this.series.some(yt=>yt.noSharedTooltip)?this.closestPointRange:0);!dt&&this.tickInterval<Ct&&(this.tickInterval=Ct),g||T||dt||(this.tickInterval=_(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let n=this.options,a=n.tickPositions,d=n.tickPositioner,j=this.getMinorTickInterval(),i=!this.isPanning,g=i&&n.startOnTick,p=i&&n.endOnTick,T=[],v;if(this.tickmarkOffset=this.categories&&n.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.minorTickInterval=j==="auto"&&this.tickInterval?this.tickInterval/n.minorTicksPerMajor:j,this.single=this.min===this.max&&c(this.min)&&!this.tickAmount&&(this.min%1==0||n.allowDecimals!==!1),a)T=a.slice();else if(t(this.min)&&t(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))T=[this.min,this.max],I(19,!1,this.chart);else if(this.dateTime)T=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,n.units),this.min,this.max,n.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)T=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let N=this.tickInterval,Y=N;for(;Y<=2*N&&(T=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&T.length>this.tickAmount);)this.tickInterval=_(this,Y*=1.1)}T.length>this.len&&(T=[T[0],T[T.length-1]])[0]===T[1]&&(T.length=1),d&&(this.tickPositions=T,(v=d.apply(this,[this.min,this.max]))&&(T=v))}this.tickPositions=T,this.paddedTicks=T.slice(0),this.trimTicks(T,g,p),!this.isLinked&&t(this.min)&&t(this.max)&&(this.single&&T.length<2&&!this.categories&&!this.series.some(N=>N.is("heatmap")&&N.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),a||v||this.adjustTickAmount()),o(this,"afterSetTickPositions")}trimTicks(n,a,d){let j=n[0],i=n[n.length-1],g=!this.isOrdinal&&this.minPointOffset||0;if(o(this,"trimTicks"),!this.isLinked){if(a&&j!==-1/0)this.min=j;else for(;this.min-g>n[0];)n.shift();if(d)this.max=i;else for(;this.max+g<n[n.length-1];)n.pop();n.length===0&&c(j)&&!this.options.tickPositions&&n.push((i+j)/2)}}alignToOthers(){let n,a=this,d=a.chart,j=[this],i=a.options,g=d.options.chart,p=this.coll==="yAxis"&&g.alignThresholds,T=[];if(a.thresholdAlignment=void 0,(g.alignTicks!==!1&&i.alignTicks||p)&&i.startOnTick!==!1&&i.endOnTick!==!1&&!a.logarithmic){let v=Y=>{let{horiz:V,options:Q}=Y;return[V?Q.left:Q.top,Q.width,Q.height,Q.pane].join(",")},N=v(this);d[this.coll].forEach(function(Y){let{series:V}=Y;V.length&&V.some(Q=>Q.visible)&&Y!==a&&v(Y)===N&&(n=!0,j.push(Y))})}if(n&&p){j.forEach(N=>{let Y=N.getThresholdAlignment(a);t(Y)&&T.push(Y)});let v=T.length>1?T.reduce((N,Y)=>N+=Y,0)/T.length:void 0;j.forEach(N=>{N.thresholdAlignment=v})}return n}getThresholdAlignment(n){if((!t(this.dataMin)||this!==n&&this.series.some(a=>a.isDirty||a.isDirtyData))&&this.getSeriesExtremes(),t(this.threshold)){let a=M((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(a=1-a),a}}getTickAmount(){let n=this.options,a=n.tickPixelInterval,d=n.tickAmount;c(n.tickInterval)||d||!(this.len<a)||this.isRadial||this.logarithmic||!n.startOnTick||!n.endOnTick||(d=2),!d&&this.alignToOthers()&&(d=Math.ceil(this.len/a)+1),d<4&&(this.finalTickAmt=d,d=5),this.tickAmount=d}adjustTickAmount(){let n=this,{finalTickAmt:a,max:d,min:j,options:i,tickPositions:g,tickAmount:p,thresholdAlignment:T}=n,v=g?.length,N=h(n.threshold,n.softThreshold?0:null),Y,V,Q=n.tickInterval,at,ht=()=>g.push(A(g[g.length-1]+Q)),z=()=>g.unshift(A(g[0]-Q));if(t(T)&&(at=T<.5?Math.ceil(T*(p-1)):Math.floor(T*(p-1)),i.reversed&&(at=p-1-at)),n.hasData()&&t(j)&&t(d)){let D=()=>{n.transA*=(v-1)/(p-1),n.min=i.startOnTick?g[0]:Math.min(j,g[0]),n.max=i.endOnTick?g[g.length-1]:Math.max(d,g[g.length-1])};if(t(at)&&t(n.threshold)){for(;g[at]!==N||g.length!==p||g[0]>j||g[g.length-1]<d;){for(g.length=0,g.push(n.threshold);g.length<p;)g[at]===void 0||g[at]>n.threshold?z():ht();if(Q>8*n.tickInterval)break;Q*=2}D()}else if(v<p){for(;g.length<p;)g.length%2||j===N?ht():z();D()}if(c(a)){for(V=Y=g.length;V--;)(a===3&&V%2==1||a<=2&&V>0&&V<Y-1)&&g.splice(V,1);n.finalTickAmt=void 0}}}setScale(){let{coll:n,stacking:a}=this,d=!1,j=!1;this.series.forEach(g=>{d=d||g.isDirtyData||g.isDirty,j=j||g.xAxis&&g.xAxis.isDirty||!1}),this.setAxisSize();let i=this.len!==(this.old&&this.old.len);i||d||j||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(a&&n==="yAxis"&&a.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),a&&n==="xAxis"&&a.buildStacks(),this.isDirty||(this.isDirty=i||this.min!==this.old?.min||this.max!==this.old?.max)):a&&a.cleanStacks(),d&&delete this.allExtremes,o(this,"afterSetScale")}setExtremes(n,a,d=!0,j,i){this.series.forEach(g=>{delete g.kdTree}),o(this,"setExtremes",i=C(i,{min:n,max:a}),g=>{this.userMin=g.min,this.userMax=g.max,this.eventArgs=g,d&&this.chart.redraw(j)})}setAxisSize(){let n=this.chart,a=this.options,d=a.offsets||[0,0,0,0],j=this.horiz,i=this.width=Math.round(P(h(a.width,n.plotWidth-d[3]+d[1]),n.plotWidth)),g=this.height=Math.round(P(h(a.height,n.plotHeight-d[0]+d[2]),n.plotHeight)),p=this.top=Math.round(P(h(a.top,n.plotTop+d[0]),n.plotHeight,n.plotTop)),T=this.left=Math.round(P(h(a.left,n.plotLeft+d[3]),n.plotWidth,n.plotLeft));this.bottom=n.chartHeight-g-p,this.right=n.chartWidth-i-T,this.len=Math.max(j?i:g,0),this.pos=j?T:p}getExtremes(){let n=this.logarithmic;return{min:n?A(n.lin2log(this.min)):this.min,max:n?A(n.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(n){let a=this.logarithmic,d=a?a.lin2log(this.min):this.min,j=a?a.lin2log(this.max):this.max;return n===null||n===-1/0?n=d:n===1/0?n=j:d>n?n=d:j<n&&(n=j),this.translate(n,0,1,0,1)}autoLabelAlign(n){let a=(h(n,0)-90*this.side+720)%360,d={align:"center"};return o(this,"autoLabelAlign",d,function(j){a>15&&a<165?j.align="right":a>195&&a<345&&(j.align="left")}),d.align}tickSize(n){let a=this.options,d=h(a[n==="tick"?"tickWidth":"minorTickWidth"],n==="tick"&&this.isXAxis&&!this.categories?1:0),j=a[n==="tick"?"tickLength":"minorTickLength"],i;d&&j&&(a[n+"Position"]==="inside"&&(j=-j),i=[j,d]);let g={tickSize:i};return o(this,"afterTickSize",g),g.tickSize}labelMetrics(){let n=this.chart.renderer,a=this.ticks,d=a[Object.keys(a)[0]]||{};return this.chart.renderer.fontMetrics(d.label||d.movedLabel||n.box)}unsquish(){let n=this.options.labels,a=n.padding||0,d=this.horiz,j=this.tickInterval,i=this.len/(((this.categories?1:0)+this.max-this.min)/j),g=n.rotation,p=A(.8*this.labelMetrics().h),T=Math.max(this.max-this.min,0),v=function(at){let ht=(at+2*a)/(i||1);
2return(ht=ht>1?Math.ceil(ht):1)*j>T&&at!==1/0&&i!==1/0&&T&&(ht=Math.ceil(T/j)),A(ht*j)},N=j,Y,V=Number.MAX_VALUE,Q;if(d){if(!n.staggerLines&&(t(g)?Q=[g]:i<n.autoRotationLimit&&(Q=n.autoRotation)),Q){let at,ht;for(let z of Q)(z===g||z&&z>=-90&&z<=90)&&(ht=(at=v(Math.abs(p/Math.sin(L*z))))+Math.abs(z/360))<V&&(V=ht,Y=z,N=at)}}else N=v(.75*p);return this.autoRotation=Q,this.labelRotation=h(Y,t(g)?g:0),n.step?j:N}getSlotWidth(n){let a=this.chart,d=this.horiz,j=this.options.labels,i=Math.max(this.tickPositions.length-(this.categories?0:1),1),g=a.margin[3];if(n&&t(n.slotWidth))return n.slotWidth;if(d&&j.step<2)return j.rotation?0:(this.staggerLines||1)*this.len/i;if(!d){let p=j.style.width;if(p!==void 0)return parseInt(String(p),10);if(g)return g-a.spacing[3]}return .33*a.chartWidth}renderUnsquish(){let n=this.chart,a=n.renderer,d=this.tickPositions,j=this.ticks,i=this.options.labels,g=i.style,p=this.horiz,T=this.getSlotWidth(),v=Math.max(1,Math.round(T-(p?2*(i.padding||0):i.distance||0))),N={},Y=this.labelMetrics(),V=g.textOverflow,Q,at,ht=0,z,D;if(r(i.rotation)||(N.rotation=i.rotation||0),d.forEach(function(G){let X=j[G];X.movedLabel&&X.replaceMovedLabel(),X&&X.label&&X.label.textPxLength>ht&&(ht=X.label.textPxLength)}),this.maxLabelLength=ht,this.autoRotation)ht>v&&ht>Y.h?N.rotation=this.labelRotation:this.labelRotation=0;else if(T&&(Q=v,!V))for(at="clip",D=d.length;!p&&D--;)(z=j[d[D]].label)&&(z.styles.textOverflow==="ellipsis"?z.css({textOverflow:"clip"}):z.textPxLength>T&&z.css({width:T+"px"}),z.getBBox().height>this.len/d.length-(Y.h-Y.f)&&(z.specificTextOverflow="ellipsis"));N.rotation&&(Q=ht>.5*n.chartHeight?.33*n.chartHeight:ht,V||(at="ellipsis")),this.labelAlign=i.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(N.align=this.labelAlign),d.forEach(function(G){let X=j[G],tt=X&&X.label,et=g.width,ot={};tt&&(tt.attr(N),X.shortenLabel?X.shortenLabel():Q&&!et&&g.whiteSpace!=="nowrap"&&(Q<tt.textPxLength||tt.element.tagName==="SPAN")?(ot.width=Q+"px",V||(ot.textOverflow=tt.specificTextOverflow||at),tt.css(ot)):!tt.styles.width||ot.width||et||tt.css({width:null}),delete tt.specificTextOverflow,X.rotation=N.rotation)},this),this.tickRotCorr=a.rotCorr(Y.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(n){return n.hasData()})||this.options.showEmpty&&c(this.min)&&c(this.max)}addTitle(n){let a,d=this.chart.renderer,j=this.horiz,i=this.opposite,g=this.options.title,p=this.chart.styledMode;this.axisTitle||((a=g.textAlign)||(a=(j?{low:"left",middle:"center",high:"right"}:{low:i?"right":"left",middle:"center",high:i?"left":"right"})[g.align]),this.axisTitle=d.text(g.text||"",0,0,g.useHTML).attr({zIndex:7,rotation:g.rotation||0,align:a}).addClass("highcharts-axis-title"),p||this.axisTitle.css(l(g.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),p||g.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[n?"show":"hide"](n)}generateTick(n){let a=this.ticks;a[n]?a[n].addLabel():a[n]=new ct(this,n)}
vendor: 19,843 bytes, line 2
2createGroups(){let{axisParent:n,chart:a,coll:d,options:j}=this,i=a.renderer,g=(p,T,v)=>i.g(p).attr({zIndex:v}).addClass(`highcharts-${d.toLowerCase()}${T} `+(this.isRadial?`highcharts-radial-axis${T} `:"")+(j.className||"")).add(n);this.axisGroup||(this.gridGroup=g("grid","-grid",j.gridZIndex),this.axisGroup=g("axis","",j.zIndex),this.labelGroup=g("axis-labels","-labels",j.labels.zIndex))}getOffset(){let n=this,{chart:a,horiz:d,options:j,side:i,ticks:g,tickPositions:p,coll:T}=n,v=a.inverted&&!n.isZAxis?[1,0,3,2][i]:i,N=n.hasData(),Y=j.title,V=j.labels,Q=t(j.crossing),at=a.axisOffset,ht=a.clipOffset,z=[-1,1,1,-1][i],D,G=0,X,tt=0,et=0,ot,rt;if(n.showAxis=D=N||j.showEmpty,n.staggerLines=n.horiz&&V.staggerLines||void 0,n.createGroups(),N||n.isLinked?(p.forEach(function(dt){n.generateTick(dt)}),n.renderUnsquish(),n.reserveSpaceDefault=i===0||i===2||{1:"left",3:"right"}[i]===n.labelAlign,h(V.reserveSpace,!Q&&null,n.labelAlign==="center"||null,n.reserveSpaceDefault)&&p.forEach(function(dt){et=Math.max(g[dt].getLabelSize(),et)}),n.staggerLines&&(et*=n.staggerLines),n.labelOffset=et*(n.opposite?-1:1)):y(g,function(dt,ut){dt.destroy(),delete g[ut]}),Y?.text&&Y.enabled!==!1&&(n.addTitle(D),D&&!Q&&Y.reserveSpace!==!1&&(n.titleOffset=G=n.axisTitle.getBBox()[d?"height":"width"],tt=c(X=Y.offset)?0:h(Y.margin,d?5:10))),n.renderLine(),n.offset=z*h(j.offset,at[i]?at[i]+(j.margin||0):0),n.tickRotCorr=n.tickRotCorr||{x:0,y:0},rt=i===0?-n.labelMetrics().h:i===2?n.tickRotCorr.y:0,ot=Math.abs(et)+tt,et&&(ot-=rt,ot+=z*(d?h(V.y,n.tickRotCorr.y+z*V.distance):h(V.x,z*V.distance))),n.axisTitleMargin=h(X,ot),n.getMaxLabelDimensions&&(n.maxLabelDimensions=n.getMaxLabelDimensions(g,p)),T!=="colorAxis"&&ht){let dt=this.tickSize("tick");at[i]=Math.max(at[i],(n.axisTitleMargin||0)+G+z*n.offset,ot,p&&p.length&&dt?dt[0]+z*n.offset:0);let ut=!n.axisLine||j.offset?0:n.axisLine.strokeWidth()/2;ht[v]=Math.max(ht[v],ut)}o(this,"afterGetOffset")}getLinePath(n){let a=this.chart,d=this.opposite,j=this.offset,i=this.horiz,g=this.left+(d?this.width:0)+j,p=a.chartHeight-this.bottom-(d?this.height:0)+j;return d&&(n*=-1),a.renderer.crispLine([["M",i?this.left:g,i?p:this.top],["L",i?a.chartWidth-this.right:g,i?p:a.chartHeight-this.bottom]],n)}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(n){let a=this.horiz,d=this.left,j=this.top,i=this.len,g=this.options.title,p=a?d:j,T=this.opposite,v=this.offset,N=g.x,Y=g.y,V=this.chart.renderer.fontMetrics(n),Q=n?Math.max(n.getBBox(!1,0).height-V.h-1,0):0,at={low:p+(a?0:i),middle:p+i/2,high:p+(a?i:0)}[g.align],ht=(a?j+this.height:d)+(a?1:-1)*(T?-1:1)*(this.axisTitleMargin||0)+[-Q,Q,V.f,-Q][this.side],z={x:a?at+N:ht+(T?this.width:0)+v+N,y:a?ht+Y-(T?this.height:0)+v:at+Y};return o(this,"afterGetTitlePosition",{titlePosition:z}),z}renderMinorTick(n,a){let d=this.minorTicks;d[n]||(d[n]=new ct(this,n,"minor")),a&&d[n].isNew&&d[n].render(null,!0),d[n].render(null,!1,1)}renderTick(n,a,d){let j=this.isLinked,i=this.ticks;(!j||n>=this.min&&n<=this.max||this.grid&&this.grid.isColumn)&&(i[n]||(i[n]=new ct(this,n)),d&&i[n].isNew&&i[n].render(a,!0,-1),i[n].render(a))}render(){let n,a,d=this,j=d.chart,i=d.logarithmic,g=j.renderer,p=d.options,T=d.isLinked,v=d.tickPositions,N=d.axisTitle,Y=d.ticks,V=d.minorTicks,Q=d.alternateBands,at=p.stackLabels,ht=p.alternateGridColor,z=p.crossing,D=d.tickmarkOffset,G=d.axisLine,X=d.showAxis,tt=q(g.globalAnimation);if(d.labelEdge.length=0,d.overlap=!1,[Y,V,Q].forEach(function(et){y(et,function(ot){ot.isActive=!1})}),t(z)){let et=this.isXAxis?j.yAxis[0]:j.xAxis[0],ot=[1,-1,-1,1][this.side];if(et){let rt=et.toPixels(z,!0);d.horiz&&(rt=et.len-rt),d.offset=ot*rt}}if(d.hasData()||T){let et=d.chart.hasRendered&&d.old&&t(d.old.min);d.minorTickInterval&&!d.categories&&d.getMinorTickPositions().forEach(function(ot){d.renderMinorTick(ot,et)}),v.length&&(v.forEach(function(ot,rt){d.renderTick(ot,rt,et)}),D&&(d.min===0||d.single)&&(Y[-1]||(Y[-1]=new ct(d,-1,null,!0)),Y[-1].render(-1))),ht&&v.forEach(function(ot,rt){a=v[rt+1]!==void 0?v[rt+1]+D:d.max-D,rt%2==0&&ot<d.max&&a<=d.max+(j.polar?-D:D)&&(Q[ot]||(Q[ot]=new lt.PlotLineOrBand(d,{})),n=ot+D,Q[ot].options={from:i?i.lin2log(n):n,to:i?i.lin2log(a):a,color:ht,className:"highcharts-alternate-grid"},Q[ot].render(),Q[ot].isActive=!0)}),d._addedPlotLB||(d._addedPlotLB=!0,(p.plotLines||[]).concat(p.plotBands||[]).forEach(function(ot){d.addPlotBandOrLine(ot)}))}[Y,V,Q].forEach(function(et){let ot=[],rt=tt.duration;y(et,function(dt,ut){dt.isActive||(dt.render(ut,!1,0),dt.isActive=!1,ot.push(ut))}),O(function(){let dt=ot.length;for(;dt--;)et[ot[dt]]&&!et[ot[dt]].isActive&&(et[ot[dt]].destroy(),delete et[ot[dt]])},et!==Q&&j.hasRendered&&rt?rt:0)}),G&&(G[G.isPlaced?"animate":"attr"]({d:this.getLinePath(G.strokeWidth())}),G.isPlaced=!0,G[X?"show":"hide"](X)),N&&X&&(N[N.isNew?"attr":"animate"](d.getTitlePosition(N)),N.isNew=!1),at&&at.enabled&&d.stacking&&d.stacking.renderStackTotals(),d.old={len:d.len,max:d.max,min:d.min,transA:d.transA,userMax:d.userMax,userMin:d.userMin},d.isDirty=!1,o(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(n){n.render()})),this.series.forEach(function(n){n.isDirty=!0})}getKeepProps(){return this.keepProps||W.keepProps}destroy(n){let a=this,d=a.plotLinesAndBands,j=this.eventOptions;if(o(this,"destroy",{keepEvents:n}),n||U(a),[a.ticks,a.minorTicks,a.alternateBands].forEach(function(i){b(i)}),d){let i=d.length;for(;i--;)d[i].destroy()}for(let i in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(g){a[g]&&(a[g]=a[g].destroy())}),a.plotLinesAndBandsGroups)a.plotLinesAndBandsGroups[i]=a.plotLinesAndBandsGroups[i].destroy();y(a,function(i,g){a.getKeepProps().indexOf(g)===-1&&delete a[g]}),this.eventOptions=j}drawCrosshair(n,a){let d=this.crosshair,j=h(d&&d.snap,!0),i=this.chart,g,p,T,v=this.cross,N;if(o(this,"drawCrosshair",{e:n,point:a}),n||(n=this.cross&&this.cross.e),d&&(c(a)||!j)!==!1){if(j?c(a)&&(p=h(this.coll!=="colorAxis"?a.crosshairPos:null,this.isXAxis?a.plotX:this.len-a.plotY)):p=n&&(this.horiz?n.chartX-this.pos:this.len-n.chartY+this.pos),c(p)&&(N={value:a&&(this.isXAxis?a.x:h(a.stackY,a.y)),translatedValue:p},i.polar&&C(N,{isCrosshair:!0,chartX:n&&n.chartX,chartY:n&&n.chartY,point:a}),g=this.getPlotLinePath(N)||null),!c(g)){this.hideCrosshair();return}T=this.categories&&!this.isRadial,v||(this.cross=v=i.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(T?"category ":"thin ")+(d.className||"")).attr({zIndex:h(d.zIndex,2)}).add(),!i.styledMode&&(v.attr({stroke:d.color||(T?J.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":h(d.width,1)}).css({"pointer-events":"none"}),d.dashStyle&&v.attr({dashstyle:d.dashStyle}))),v.show().attr({d:g}),T&&!d.width&&v.attr({"stroke-width":this.transA}),this.cross.e=n}else this.hideCrosshair();o(this,"afterDrawCrosshair",{e:n,point:a})}hideCrosshair(){this.cross&&this.cross.hide(),o(this,"afterHideCrosshair")}update(n,a){let d=this.chart;n=l(this.userOptions,n),this.destroy(!0),this.init(d,n),d.isDirtyBox=!0,h(a,!0)&&d.redraw()}remove(n){let a=this.chart,d=this.coll,j=this.series,i=j.length;for(;i--;)j[i]&&j[i].remove(!1);F(a.axes,this),F(a[d]||[],this),a.orderItems(d),this.destroy(),a.isDirtyBox=!0,h(n,!0)&&a.redraw()}setTitle(n,a){this.update({title:n},a)}setCategories(n,a){this.update({categories:n},a)}}return W.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],W}),it(k,"Core/Axis/DateTimeAxis.js",[k["Core/Utilities.js"]],function(E){var H;let{addEvent:J,getMagnitude:nt,normalizeTickInterval:st,timeUnits:lt}=E;return function(ct){function K(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function q(){if(this.options.type!=="datetime"){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new $(this))}ct.compose=function(S){return S.keepProps.includes("dateTime")||(S.keepProps.push("dateTime"),S.prototype.getTimeTicks=K,J(S,"afterSetOptions",q)),S};class ${constructor(B){this.axis=B}normalizeTimeTickInterval(B,R){let L=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]],f=L[L.length-1],w=lt[f[0]],M=f[1],A;for(A=0;A<L.length&&(w=lt[(f=L[A])[0]],M=f[1],!L[A+1]||!(B<=(w*M[M.length-1]+lt[L[A+1][0]])/2));A++);w===lt.year&&B<5*w&&(M=[1,2,5]);let c=st(B/w,M,f[0]==="year"?Math.max(nt(B/w),1):1);return{unitRange:w,count:c,unitName:f[0]}}getXDateFormat(B,R){let{axis:L}=this,f=L.chart.time;return L.closestPointRange?f.getDateFormat(L.closestPointRange,B,L.options.startOfWeek,R)||f.resolveDTLFormat(R.year).main:f.resolveDTLFormat(R.day).main}}ct.Additions=$}(H||(H={})),H}),it(k,"Core/Axis/LogarithmicAxis.js",[k["Core/Utilities.js"]],function(E){var H;let{addEvent:J,normalizeTickInterval:nt,pick:st}=E;return function(lt){function ct($){let S=$.userOptions,B=this.logarithmic;S.type!=="logarithmic"?this.logarithmic=void 0:B||(B=this.logarithmic=new q(this))}function K(){let $=this.logarithmic;$&&(this.lin2val=function(S){return $.lin2log(S)},this.val2lin=function(S){return $.log2lin(S)})}lt.compose=function($){return $.keepProps.includes("logarithmic")||($.keepProps.push("logarithmic"),J($,"init",ct),J($,"afterInit",K)),$};class q{constructor(S){this.axis=S}getLogTickPositions(S,B,R,L){let f=this.axis,w=f.len,M=f.options,A=[];if(L||(this.minorAutoInterval=void 0),S>=.5)S=Math.round(S),A=f.getLinearTickPositions(S,B,R);else if(S>=.08){let c,b,F,I,C,o,u,s=Math.floor(B);for(c=S>.3?[1,2,4]:S>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],b=s;b<R+1&&!u;b++)for(F=0,I=c.length;F<I&&!u;F++)(C=this.log2lin(this.lin2log(b)*c[F]))>B&&(!L||o<=R)&&o!==void 0&&A.push(o),o>R&&(u=!0),o=C}else{let c=this.lin2log(B),b=this.lin2log(R),F=L?f.getMinorTickInterval():M.tickInterval,I=M.tickPixelInterval/(L?5:1),C=L?w/f.tickPositions.length:w;S=nt(S=st(F==="auto"?null:F,this.minorAutoInterval,(b-c)*I/(C||1))),A=f.getLinearTickPositions(S,c,b).map(this.log2lin),L||(this.minorAutoInterval=S/5)}return L||(f.tickInterval=S),A}lin2log(S){return Math.pow(10,S)}log2lin(S){return Math.log(S)/Math.LN10}}lt.Additions=q}(H||(H={})),H}),it(k,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[k["Core/Utilities.js"]],function(E){var H;let{erase:J,extend:nt,isNumber:st}=E;return function(lt){let ct;function K(f){return this.addPlotBandOrLine(f,"plotBands")}function q(f,w){let M=this.userOptions,A=new ct(this,f);if(this.visible&&(A=A.render()),A){if(this._addedPlotLB||(this._addedPlotLB=!0,(M.plotLines||[]).concat(M.plotBands||[]).forEach(c=>{this.addPlotBandOrLine(c)})),w){let c=M[w]||[];c.push(f),M[w]=c}this.plotLinesAndBands.push(A)}return A}function $(f){return this.addPlotBandOrLine(f,"plotLines")}function S(f,w,M){M=M||this.options;let A=this.getPlotLinePath({value:w,force:!0,acrossPanes:M.acrossPanes}),c=[],b=this.horiz,F=!st(this.min)||!st(this.max)||f<this.min&&w<this.min||f>this.max&&w>this.max,I=this.getPlotLinePath({value:f,force:!0,acrossPanes:M.acrossPanes}),C,o=1,u;if(I&&A)for(F&&(u=I.toString()===A.toString(),o=0),C=0;C<I.length;C+=2){let s=I[C],e=I[C+1],t=A[C],r=A[C+1];(s[0]==="M"||s[0]==="L")&&(e[0]==="M"||e[0]==="L")&&(t[0]==="M"||t[0]==="L")&&(r[0]==="M"||r[0]==="L")&&(b&&t[1]===s[1]?(t[1]+=o,r[1]+=o):b||t[2]!==s[2]||(t[2]+=o,r[2]+=o),c.push(["M",s[1],s[2]],["L",e[1],e[2]],["L",r[1],r[2]],["L",t[1],t[2]],["Z"])),c.isFlat=u}return c}function B(f){this.removePlotBandOrLine(f)}function R(f){let w=this.plotLinesAndBands,M=this.options,A=this.userOptions;if(w){let c=w.length;for(;c--;)w[c].id===f&&w[c].destroy();[M.plotLines||[],A.plotLines||[],M.plotBands||[],A.plotBands||[]].forEach(function(b){for(c=b.length;c--;)(b[c]||{}).id===f&&J(b,b[c])})}}function L(f){this.removePlotBandOrLine(f)}lt.compose=function(f,w){let M=w.prototype;return M.addPlotBand||(ct=f,nt(M,{addPlotBand:K,addPlotLine:$,addPlotBandOrLine:q,getPlotBandPath:S,removePlotBand:B,removePlotLine:L,removePlotBandOrLine:R})),w}}(H||(H={})),H}),it(k,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[k["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],k["Core/Utilities.js"]],function(E,H){let{arrayMax:J,arrayMin:nt,defined:st,destroyObjectProperties:lt,erase:ct,fireEvent:K,merge:q,objectEach:$,pick:S}=H;class B{static compose(L){return E.compose(B,L)}constructor(L,f){this.axis=L,this.options=f,this.id=f.id}render(){K(this,"render");let{axis:L,options:f}=this,{horiz:w,logarithmic:M}=L,{color:A,events:c,zIndex:b=0}=f,F={},I=L.chart.renderer,C=f.to,o=f.from,u=f.value,s=f.borderWidth,e=f.label,{label:t,svgElem:r}=this,l=[],x,y=st(o)&&st(C),h=st(u),P=!r,U={class:"highcharts-plot-"+(y?"band ":"line ")+(f.className||"")},m=y?"bands":"lines";if(!L.chart.styledMode&&(h?(U.stroke=A||"#999999",U["stroke-width"]=S(f.width,1),f.dashStyle&&(U.dashstyle=f.dashStyle)):y&&(U.fill=A||"#e6e9ff",s&&(U.stroke=f.borderColor,U["stroke-width"]=s))),F.zIndex=b,m+="-"+b,(x=L.plotLinesAndBandsGroups[m])||(L.plotLinesAndBandsGroups[m]=x=I.g("plot-"+m).attr(F).add()),r||(this.svgElem=r=I.path().attr(U).add(x)),st(u))l=L.getPlotLinePath({value:M?.log2lin(u)??u,lineWidth:r.strokeWidth(),acrossPanes:f.acrossPanes});else{if(!(st(o)&&st(C)))return;l=L.getPlotBandPath(M?.log2lin(o)??o,M?.log2lin(C)??C,f)}return!this.eventsAdded&&c&&($(c,(O,_)=>{r?.on(_,W=>{c[_].apply(this,[W])})}),this.eventsAdded=!0),(P||!r.d)&&l?.length?r.attr({d:l}):r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),t&&(this.label=t=t.destroy()))),e&&(st(e.text)||st(e.formatter))&&l?.length&&L.width>0&&L.height>0&&!l.isFlat?(e=q({align:w&&y?"center":void 0,x:w?!y&&4:10,verticalAlign:!w&&y?"middle":void 0,y:w?y?16:10:y?6:-4,rotation:w&&!y?90:0},e),this.renderLabel(e,l,y,b)):t&&t.hide(),this}renderLabel(L,f,w,M){let A=this.axis,c=A.chart.renderer,b=this.label;b||(this.label=b=c.text(this.getLabelText(L),0,0,L.useHTML).attr({align:L.textAlign||L.align,rotation:L.rotation,class:"highcharts-plot-"+(w?"band":"line")+"-label "+(L.className||""),zIndex:M}),A.chart.styledMode||b.css(q({fontSize:"0.8em",textOverflow:"ellipsis"},L.style)),b.add());let F=f.xBounds||[f[0][1],f[1][1],w?f[2][1]:f[0][1]],I=f.yBounds||[f[0][2],f[1][2],w?f[2][2]:f[0][2]],C=nt(F),o=nt(I);if(b.align(L,!1,{x:C,y:o,width:J(F)-C,height:J(I)-o}),!b.alignValue||b.alignValue==="left"){let u=L.clip?A.width:A.chart.chartWidth;b.css({width:(b.rotation===90?A.height-(b.alignAttr.y-A.top):u-(b.alignAttr.x-A.left))+"px"})}b.show(!0)}getLabelText(L){return st(L.formatter)?L.formatter.call(this):L.text}destroy(){ct(this.axis.plotLinesAndBands,this),delete this.axis,lt(this)}}return B}),it(k,"Core/Tooltip.js",[k["Core/Animation/AnimationUtilities.js"],k["Core/Templating.js"],k["Core/Globals.js"],k["Core/Renderer/RendererUtilities.js"],k["Core/Renderer/RendererRegistry.js"],k["Core/Utilities.js"]],function(E,H,J,nt,st,lt){var ct;let{animObject:K}=E,{format:q}=H,{composed:$,doc:S,isSafari:B}=J,{distribute:R}=nt,{addEvent:L,clamp:f,css:w,discardElement:M,extend:A,fireEvent:c,isArray:b,isNumber:F,isString:I,merge:C,pick:o,pushUnique:u,splat:s,syncTimeout:e}=lt;class t{constructor(l,x,y){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=l,this.init(l,x),this.pointer=y}bodyFormatter(l){return l.map(function(x){let y=x.series.tooltipOptions;return(y[(x.point.formatPrefix||"point")+"Formatter"]||x.point.tooltipFormatter).call(x.point,y[(x.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(l){this.chart.series.forEach(function(x){let y=x&&x.tt;y&&(!y.isActive||l?x.tt=y.destroy():y.isActive=!1)})}defaultFormatter(l){let x,y=this.points||s(this);return(x=(x=[l.tooltipFooterHeaderFormatter(y[0])]).concat(l.bodyFormatter(y))).push(l.tooltipFooterHeaderFormatter(y[0],!0)),x}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(),M(this.container)),lt.clearTimeout(this.hideTimer)}getAnchor(l,x){let y,{chart:h,pointer:P}=this,U=h.inverted,m=h.plotTop,O=h.plotLeft;if((l=s(l))[0].series&&l[0].series.yAxis&&!l[0].series.yAxis.options.reversedStacks&&(l=l.slice().reverse()),this.followPointer&&x)x.chartX===void 0&&(x=P.normalize(x)),y=[x.chartX-O,x.chartY-m];else if(l[0].tooltipPos)y=l[0].tooltipPos;else{let _=0,W=0;l.forEach(function(Z){let n=Z.pos(!0);n&&(_+=n[0],W+=n[1])}),_/=l.length,W/=l.length,this.shared&&l.length>1&&x&&(U?_=x.chartX:W=x.chartY),y=[_-O,W-m]}return y.map(Math.round)}getClassName(l,x,y){let h=this.options,P=l.series,U=P.options;return[h.className,"highcharts-label",y&&"highcharts-tooltip-header",x?"highcharts-tooltip-box":"highcharts-tooltip",!y&&"highcharts-color-"+o(l.colorIndex,P.colorIndex),U&&U.className].filter(I).join(" ")}getLabel({anchorX:l,anchorY:x}={anchorX:0,anchorY:0}){let y=this,h=this.chart.styledMode,P=this.options,U=this.split&&this.allowShared,m=this.container,O=this.chart.renderer;if(this.label){let _=!this.label.hasClass("highcharts-label");(!U&&_||U&&!_)&&this.destroy()}if(!this.label){if(this.outside){let _=this.chart.options.chart.style,W=st.getRendererType();this.container=m=J.doc.createElement("div"),m.className="highcharts-tooltip-container",w(m,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(_&&_.zIndex||0)+3)}),this.renderer=O=new W(m,0,0,_,void 0,void 0,O.styledMode)}if(U?this.label=O.g("tooltip"):(this.label=O.label("",l,x,P.shape,void 0,void 0,P.useHTML,void 0,"tooltip").attr({padding:P.padding,r:P.borderRadius}),h||this.label.attr({fill:P.backgroundColor,"stroke-width":P.borderWidth||0}).css(P.style).css({pointerEvents:P.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),y.outside){let _=this.label;[_.xSetter,_.ySetter].forEach((W,Z)=>{_[Z?"ySetter":"xSetter"]=n=>{W.call(_,y.distance),_[Z?"y":"x"]=n,m&&(m.style[Z?"top":"left"]=`${n}px`)}})}this.label.attr({zIndex:8}).shadow(P.shadow).add()}return m&&!m.parentElement&&J.doc.body.appendChild(m),this.label}getPlayingField(){let{body:l,documentElement:x}=S,{chart:y,distance:h,outside:P}=this;return{width:P?Math.max(l.scrollWidth,x.scrollWidth,l.offsetWidth,x.offsetWidth,x.clientWidth)-2*h:y.chartWidth,height:P?Math.max(l.scrollHeight,x.scrollHeight,l.offsetHeight,x.offsetHeight,x.clientHeight):y.chartHeight}}getPosition(l,x,y){let{distance:h,chart:P,outside:U,pointer:m}=this,{inverted:O,plotLeft:_,plotTop:W,polar:Z}=P,{plotX:n=0,plotY:a=0}=y,d={},j=O&&y.h||0,{height:i,width:g}=this.getPlayingField(),p=m.getChartPosition(),T=tt=>tt*p.scaleX,v=tt=>tt*p.scaleY,N=tt=>{let et=tt==="x";return[tt,et?g:i,et?l:x].concat(U?[et?T(l):v(x),et?p.left-h+T(n+_):p.top-h+v(a+W),0,et?g:i]:[et?l:x,et?n+_:a+W,et?_:W,et?_+P.plotWidth:W+P.plotHeight])},Y=N("y"),V=N("x"),Q,at=!!y.negative;!Z&&P.hoverSeries?.yAxis?.reversed&&(at=!at);let ht=!this.followPointer&&o(y.ttBelow,!Z&&!O===at),z=function(tt,et,ot,rt,dt,ut,gt){let ft=U?tt==="y"?v(h):T(h):h,mt=(ot-rt)/2,Ct=rt<dt-h,yt=dt+h+rt<et,xt=dt-ft-ot+mt,Mt=dt+ft-mt;if(ht&&yt)d[tt]=Mt;else if(!ht&&Ct)d[tt]=xt;else if(Ct)d[tt]=Math.min(gt-rt,xt-j<0?xt:xt-j);else{if(!yt)return!1;d[tt]=Math.max(ut,Mt+j+ot>et?Mt:Mt+j)}},D=function(tt,et,ot,rt,dt){if(dt<h||dt>et-h)return!1;dt<ot/2?d[tt]=1:dt>et-rt/2?d[tt]=et-rt-2:d[tt]=dt-ot/2},G=function(tt){[Y,V]=[V,Y],Q=tt},X=()=>{z.apply(0,Y)!==!1?D.apply(0,V)!==!1||Q||(G(!0),X()):Q?d.x=d.y=0:(G(!0),X())};return(O&&!Z||this.len>1)&&G(),X(),d}hide(l){let x=this;lt.clearTimeout(this.hideTimer),l=o(l,this.options.hideDelay),this.isHidden||(this.hideTimer=e(function(){let y=x.getLabel();x.getLabel().animate({opacity:0}
2,{duration:l&&150,complete:()=>{y.hide(),x.container&&x.container.remove()}}),x.isHidden=!0},l))}init(l,x){this.chart=l,this.options=x,this.crosshairs=[],this.isHidden=!0,this.split=x.split&&!l.inverted&&!l.polar,this.shared=x.shared||this.split,this.outside=o(x.outside,!!(l.scrollablePixelsX||l.scrollablePixelsY))}shouldStickOnContact(l){return!!(!this.followPointer&&this.options.stickOnContact&&(!l||this.pointer.inClass(l.target,"highcharts-tooltip")))}move(l,x,y,h){let P=this,U=K(!P.isHidden&&P.options.animation),m=P.followPointer||(P.len||0)>1,O={x:l,y:x};m||(O.anchorX=y,O.anchorY=h),U.step=()=>P.drawTracker(),P.getLabel().animate(O,U)}refresh(l,x){let{chart:y,options:h,pointer:P,shared:U}=this,m=s(l),O=m[0],_=[],W=h.format,Z=h.formatter||this.defaultFormatter,n=y.styledMode,a={},d=this.allowShared;if(!h.enabled||!O.series)return;lt.clearTimeout(this.hideTimer),this.allowShared=!(!b(l)&&l.series&&l.series.noSharedTooltip),d=d&&!this.allowShared,this.followPointer=!this.split&&O.series.tooltipOptions.followPointer;let j=this.getAnchor(l,x),i=j[0],g=j[1];U&&this.allowShared?(P.applyInactiveState(m),m.forEach(function(v){v.setState("hover"),_.push(v.getLabelConfig())}),(a=O.getLabelConfig()).points=_):a=O.getLabelConfig(),this.len=_.length;let p=I(W)?q(W,a,y):Z.call(a,this),T=O.series;if(this.distance=o(T.tooltipOptions.distance,16),p===!1)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(p,m);else{let v=i,N=g;if(x&&P.isDirectTouch&&(v=x.chartX-y.plotLeft,N=x.chartY-y.plotTop),y.polar||T.options.clip===!1||m.some(Y=>P.isDirectTouch||Y.series.shouldShowTooltip(v,N))){let Y=this.getLabel(d&&this.tt||{});(!h.style.width||n)&&Y.css({width:(this.outside?this.getPlayingField():y.spacingBox).width+"px"}),Y.attr({class:this.getClassName(O),text:p&&p.join?p.join(""):p}),n||Y.attr({stroke:h.borderColor||O.color||T.color||"#666666"}),this.updatePosition({plotX:i,plotY:g,negative:O.negative,ttBelow:O.ttBelow,h:j[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}c(this,"refresh")}renderSplit(l,x){let y=this,{chart:h,chart:{chartWidth:P,chartHeight:U,plotHeight:m,plotLeft:O,plotTop:_,scrollablePixelsY:W=0,scrollablePixelsX:Z,styledMode:n},distance:a,options:d,options:{positioner:j},pointer:i}=y,{scrollLeft:g=0,scrollTop:p=0}=h.scrollablePlotArea?.scrollingContainer||{},T=y.outside&&typeof Z!="number"?S.documentElement.getBoundingClientRect():{left:g,right:g+P,top:p,bottom:p+U},v=y.getLabel(),N=this.renderer||h.renderer,Y=!!(h.xAxis[0]&&h.xAxis[0].opposite),{left:V,top:Q}=i.getChartPosition(),at=_+p,ht=0,z=m-W;function D(rt,dt,ut,gt,ft=!0){let mt,Ct;return ut?(mt=Y?0:z,Ct=f(rt-gt/2,T.left,T.right-gt-(y.outside?V:0))):(mt=dt-at,Ct=f(Ct=ft?rt-gt-a:rt+a,ft?Ct:T.left,T.right)),{x:Ct,y:mt}}I(l)&&(l=[!1,l]);let G=l.slice(0,x.length+1).reduce(function(rt,dt,ut){if(dt!==!1&&dt!==""){let gt=x[ut-1]||{isHeader:!0,plotX:x[0].plotX,plotY:m,series:{}},ft=gt.isHeader,mt=ft?y:gt.series,Ct=mt.tt=function(Pt,Lt,jt){let Rt=Pt,{isHeader:Et,series:$t}=Lt;if(!Rt){let Ut={padding:d.padding,r:d.borderRadius};n||(Ut.fill=d.backgroundColor,Ut["stroke-width"]=d.borderWidth??1),Rt=N.label("",0,0,d[Et?"headerShape":"shape"],void 0,void 0,d.useHTML).addClass(y.getClassName(Lt,!0,Et)).attr(Ut).add(v)}return Rt.isActive=!0,Rt.attr({text:jt}),n||Rt.css(d.style).attr({stroke:d.borderColor||Lt.color||$t.color||"#333333"}),Rt}(mt.tt,gt,dt.toString()),yt=Ct.getBBox(),xt=yt.width+Ct.strokeWidth();ft&&(ht=yt.height,z+=ht,Y&&(at-=ht));let{anchorX:Mt,anchorY:Tt}=function(Pt){let Lt,jt,{isHeader:Rt,plotX:Et=0,plotY:$t=0,series:Ut}=Pt;if(Rt)Lt=Math.max(O+Et,O),jt=_+m/2;else{let{xAxis:ie,yAxis:Bt}=Ut;Lt=ie.pos+f(Et,-a,ie.len+a),Ut.shouldShowTooltip(0,Bt.pos-_+$t,{ignoreX:!0})&&(jt=Bt.pos+$t)}return{anchorX:Lt=f(Lt,T.left-a,T.right+a),anchorY:jt}}(gt);if(typeof Tt=="number"){let Pt=yt.height+1,Lt=j?j.call(y,xt,Pt,gt):D(Mt,Tt,ft,xt);rt.push({align:j?0:void 0,anchorX:Mt,anchorY:Tt,boxWidth:xt,point:gt,rank:o(Lt.rank,ft?1:0),size:Pt,target:Lt.y,tt:Ct,x:Lt.x})}else Ct.isActive=!1}return rt},[]);!j&&G.some(rt=>{let{outside:dt}=y,ut=(dt?V:0)+rt.anchorX;return ut<T.left&&ut+rt.boxWidth<T.right||ut<V-T.left+rt.boxWidth&&T.right-ut>ut})&&(G=G.map(rt=>{let{x:dt,y:ut}=D(rt.anchorX,rt.anchorY,rt.point.isHeader,rt.boxWidth,!1);return A(rt,{target:ut,x:dt})})),y.cleanSplit(),R(G,z);let X={left:V,right:V};G.forEach(function(rt){let{x:dt,boxWidth:ut,isHeader:gt}=rt;!gt&&(y.outside&&V+dt<X.left&&(X.left=V+dt),!gt&&y.outside&&X.left+ut>X.right&&(X.right=V+dt))}),G.forEach(function(rt){let{x:dt,anchorX:ut,anchorY:gt,pos:ft,point:{isHeader:mt}}=rt,Ct={visibility:ft===void 0?"hidden":"inherit",x:dt,y:(ft||0)+at,anchorX:ut,anchorY:gt};if(y.outside&&dt<ut){let yt=V-X.left;yt>0&&(mt||(Ct.x=dt+yt,Ct.anchorX=ut+yt),mt&&(Ct.x=(X.right-X.left)/2,Ct.anchorX=ut+yt))}rt.tt.attr(Ct)});let{container:tt,outside:et,renderer:ot}=y;
vendor: 1,480 bytes, line 2
2if(et&&tt&&ot){let{width:rt,height:dt,x:ut,y:gt}=v.getBBox();ot.setSize(rt+ut,dt+gt,!1),tt.style.left=X.left+"px",tt.style.top=Q+"px"}B&&v.attr({opacity:v.opacity===1?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let l=this.chart,x=this.label,y=this.shared?l.hoverPoints:l.hoverPoint;if(!x||!y)return;let h={x:0,y:0,width:0,height:0},P=this.getAnchor(y),U=x.getBBox();P[0]+=l.plotLeft-(x.translateX||0),P[1]+=l.plotTop-(x.translateY||0),h.x=Math.min(0,P[0]),h.y=Math.min(0,P[1]),h.width=P[0]<0?Math.max(Math.abs(P[0]),U.width-P[0]):Math.max(Math.abs(P[0]),U.width),h.height=P[1]<0?Math.max(Math.abs(P[1]),U.height-Math.abs(P[1])):Math.max(Math.abs(P[1]),U.height),this.tracker?this.tracker.attr(h):(this.tracker=x.renderer.rect(h).addClass("highcharts-tracker").add(x),l.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(l){return l.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(l,x){let y=l.series,h=y.tooltipOptions,P=y.xAxis,U=P&&P.dateTime,m={isFooter:x,labelConfig:l},O=h.xDateFormat,_=h[x?"footerFormat":"headerFormat"];return c(this,"headerFormatter",m,function(W){U&&!O&&F(l.key)&&(O=U.getXDateFormat(l.key,h.dateTimeLabelFormats)),U&&O&&(l.point&&l.point.tooltipDateKeys||["key"]).forEac
2h(function(Z){_=_.replace("{point."+Z+"}","{point."+Z+":"+O+"}")}),y.chart.styledMode&&(_=this.styledModeFormat(_)),W.text=q(_,{point:l,series:y},this.chart)}),m.text}update(l){this.destroy(),this.init(this.chart,C(!0,this.options,l))}updatePosition(l){let{chart:x,container:y,distance:h,options:P,pointer:U,renderer:m}=this,{height:O=0,width:_=0}=this.getLabel(),{left:W,top:Z,scaleX:n,scaleY:a}=U.getChartPosition(),d=(P.positioner||this.getPosition).call(this,_,O,l),j=(l.plotX||0)+x.plotLeft,i=(l.plotY||0)+x.plotTop,g;m&&y&&(P.positioner&&(d.x+=W-h,d.y+=Z-h),g=(P.borderWidth||0)+2*h+2,m.setSize(_+g,O+g,!1),(n!==1||a!==1)&&(w(y,{transform:`scale(${n}, ${a})`}),j*=n,i*=a),j+=W-d.x,i+=Z-d.y),this.move(Math.round(d.x),Math.round(d.y||0),j,i)}}return(ct=t||(t={})).compose=function(r){u($,"Core.Tooltip")&&L(r,"afterInit",function(){let l=this.chart;l.options.tooltip&&(l.tooltip=new ct(l,l.options.tooltip,this))})},t}),it(k,"Core/Series/Point.js",[k["Core/Renderer/HTML/AST.js"],k["Core/Animation/AnimationUtilities.js"],k["Core/Defaults.js"],k["Core/Templating.js"],k["Core/Utilities.js"]],function(E,H,J,nt,st){let{animObject:lt}=H,{defaultOptions:ct}=J,{format:K}=nt,{addEvent:q,crisp:$,erase:S,extend:B,fireEvent:R,getNestedProperty:L,isArray:f,isFunction:w,isNumber:M,isObject:A,merge:c,pick:b,syncTimeout:F,removeEvent:I,uniqueKey:C}=st;class o{animateBeforeDestroy(){let s=this,e={x:s.startXPos,opacity:0},t=s.getGraphicalProps();t.singular.forEach(function(r){s[r]=s[r].animate(r==="dataLabel"?{x:s[r].startXPos,y:s[r].startYPos,opacity:0}:e)}),t.plural.forEach(function(r){s[r].forEach(function(l){l.element&&l.animate(B({x:s.startXPos},l.startYPos?{x:l.startXPos,y:l.startYPos}:{}))})})}applyOptions(s,e){let t=this.series,r=t.options.pointValKey||t.pointValKey;return B(this,s=o.prototype.optionsToObject.call(this,s)),this.options=this.options?B(this.options,s):s,s.group&&delete this.group,s.dataLabels&&delete this.dataLabels,r&&(this.y=o.prototype.getNestedProperty.call(this,r)),this.selected&&(this.state="select"),"name"in this&&e===void 0&&t.xAxis&&t.xAxis.hasNames&&(this.x=t.xAxis.nameToX(this)),this.x===void 0&&t?this.x=e??t.autoIncrement():M(s.x)&&t.options.relativeXValue&&(this.x=t.autoIncrement(s.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let s=this,e=s.series,t=e.chart,r=e.options.dataSorting,l=t.hoverPoints,x=lt(s.series.chart.renderer.globalAnimation),y=()=>{for(let h in(s.graphic||s.graphics||s.dataLabel||s.dataLabels)&&(I(s),s.destroyElements()),s)delete s[h]};s.legendItem&&t.legend.destroyItem(s),l&&(s.setState(),S(l,s),l.length||(t.hoverPoints=null)),s===t.hoverPoint&&s.onMouseOut(),r&&r.enabled?(this.animateBeforeDestroy(),F(y,x.duration)):y(),t.pointCount--}this.destroyed=!0}destroyElements(s){let e=this,t=e.getGraphicalProps(s);t.singular.forEach(function(r){e[r]=e[r].destroy()}),t.plural.forEach(function(r){e[r].forEach(function(l){l&&l.element&&l.destroy()}),delete e[r]})}firePointEvent(s,e,t){let r=this,l=this.series.options;r.manageEvent(s),s==="click"&&l.allowPointSelect&&(t=function(x){!r.destroyed&&r.select&&r.select(null,x.ctrlKey||x.metaKey||x.shiftKey)}),R(r,s,e,t)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(this.colorIndex!==void 0?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(s){let e,t,r=this,l=[],x={singular:[],plural:[]};for((s=s||{graphic:1,dataLabel:1}).graphic&&l.push("graphic","connector"),s.dataLabel&&l.push("dataLabel","dataLabelPath","dataLabelUpper"),t=l.length;t--;)r[e=l[t]]&&x.singular.push(e);return["graphic","dataLabel"].forEach(function(y){let h=y+"s";s[y]&&r[h]&&x.plural.push(h)}),x}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(s){return s?s.indexOf("custom.")===0?L(s,this.options):this[s]:void 0}getZone(){let s=this.series,e=s.zones,t=s.zoneAxis||"y",r,l=0;for(r=e[0];this[t]>=r.value;)r=e[++l];return this.nonZonedColor||(this.nonZonedColor=this.color),r&&r.color&&!this.options.color?this.color=r.color:this.color=this.nonZonedColor,r}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(s,e,t){this.formatPrefix="point",this.visible=!0,this.series=s,this.applyOptions(e,t),this.id??(this.id=C()),this.resolveColor(),s.chart.pointCount++,R(this,"afterInit")}isValid(){return(M(this.x)||this.x instanceof Date)&&M(this.y)}optionsToObject(s){let e=this.series,t=e.options.keys,r=t||e.pointArrayMap||["y"],l=r.length,x={},y,h=0,P=0;if(M(s)||s===null)x[r[0]]=s;else if(f(s))for(!t&&s.length>l&&((y=typeof s[0])=="string"?x.name=s[0]:y==="number"&&(x.x=s[0]),h++);P<l;)t&&s[h]===void 0||(r[P].indexOf(".")>0?o.prototype.setNestedProperty(x,s[h],r[P]):x[r[P]]=s[h]),h++,P++;else typeof s=="object"&&(x=s,s.dataLabels&&(e.hasDataLabels=()=>!0),s.marker&&(e._hasPointMarkers=!0));return x}pos(s,e=this.plotY){if(!this.destroyed){let{plotX:t,series:r}=this,{chart:l,xAxis:x,yAxis:y}=r,h=0,P=0;if(M(t)&&M(e))return s&&(h=x?x.pos:l.plotLeft,P=y?y.pos:l.plotTop),l.
vendor: 19,034 bytes, line 2
2inverted&&x&&y?[y.len-e+P,x.len-t+h]:[t+h,e+P]}}resolveColor(){let s=this.series,e=s.chart.options.chart,t=s.chart.styledMode,r,l,x=e.colorCount,y;delete this.nonZonedColor,s.options.colorByPoint?(t||(r=(l=s.options.colors||s.chart.options.colors)[s.colorCounter],x=l.length),y=s.colorCounter,s.colorCounter++,s.colorCounter===x&&(s.colorCounter=0)):(t||(r=s.color),y=s.colorIndex),this.colorIndex=b(this.options.colorIndex,y),this.color=b(this.options.color,r)}setNestedProperty(s,e,t){return t.split(".").reduce(function(r,l,x,y){let h=y.length-1===x;return r[l]=h?e:A(r[l],!0)?r[l]:{},r[l]},s),s}shouldDraw(){return!this.isNull}tooltipFormatter(s){let e=this.series,t=e.tooltipOptions,r=b(t.valueDecimals,""),l=t.valuePrefix||"",x=t.valueSuffix||"";return e.chart.styledMode&&(s=e.chart.tooltip.styledModeFormat(s)),(e.pointArrayMap||["y"]).forEach(function(y){y="{point."+y,(l||x)&&(s=s.replace(RegExp(y+"}","g"),l+y+"}"+x)),s=s.replace(RegExp(y+"}","g"),y+":,."+r+"f}")}),K(s,{point:this,series:this.series},e.chart)}update(s,e,t,r){let l,x=this,y=x.series,h=x.graphic,P=y.chart,U=y.options;function m(){x.applyOptions(s);let O=h&&x.hasMockGraphic,_=x.y===null?!O:O;h&&_&&(x.graphic=h.destroy(),delete x.hasMockGraphic),A(s,!0)&&(h&&h.element&&s&&s.marker&&s.marker.symbol!==void 0&&(x.graphic=h.destroy()),s?.dataLabels&&x.dataLabel&&(x.dataLabel=x.dataLabel.destroy())),l=x.index,y.updateParallelArrays(x,l),U.data[l]=A(U.data[l],!0)||A(s,!0)?x.options:b(s,U.data[l]),y.isDirty=y.isDirtyData=!0,!y.fixedBox&&y.hasCartesianSeries&&(P.isDirtyBox=!0),U.legendType==="point"&&(P.isDirtyLegend=!0),e&&P.redraw(t)}e=b(e,!0),r===!1?m():x.firePointEvent("update",{options:s},m)}remove(s,e){this.series.removePoint(this.series.data.indexOf(this),s,e)}select(s,e){let t=this,r=t.series,l=r.chart;s=b(s,!t.selected),this.selectedStaging=s,t.firePointEvent(s?"select":"unselect",{accumulate:e},function(){t.selected=t.options.selected=s,r.options.data[r.data.indexOf(t)]=t.options,t.setState(s&&"select"),e||l.getSelectedPoints().forEach(function(x){let y=x.series;x.selected&&x!==t&&(x.selected=x.options.selected=!1,y.options.data[y.data.indexOf(x)]=x.options,x.setState(l.hoverPoints&&y.options.inactiveOtherPoints?"inactive":""),x.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(s){let{inverted:e,pointer:t}=this.series.chart;t&&(s=s?t.normalize(s):t.getChartCoordinatesFromPoint(this,e),t.runPointActions(s,this))}onMouseOut(){let s=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(s.hoverPoints||[]).forEach(function(e){e.setState()}),s.hoverPoints=s.hoverPoint=null}manageEvent(s){let e=c(this.series.options.point,this.options),t=e.events?.[s];w(t)&&(!this.hcEvents?.[s]||this.hcEvents?.[s]?.map(r=>r.fn).indexOf(t)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=q(this,s,t)):this.importedUserEvent&&!t&&this.hcEvents?.[s]&&(I(this,s),delete this.hcEvents[s],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(s,e){let t=this.series,r=this.state,l=t.options.states[s||"normal"]||{},x=ct.plotOptions[t.type].marker&&t.options.marker,y=x&&x.enabled===!1,h=x&&x.states&&x.states[s||"normal"]||{},P=h.enabled===!1,U=this.marker||{},m=t.chart,O=x&&t.markerAttribs,_=t.halo,W,Z,n,a=t.stateMarkerGraphic,d;if((s=s||"")===this.state&&!e||this.selected&&s!=="select"||l.enabled===!1||s&&(P||y&&h.enabled===!1)||s&&U.states&&U.states[s]&&U.states[s].enabled===!1)return;if(this.state=s,O&&(W=t.markerAttribs(this,s)),this.graphic&&!this.hasMockGraphic){if(r&&this.graphic.removeClass("highcharts-point-"+r),s&&this.graphic.addClass("highcharts-point-"+s),!m.styledMode){Z=t.pointAttribs(this,s),n=b(m.options.chart.animation,l.animation);let p=Z.opacity;t.options.inactiveOtherPoints&&M(p)&&(this.dataLabels||[]).forEach(function(T){T&&!T.hasClass("highcharts-data-label-hidden")&&(T.animate({opacity:p},n),T.connector&&T.connector.animate({opacity:p},n))}),this.graphic.animate(Z,n)}W&&this.graphic.animate(W,b(m.options.chart.animation,h.animation,x.animation)),a&&a.hide()}else s&&h&&(d=U.symbol||t.symbol,a&&a.currentSymbol!==d&&(a=a.destroy()),W&&(a?a[e?"animate":"attr"]({x:W.x,y:W.y}):d&&(t.stateMarkerGraphic=a=m.renderer.symbol(d,W.x,W.y,W.width,W.height).add(t.markerGroup),a.currentSymbol=d)),!m.styledMode&&a&&this.state!=="inactive"&&a.attr(t.pointAttribs(this,s))),a&&(a[s&&this.isInside?"show":"hide"](),a.element.point=this,a.addClass(this.getClassName(),!0));let j=l.halo,i=this.graphic||a,g=i&&i.visibility||"inherit";j&&j.size&&i&&g!=="hidden"&&!this.isCluster?(_||(t.halo=_=m.renderer.path().add(i.parentGroup)),_.show()[e?"animate":"attr"]({d:this.haloPath(j.size)}),_.attr({class:"highcharts-halo highcharts-color-"+b(this.colorIndex,t.colorIndex)+(this.className?" "+this.className:""),visibility:g,zIndex:-1}),_.point=this,m.styledMode||_.attr(B({fill:this.color||t.color,"fill-opacity":j.opacity},E.filterUserAttributes(j.attributes||{})))):_?.point?.haloPath&&!_.point.destroyed&&_.animate({d:_.point.haloPath(0)},null,_.hide),R(this,"afterSetState",{state:s})}haloPath(s){let e=this.pos();return e?this.series.chart.renderer.symbols.circle($(e[0],1)-s,e[1]-s,2*s,2*s):[]}}return o}),it(k,"Core/Pointer.js",[k["Core/Color/Color.js"],k["Core/Globals.js"],k["Core/Utilities.js"]],function(E,H,J){var nt;let{parse:st}=E,{charts:lt,composed:ct,isTouchDevice:K}=H,{addEvent:q,attr:$,css:S,extend:B,find:R,fireEvent:L,isNumber:f,isObject:w,objectEach:M,offset:A,pick:c,pushUnique:b,splat:F}=J;class I{applyInactiveState(o){let u=[],s;(o||[]).forEach(function(e){s=e.series,u.push(s),s.linkedParent&&u.push(s.linkedParent),s.linkedSeries&&(u=u.concat(s.linkedSeries)),s.navigatorSeries&&u.push(s.navigatorSeries)}),this.chart.series.forEach(function(e){u.indexOf(e)===-1?e.setState("inactive",!0):e.options.inactiveOtherPoints&&e.setAllPointsToState("inactive")})}destroy(){let o=this;this.eventsToUnbind.forEach(u=>u()),this.eventsToUnbind=[],!H.chartCount&&(I.unbindDocumentMouseUp&&I.unbindDocumentMouseUp.forEach(u=>u()),I.unbindDocumentTouchEnd&&(I.unbindDocumentTouchEnd=I.unbindDocumentTouchEnd())),clearInterval(o.tooltipTimeout),M(o,function(u,s){o[s]=void 0})}getSelectionMarkerAttrs(o,u){let s={args:{chartX:o,chartY:u},attrs:{},shapeType:"rect"};return L(this,"getSelectionMarkerAttrs",s,e=>{let t,{chart:r,zoomHor:l,zoomVert:x}=this,{mouseDownX:y=0,mouseDownY:h=0}=r,P=e.attrs;P.x=r.plotLeft,P.y=r.plotTop,P.width=l?1:r.plotWidth,P.height=x?1:r.plotHeight,l&&(t=o-y,P.width=Math.max(1,Math.abs(t)),P.x=(t>0?0:t)+y),x&&(t=u-h,P.height=Math.max(1,Math.abs(t)),P.y=(t>0?0:t)+h)}),s}drag(o){let{chart:u}=this,{mouseDownX:s=0,mouseDownY:e=0}=u,{panning:t,panKey:r,selectionMarkerFill:l}=u.options.chart,x=u.plotLeft,y=u.plotTop,h=u.plotWidth,P=u.plotHeight,U=w(t)?t.enabled:t,m=r&&o[`${r}Key`],O=o.chartX,_=o.chartY,W,Z=this.selectionMarker;if((!Z||!Z.touch)&&(O<x?O=x:O>x+h&&(O=x+h),_<y?_=y:_>y+P&&(_=y+P),this.hasDragged=Math.sqrt(Math.pow(s-O,2)+Math.pow(e-_,2)),this.hasDragged>10)){W=u.isInsidePlot(s-x,e-y,{visiblePlotOnly:!0});let{shapeType:n,attrs:a}=this.getSelectionMarkerAttrs(O,_);(u.hasCartesianSeries||u.mapView)&&this.hasZoom&&W&&!m&&!Z&&(this.selectionMarker=Z=u.renderer[n](),Z.attr({class:"highcharts-selection-marker",zIndex:7}).add(),u.styledMode||Z.attr({fill:l||st("#334eff").setOpacity(.25).get()})),Z&&Z.attr(a),W&&!Z&&U&&u.pan(o,t)}}dragStart(o){let u=this.chart;u.mouseIsDown=o.type,u.cancelClick=!1,u.mouseDownX=o.chartX,u.mouseDownY=o.chartY}getSelectionBox(o){let u={args:{marker:o},result:o.getBBox()};return L(this,"getSelectionBox",u),u.result}drop(o){let u,{chart:s,selectionMarker:e}=this;for(let t of s.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(r=>r.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),u=!0));if(u&&s.redraw(),e&&o){if(this.hasDragged){let t=this.getSelectionBox(e);s.transform({axes:s.axes.filter(r=>r.zoomEnabled&&(r.coll==="xAxis"&&this.zoomX||r.coll==="yAxis"&&this.zoomY)),selection:Yt({originalEvent:o,xAxis:[],yAxis:[]},t),from:t})}f(s.index)&&(this.selectionMarker=e.destroy())}s&&f(s.index)&&(S(s.container,{cursor:s._cursor}),s.cancelClick=this.hasDragged>10,s.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(o,u,s){let e;return o.forEach(function(t){let r=!(t.noSharedTooltip&&u)&&0>t.options.findNearestPointBy.indexOf("y"),l=t.searchPoint(s,r);w(l,!0)&&l.series&&(!w(e,!0)||function(x,y){let h=x.distX-y.distX,P=x.dist-y.dist,U=y.series.group?.zIndex-x.series.group?.zIndex;return h!==0&&u?h:P!==0?P:U!==0?U:x.series.index>y.series.index?-1:1}(e,l)>0)&&(e=l)}),e}getChartCoordinatesFromPoint(o,u){let{xAxis:s,yAxis:e}=o.series,t=o.shapeArgs;if(s&&e){let r=o.clientX??o.plotX??0,l=o.plotY||0;return o.isNode&&t&&f(t.x)&&f(t.y)&&(r=t.x,l=t.y),u?{chartX:e.len+e.pos-l,chartY:s.len+s.pos-r}:{chartX:r+s.pos,chartY:l+e.pos}}if(t&&t.x&&t.y)return{chartX:t.x,chartY:t.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:o}=this.chart,u=A(o);this.chartPosition={left:u.left,top:u.top,scaleX:1,scaleY:1};let{offsetHeight:s,offsetWidth:e}=o;return e>2&&s>2&&(this.chartPosition.scaleX=u.width/e,this.chartPosition.scaleY=u.height/s),this.chartPosition}getCoordinates(o){let u={xAxis:[],yAxis:[]};for(let s of this.chart.axes)u[s.isXAxis?"xAxis":"yAxis"].push({axis:s,value:s.toValue(o[s.horiz?"chartX":"chartY"])});return u}getHoverData(o,u,s,e,t,r){let l=[],x=function(m){return m.visible&&!(!t&&m.directTouch)&&c(m.options.enableMouseTracking,!0)},y=u,h,P={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:t};L(this,"beforeGetHoverData",P),h=y&&!y.stickyTracking?[y]:s.filter(m=>m.stickyTracking&&(P.filter||x)(m));let U=e&&o||!r?o:this.findNearestKDPoint(h,t,r);return y=U&&U.series,U&&(t&&!y.noSharedTooltip?(h=s.filter(function(m){return P.filter?P.filter(m):x(m)&&!m.noSharedTooltip})).forEach(function(m){let O=R(m.points,function(_){return _.x===U.x&&!_.isNull});w(O)&&(m.boosted&&m.boost&&(O=m.boost.getPoint(O)),l.push(O))}):l.push(U)),L(this,"afterGetHoverData",P={hoverPoint:U}),{hoverPoint:P.hoverPoint,hoverSeries:y,hoverPoints:l}}getPointFromEvent(o){let u=o.target,s;for(;u&&!s;)s=u.point,u=u.parentNode;return s}onTrackerMouseOut(o){let u=this.chart,s=o.relatedTarget,e=u.hoverSeries;this.isDirectTouch=!1,!e||!s||e.stickyTracking||this.inClass(s,"highcharts-tooltip")||this.inClass(s,"highcharts-series-"+e.index)&&this.inClass(s,"highcharts-tracker")||e.onMouseOut()}inClass(o,u){let s=o,e;for(;s;){if(e=$(s,"class")){if(e.indexOf(u)!==-1)return!0;if(e.indexOf("highcharts-container")!==-1)return!1}s=s.parentElement}}constructor(o,u){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=u,this.chart=o,this.runChartClick=!!u.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),L(this,"afterInit")}normalize(o,u){let s=o.touches,e=s?s.length?s.item(0):c(s.changedTouches,o.changedTouches)[0]:o;u||(u=this.getChartPosition());let t=e.pageX-u.left,r=e.pageY-u.top;return B(o,{chartX:Math.round(t/=u.scaleX),chartY:Math.round(r/=u.scaleY)})}onContainerClick(o){let u=this.chart,s=u.hoverPoint,e=this.normalize(o),t=u.plotLeft,r=u.plotTop;!u.cancelClick&&(s&&this.inClass(e.target,"highcharts-tracker")?(L(s.series,"click",B(e,{point:s})),u.hoverPoint&&s.firePointEvent("click",e)):(B(e,this.getCoordinates(e)),u.isInsidePlot(e.chartX-t,e.chartY-r,{visiblePlotOnly:!0})&&L(u,"click",e)))}onContainerMouseDown(o){let u=(1&(o.buttons||o.button))==1;o=this.normalize(o),H.isFirefox&&o.button!==0&&this.onContainerMouseMove(o),(o.button===void 0||u)&&(this.zoomOption(o),u&&o.preventDefault?.(),this.dragStart(o))}onContainerMouseLeave(o){let{pointer:u}=lt[c(I.hoverChartIndex,-1)]||{};o=this.normalize(o),this.onContainerMouseMove(o),u&&!this.inClass(o.relatedTarget,"highcharts-tooltip")&&(u.reset(),u.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(o){let u=this.chart,s=u.tooltip,e=this.normalize(o);this.setHoverChartIndex(o),(u.mouseIsDown==="mousedown"||this.touchSelect(e))&&this.drag(e),!u.openMenu&&(this.inClass(e.target,"highcharts-tracker")||u.isInsidePlot(e.chartX-u.plotLeft,e.chartY-u.plotTop,{visiblePlotOnly:!0}))&&!(s&&s.shouldStickOnContact(e))&&(this.inClass(e.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(e))}onDocumentTouchEnd(o){this.onDocumentMouseUp(o)}onContainerTouchMove(o){this.touchSelect(o)?this.onContainerMouseMove(o):this.touch(o)}onContainerTouchStart(o){this.touchSelect(o)?this.onContainerMouseDown(o):(this.zoomOption(o),this.touch(o,!0))}onDocumentMouseMove(o){let u=this.chart,s=u.tooltip,e=this.chartPosition,t=this.normalize(o,e);!e||u.isInsidePlot(t.chartX-u.plotLeft,t.chartY-u.plotTop,{visiblePlotOnly:!0})||s&&s.shouldStickOnContact(t)||t.target!==u.container.ownerDocument&&this.inClass(t.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(o){lt[c(I.hoverChartIndex,-1)]?.pointer?.drop(o)}pinch(o){let u=this,{chart:s,hasZoom:e,lastTouches:t}=u,r=[].map.call(o.touches||[],P=>u.normalize(P)),l=r.length,x=l===1&&(u.inClass(o.target,"highcharts-tracker")&&s.runTrackerClick||u.runChartClick),y=s.tooltip,h=l===1&&c(y?.options.followTouchMove,!0);l>1?u.initiated=!0:h&&(u.initiated=!1),e&&u.initiated&&!x&&o.cancelable!==!1&&o.preventDefault(),o.type==="touchstart"?(u.pinchDown=r,u.res=!0,s.mouseDownX=o.chartX):h?this.runPointActions(u.normalize(o)):t&&(L(s,"touchpan",{originalEvent:o,touches:r},()=>{let P=U=>{let m=U[0],O=U[1]||m;return{x:m.chartX,y:m.chartY,width:O.chartX-m.chartX,height:O.chartY-m.chartY}};s.transform({axes:s.axes.filter(U=>U.zoomEnabled&&(this.zoomHor&&U.horiz||this.zoomVert&&!U.horiz)),to:P(r),from:P(t),trigger:o.type})}),u.res&&(u.res=!1,this.reset(!1,0))),u.lastTouches=r}reset(o,u){let s=this.chart,e=s.hoverSeries,t=s.hoverPoint,r=s.hoverPoints,l=s.tooltip,x=l&&l.shared?r:t;o&&x&&F(x).forEach(function(y){y.series.isCartesian&&y.plotX===void 0&&(o=!1)}),o?l&&x&&F(x).length&&(l.refresh(x),l.shared&&r?r.forEach(function(y){y.setState(y.state,!0),y.series.isCartesian&&(y.series.xAxis.crosshair&&y.series.xAxis.drawCrosshair(null,y),y.series.yAxis.crosshair&&y.series.yAxis.drawCrosshair(null,y))}):t&&(t.setState(t.state,!0),s.axes.forEach(function(y){y.crosshair&&t.series[y.coll]===y&&y.drawCrosshair(null,t)}))):(t&&t.onMouseOut(),r&&r.forEach(function(y){y.setState()}),e&&e.onMouseOut(),l&&l.hide(u),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),s.axes.forEach(function(y){y.hideCrosshair()}),s.hoverPoints=s.hoverPoint=void 0)}runPointActions(o,u,s){let e=this.chart,t=e.series,r=e.tooltip&&e.tooltip.options.enabled?e.tooltip:void 0,l=!!r&&r.shared,x=u||e.hoverPoint,y=x&&x.series||e.hoverSeries,h=(!o||o.type!=="touchmove")&&(!!u||y&&y.directTouch&&this.isDirectTouch),P=this.getHoverData(x,y,t,h,l,o);x=P.hoverPoint,y=P.hoverSeries;let U=P.hoverPoints,m=y&&y.tooltipOptions.followPointer&&!y.tooltipOptions.split,O=l&&y&&!y.noSharedTooltip;if(x&&(s||x!==e.hoverPoint||r&&r.isHidden)){if((e.hoverPoints||[]).forEach(function(_){U.indexOf(_)===-1&&_.setState()}),e.hoverSeries!==y&&y.onMouseOver(),this.applyInactiveState(U),(U||[]).forEach(function(_){_.setState("hover")}),e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut"),!x.series)return;e.hoverPoints=U,e.hoverPoint=x,x.firePointEvent("mouseOver",void 0,()=>{r&&x&&r.refresh(O?U:x,o)})}else if(m&&r&&!r.isHidden){let _=r.getAnchor([{}],o);e.isInsidePlot(_[0],_[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:_[0],plotY:_[1]})}this.unDocMouseMove||(this.unDocMouseMove=q(e.container.ownerDocument,"mousemove",_=>lt[I.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(_)),this.eventsToUnbind.push(this.unDocMouseMove)),e.axes.forEach(function(_){let W,Z=c((_.crosshair||{}).snap,!0);!Z||(W=e.hoverPoint)&&W.series[_.coll]===_||(W=R(U,n=>n.series&&n.series[_.coll]===_)),W||!Z?_.drawCrosshair(o,W):_.hideCrosshair()})}setDOMEvents(){let o=this.chart.container,u=o.ownerDocument;o.onmousedown=this.onContainerMouseDown.bind(this),o.onmousemove=this.onContainerMouseMove.bind(this),o.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(q(o,"mouseenter",this.onContainerMouseEnter.bind(this)),q(o,"mouseleave",this.onContainerMouseLeave.bind(this))),I.unbindDocumentMouseUp||(I.unbindDocumentMouseUp=[]),I.unbindDocumentMouseUp.push(q(u,"mouseup",this.onDocumentMouseUp.bind(this)));let s=this.chart.renderTo.parentElement;for(;s&&s.tagName!=="BODY";)this.eventsToUnbind.push(q(s,"scroll",()=>{delete this.chartPosition})),s=s.parentElement;this.eventsToUnbind.push(q(o,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),q(o,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),I.unbindDocumentTouchEnd||(I.unbindDocumentTouchEnd=q(u,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),q(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!K)return;let o=this.pointerCaptureEventsToUnbind,u=this.chart,s=u.container,e=c(u.options.tooltip?.followTouchMove,!0)&&u.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&e?(o.push(q(s,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),q(s,"pointermove",t=>{u.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),u.styledMode||S(s,{"touch-action":"none"}),s.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!e&&(o.forEach(t=>t()),o.length=0,u.styledMode||S(s,{"touch-action":c(u.options.chart.style?.["touch-action"],"manipulation")}),s.className=s.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(o){let u=this.chart,s=H.charts[c(I.hoverChartIndex,-1)];if(s&&s!==u){let e={relatedTarget:u.container};o&&!o?.relatedTarget&&(o=Yt(Yt({},e),o)),s.pointer?.onContainerMouseLeave(o||e)}s&&s.mouseIsDown||(I.hoverChartIndex=u.index)}touch(o,u){let s,{chart:e,pinchDown:t=[]}=this;this.setHoverChartIndex(),(o=this.normalize(o)).touches.length===1?e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})&&!e.openMenu?(u&&this.runPointActions(o),o.type==="touchmove"&&(s=!!t[0]&&Math.pow(t[0].chartX-o.chartX,2)+Math.pow(t[0].chartY-o.chartY,2)>=16),c(s,!0)&&this.pinch(o)):u&&this.reset():o.touches.length===2&&this.pinch(o)}touchSelect(o){return!!(this.chart.zooming.singleTouch&&o.touches&&o.touches.length===1)}zoomOption(o){let u=this.chart,s=u.inverted,e=u.zooming.type||"",t,r;/touch/.test(o.type)&&(e=c(u.zooming.pinchType,e)),this.zoomX=t=/x/.test(e),this.zoomY=r=/y/.test(e),this.zoomHor=t&&!s||r&&s,this.zoomVert=r&&!s||t&&s,this.hasZoom=t||r}}return(nt=I||(I={})).compose=function(C){b(ct,"Core.Pointer")&&q(C,"beforeRender",function(){this.pointer=new nt(this,this.options)})},I}),it(k,"Core/Legend/LegendSymbol.js",[k["Core/Utilities.js"]],function(E){var H;let{extend:J,merge:nt,pick:st}=E;return function(lt){function ct(K,q,$){let S=this.legendItem=this.legendItem||{},{chart:B,options:R}
2=this,{baseline:L=0,symbolWidth:f,symbolHeight:w}=K,M=this.symbol||"circle",A=w/2,c=B.renderer,b=S.group,F=L-Math.round(w*($?.4:.3)),I={},C,o=R.marker,u=0;if(B.styledMode||(I["stroke-width"]=Math.min(R.lineWidth||0,24),R.dashStyle?I.dashstyle=R.dashStyle:R.linecap==="square"||(I["stroke-linecap"]="round")),S.line=c.path().addClass("highcharts-graph").attr(I).add(b),$&&(S.area=c.path().addClass("highcharts-area").add(b)),I["stroke-linecap"]&&(u=Math.min(S.line.strokeWidth(),f)/2),f){let s=[["M",u,F],["L",f-u,F]];S.line.attr({d:s}),S.area?.attr({d:[...s,["L",f-u,L],["L",u,L]]})}if(o&&o.enabled!==!1&&f){let s=Math.min(st(o.radius,A),A);M.indexOf("url")===0&&(o=nt(o,{width:w,height:w}),s=0),S.symbol=C=c.symbol(M,f/2-s,F-s,2*s,2*s,J({context:"legend"},o)).addClass("highcharts-point").add(b),C.isMarker=!0}}lt.areaMarker=function(K,q){ct.call(this,K,q,!0)},lt.lineMarker=ct,lt.rectangle=function(K,q){let $=q.legendItem||{},S=K.options,B=K.symbolHeight,R=S.squareSymbol,L=R?B:K.symbolWidth;$.symbol=this.chart.renderer.rect(R?(K.symbolWidth-B)/2:0,K.baseline-B+1,L,B,st(K.options.symbolRadius,B/2)).addClass("highcharts-point").attr({zIndex:3}).add($.group)}}(H||(H={})),H}),it(k,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:E}=this.series.chart;return typeof this.y!="number"?"":E(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"}}),it(k,"Core/Series/SeriesRegistry.js",[k["Core/Globals.js"],k["Core/Defaults.js"],k["Core/Series/Point.js"],k["Core/Utilities.js"]],function(E,H,J,nt){var st;let{defaultOptions:lt}=H,{extend:ct,extendClass:K,merge:q}=nt;return function($){function S(B,R){let L=lt.plotOptions||{},f=R.defaultOptions,w=R.prototype;return w.type=B,w.pointClass||(w.pointClass=J),!$.seriesTypes[B]&&(f&&(L[B]=f),$.seriesTypes[B]=R,!0)}$.seriesTypes=E.seriesTypes,$.registerSeriesType=S,$.seriesType=function(B,R,L,f,w){let M=lt.plotOptions||{};if(R=R||"",M[B]=q(M[R],L),delete $.seriesTypes[B],S(B,K($.seriesTypes[R]||function(){},f)),$.seriesTypes[B].prototype.type=B,w){class A extends J{}ct(A.prototype,w),$.seriesTypes[B].prototype.pointClass=A}return $.seriesTypes[B]}}(st||(st={})),st}),it(k,"Core/Series/Series.js",[k["Core/Animation/AnimationUtilities.js"],k["Core/Defaults.js"],k["Core/Foundation.js"],k["Core/Globals.js"],k["Core/Legend/LegendSymbol.js"],k["Core/Series/Point.js"],k["Core/Series/SeriesDefaults.js"],k["Core/Series/SeriesRegistry.js"],k["Core/Renderer/SVG/SVGElement.js"],k["Core/Utilities.js"]],function(E,H,J,nt,st,lt,ct,K,q,$){let{animObject:S,setAnimation:B}=E,{defaultOptions:R}=H,{registerEventOptions:L}=J,{svg:f,win:w}=nt,{seriesTypes:M}=K,{arrayMax:A,arrayMin:c,clamp:b,correctFloat:F,crisp:I,defined:C,destroyObjectProperties:o,diffObjects:u,erase:s,error:e,extend:t,find:r,fireEvent:l,getClosestDistance:x,getNestedProperty:y,insertItem:h,isArray:P,isNumber:U,isString:m,merge:O,objectEach:_,pick:W,removeEvent:Z,splat:n,syncTimeout:a}=$;class d{constructor(){this.zoneAxis="y"}init(i,g){let p;l(this,"init",{options:g});let T=this,v=i.series;this.eventsToUnbind=[],T.chart=i,T.options=T.setOptions(g);let N=T.options,Y=N.visible!==!1;T.linkedSeries=[],T.bindAxes(),t(T,{name:N.name,state:"",visible:Y,selected:N.selected===!0}),L(this,N);let V=N.events;(V&&V.click||N.point&&N.point.events&&N.point.events.click||N.allowPointSelect)&&(i.runTrackerClick=!0),T.getColor(),T.getSymbol(),T.parallelArrays.forEach(function(Q){T[Q+"Data"]||(T[Q+"Data"]=[])}),T.isCartesian&&(i.hasCartesianSeries=!0),v.length&&(p=v[v.length-1]),T._i=W(p&&p._i,-1)+1,T.opacity=T.options.opacity,i.orderItems("series",h(this,v)),N.dataSorting&&N.dataSorting.enabled?T.setDataSortingOptions():T.points||T.data||T.setData(N.data,!1),l(this,"afterInit")}is(i){return M[i]&&this instanceof M[i]}bindAxes(){let i,g=this,p=g.options,T=g.chart;
2l(this,"bindAxes",null,function(){(g.axisTypes||[]).forEach(function(v){(T[v]||[]).forEach(function(N){i=N.options,(W(p[v],0)===N.index||p[v]!==void 0&&p[v]===i.id)&&(h(g,N.series),g[v]=N,N.isDirty=!0)}),g[v]||g.optionalAxis===v||e(18,!0,T)})}),l(this,"afterBindAxes")}updateParallelArrays(i,g,p){let T=i.series,v=U(g)?function(N){let Y=N==="y"&&T.toYData?T.toYData(i):i[N];T[N+"Data"][g]=Y}:function(N){Array.prototype[g].apply(T[N+"Data"],p)};T.parallelArrays.forEach(v)}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(i,g){let p=i.marker,T=g.marker||{};return p&&(T.enabled&&!p.enabled||T.symbol!==p.symbol||T.height!==p.height||T.width!==p.width)}autoIncrement(i){let g=this.options,p=g.pointIntervalUnit,T=g.relativeXValue,v=this.chart.time,N=this.xIncrement,Y,V;return N=W(N,g.pointStart,0),this.pointInterval=V=W(this.pointInterval,g.pointInterval,1),T&&U(i)&&(V*=i),p&&(Y=new v.Date(N),p==="day"?v.set("Date",Y,v.get("Date",Y)+V):p==="month"?v.set("Month",Y,v.get("Month",Y)+V):p==="year"&&v.set("FullYear",Y,v.get("FullYear",Y)+V),V=Y.getTime()-N),T&&U(i)?N+V:(this.xIncrement=N+V,N)}setDataSortingOptions(){let i=this.options;t(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),C(i.pointRange)||(i.pointRange=1)}setOptions(i){let g,p=this.chart,T=p.options.plotOptions,v=p.userOptions||{},N=O(i),Y=p.styledMode,V={plotOptions:T,userOptions:N};l(this,"setOptions",V);let Q=V.plotOptions[this.type],at=v.plotOptions||{},ht=at.series||{},z=R.plotOptions[this.type]||{},D=at[this.type]||{};this.userOptions=V.userOptions;let G=O(Q,T.series,D,N);this.tooltipOptions=O(R.tooltip,R.plotOptions.series?.tooltip,z?.tooltip,p.userOptions.tooltip,at.series?.tooltip,D.tooltip,N.tooltip),this.stickyTracking=W(N.stickyTracking,D.stickyTracking,ht.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||G.stickyTracking),Q.marker===null&&delete G.marker,this.zoneAxis=G.zoneAxis||"y";let X=this.zones=(G.zones||[]).map(tt=>Yt({},tt));return(G.negativeColor||G.negativeFillColor)&&!G.zones&&(g={value:G[this.zoneAxis+"Threshold"]||G.threshold||0,className:"highcharts-negative"},Y||(g.color=G.negativeColor,g.fillColor=G.negativeFillColor),X.push(g)),X.length&&C(X[X.length-1].value)&&X.push(Y?{}:{color:this.color,fillColor:this.fillColor}),l(this,"afterSetOptions",{options:G}),G}getName(){return W(this.options.name,"Series "+(this.index+1))}getCyclic(i,g,p){let T,v,N=this.chart,Y=`${i}Index`,V=`${i}Counter`,Q=p?.length||N.options.chart.colorCount;!g&&(C(v=W(i==="color"?this.options.colorIndex:void 0,this[Y]))?T=v:(N.series.length||(N[V]=0),T=N[V]%Q,N[V]+=1),p&&(g=p[T])),T!==void 0&&(this[Y]=T),this[i]=g}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||R.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let i=this.options.marker;this.getCyclic("symbol",i.symbol,this.chart.options.symbols)}findPointIndex(i,g){let p,T,v,N=i.id,Y=i.x,V=this.points,Q=this.options.dataSorting;if(N){let at=this.chart.get(N);at instanceof lt&&(p=at)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let at=ht=>!ht.touched&&ht.index===i.index;if(Q&&Q.matchByName?at=ht=>!ht.touched&&ht.name===i.name:this.options.relativeXValue&&(at=ht=>!ht.touched&&ht.options.x===i.x),!(p=r(V,at)))return}return p&&(v=p&&p.index)!==void 0&&(T=!0),v===void 0&&U(Y)&&(v=this.xData.indexOf(Y,g)),v!==-1&&v!==void 0&&this.cropped&&(v=v>=this.cropStart?v-this.cropStart:v),!T&&U(v)&&V[v]&&V[v].touched&&(v=void 0),v}updateData(i,g){let p=this.options,T=p.dataSorting,v=this.points,N=[],Y=this.requireSorting,V=i.length===v.length,Q,at,ht,z,D=!0;if(this.xIncrement=null,i.forEach(function(G,X){let tt,et=C(G)&&this.pointClass.prototype.optionsToObject.call({series:this},G)||{},ot=et.x;et.id||U(ot)?((tt=this.findPointIndex(et,z))===-1||tt===void 0?N.push(G):v[tt]&&G!==p.data[tt]?(v[tt].update(G,!1,null,!1),v[tt].touched=!0,Y&&(z=tt+1)):v[tt]&&(v[tt].touched=!0),(!V||X!==tt||T&&T.enabled||this.hasDerivedData)&&(Q=!0)):N.push(G)},this),Q)for(at=v.length;at--;)(ht=v[at])&&!ht.touched&&ht.remove&&ht.remove(!1,g);else!V||T&&T.enabled?D=!1:(i.forEach(function(G,X){G===v[X].y||v[X].destroyed||v[X].update(G,!1,null,!1)}),N.length=0);return v.forEach(function(G){G&&(G.touched=!1)}),!!D&&(N.forEach(function(G){this.addPoint(G,!1,null,null,!1)},this),this.xIncrement===null&&this.xData&&this.xData.length&&(this.xIncrement=A(this.xData),this.autoIncrement()),!0)}setData(i,g=!0,p,T){let v=this,N=v.points,Y=N&&N.length||0,V=v.options,Q=v.chart,at=V.dataSorting,ht=v.xAxis,z=V.turboThreshold,D=this.xData,G=this.yData,X=v.pointArrayMap,tt=X&&X.length,et=V.keys,ot,rt,dt,ut=0,gt=1,ft;Q.options.chart.allowMutatingData||(V.data&&delete v.options.data,v.userOptions.data&&delete v.userOptions.data,ft=O(!0,i));let mt=(i=ft||i||[]).length;if(at&&at.enabled&&(i=this.sortData(i)),Q.options.chart.allowMutatingData&&T!==!1&&mt&&Y&&!v.cropped&&!v.hasGroupedData&&v.visible&&!v.boosted&&(dt=this.updateData(i,p)),!dt){v.xIncrement=null,v.colorCounter=0,this.parallelArrays.forEach(function(yt){v[yt+"Data"].length=0});let Ct=z&&mt>z;if(Ct){let yt=v.getFirstValidPoint(i),xt=v.getFirstValidPoint(i,mt-1,-1),Mt=Tt=>!!(P(Tt)&&(et||U(Tt[0])));if(U(yt)&&U(xt))for(ot=0;ot<mt;ot++)D[ot]=this.autoIncrement(),G[ot]=i[ot];else if(Mt(yt)&&Mt(xt))if(tt)if(yt.length===tt)for(ot=0;ot<mt;ot++)D[ot]=this.autoIncrement(),G[ot]=i[ot];else for(ot=0;ot<mt;ot++)rt=i[ot],D[ot]=rt[0],G[ot]=rt.slice(1,tt+1);else if(et&&(ut=et.indexOf("x"),gt=et.indexOf("y"),ut=ut>=0?ut:0,gt=gt>=0?gt:1),yt.length===1&&(gt=0),ut===gt)for(ot=0;ot<mt;ot++)D[ot]=this.autoIncrement(),G[ot]=i[ot][gt];else for(ot=0;ot<mt;ot++)rt=i[ot],D[ot]=rt[ut],G[ot]=rt[gt];else Ct=!1}if(!Ct)for(ot=0;ot<mt;ot++)rt={series:v},v.pointClass.prototype.applyOptions.apply(rt,[i[ot]]),v.updateParallelArrays(rt,ot);for(G&&m(G[0])&&e(14,!0,Q),v.data=[],v.options.data=v.userOptions.data=i,ot=Y;ot--;)N[ot]?.destroy();ht&&(ht.minRange=ht.userMinRange),v.isDirty=Q.isDirtyBox=!0,v.isDirtyData=!!N,p=!1}
2V.legendType==="point"&&(this.processData(),this.generatePoints()),g&&Q.redraw(p)}sortData(i){let g=this,p=g.options.dataSorting.sortKey||"y",T=function(v,N){return C(N)&&v.pointClass.prototype.optionsToObject.call({series:v},N)||{}};return i.forEach(function(v,N){i[N]=T(g,v),i[N].index=N},this),i.concat().sort((v,N)=>{let Y=y(p,v),V=y(p,N);return V<Y?-1:V>Y?1:0}).forEach(function(v,N){v.x=N},this),g.linkedSeries&&g.linkedSeries.forEach(function(v){let N=v.options,Y=N.data;N.dataSorting&&N.dataSorting.enabled||!Y||(Y.forEach(function(V,Q){Y[Q]=T(v,V),i[Q]&&(Y[Q].x=i[Q].x,Y[Q].index=Q)}),v.setData(Y,!1))}),i}getProcessedData(i){let g=this,p=g.xAxis,T=g.options.cropThreshold,v=p?.logarithmic,N=g.isCartesian,Y,V,Q=0,at,ht,z,D=g.xData,G=g.yData,X=!1,tt=D.length;p&&(ht=(at=p.getExtremes()).min,z=at.max,X=!!(p.categories&&!p.names.length)),N&&g.sorted&&!i&&(!T||tt>T||g.forceCrop)&&(D[tt-1]<ht||D[0]>z?(D=[],G=[]):g.yData&&(D[0]<ht||D[tt-1]>z)&&(D=(Y=this.cropData(g.xData,g.yData,ht,z)).xData,G=Y.yData,Q=Y.start,V=!0));let et=x([v?D.map(v.log2lin):D],()=>g.requireSorting&&!X&&e(15,!1,g.chart));return{xData:D,yData:G,cropped:V,cropStart:Q,closestPointRange:et}}processData(i){let g=this.xAxis;if(this.isCartesian&&!this.isDirty&&!g.isDirty&&!this.yAxis.isDirty&&!i)return!1;let p=this.getProcessedData();this.cropped=p.cropped,this.cropStart=p.cropStart,this.processedXData=p.xData,this.processedYData=p.yData,this.closestPointRange=this.basePointRange=p.closestPointRange,l(this,"afterProcessData")}cropData(i,g,p,T){let v=i.length,N,Y,V=0,Q=v;for(N=0;N<v;N++)if(i[N]>=p){V=Math.max(0,N-1);break}for(Y=N;Y<v;Y++)if(i[Y]>T){Q=Y+1;break}return{xData:i.slice(V,Q),yData:g.slice(V,Q),start:V,end:Q}}generatePoints(){let i=this.options,g=this.processedData||i.data,p=this.processedXData,T=this.processedYData,v=this.pointClass,N=p.length,Y=this.cropStart||0,V=this.hasGroupedData,Q=i.keys,at=[],ht=i.dataGrouping&&i.dataGrouping.groupAll?Y:0,z,D,G,X,tt=this.data;if(!tt&&!V){let et=[];et.length=g.length,tt=this.data=et}for(Q&&V&&(this.options.keys=!1),X=0;X<N;X++)D=Y+X,V?((G=new v(this,[p[X]].concat(n(T[X])))).dataGroup=this.groupMap[ht+X],G.dataGroup.options&&(G.options=G.dataGroup.options,t(G,G.dataGroup.options),delete G.dataLabels)):(G=tt[D])||g[D]===void 0||(tt[D]=G=new v(this,g[D],p[X])),G&&(G.index=V?ht+X:D,at[X]=G);if(this.options.keys=Q,tt&&(N!==(z=tt.length)||V))for(X=0;X<z;X++)X!==Y||V||(X+=N),tt[X]&&(tt[X].destroyElements(),tt[X].plotX=void 0);this.data=tt,this.points=at,l(this,"afterGeneratePoints")}getXExtremes(i){return{min:c(i),max:A(i)}}getExtremes(i,g){let p=this.xAxis,T=this.yAxis,v=[],N=this.requireSorting&&!this.is("column")?1:0,Y=!!T&&T.positiveValuesOnly,V=g||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:Q,processedYData:at}=this,ht,z,D,G,X,tt,et,ot=0,rt=0,dt=0;if(this.cropped&&V){let mt=this.getProcessedData(!0);Q=mt.xData,at=mt.yData}let ut=(i=i||this.stackedYData||at||[]).length,gt=Q||this.xData;for(p&&(ot=(ht=p.getExtremes()).min,rt=ht.max),tt=0;tt<ut;tt++)if(G=gt[tt],z=(U(X=i[tt])||P(X))&&((U(X)?X>0:X.length)||!Y),D=g||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!p||(gt[tt+N]||G)>=ot&&(gt[tt-N]||G)<=rt,z&&D)if(et=X.length)for(;et--;)U(X[et])&&(v[dt++]=X[et]);else v[dt++]=X;let ft={activeYData:v,dataMin:c(v),dataMax:A(v)};return l(this,"afterGetExtremes",{dataExtremes:ft}),ft}applyExtremes(){let i=this.getExtremes();return this.dataMin=i.dataMin,this.dataMax=i.dataMax,i}getFirstValidPoint(i,g=0,p=1){let T=i.length,v=g;for(;v>=0&&v<T;){if(C(i[v]))return i[v];v+=p}}translate(){this.processedXData||this.processData(),this.generatePoints();let i=this.options,g=i.stacking,p=this.xAxis,T=p.categories,v=this.enabledDataSorting,N=this.yAxis,Y=this.points,V=Y.length,Q=this.pointPlacementToXValue(),at=!!Q,ht=i.threshold,z=i.startFromThreshold?ht:0,D,G,X,tt,et=Number.MAX_VALUE;function ot(rt){return b(rt,-1e5,1e5)}for(D=0;D<V;D++){let rt,dt=Y[D],ut=dt.x,gt,ft,mt=dt.y,Ct=dt.low,yt=g&&N.stacking?.stacks[(this.negStacks&&mt<(z?0:ht)?"-":"")+this.stackKey];G=p.translate(ut,!1,!1,!1,!0,Q),dt.plotX=U(G)?F(ot(G)):void 0,g&&this.visible&&yt&&yt[ut]&&(tt=this.getStackIndicator(tt,ut,this.index),!dt.isNull&&tt.key&&(ft=(gt=yt[ut]).points[tt.key]),gt&&P(ft)&&(Ct=ft[0],mt=ft[1],Ct===z&&tt.key===yt[ut].base&&(Ct=W(U(ht)?ht:N.min)),N.positiveValuesOnly&&C(Ct)&&Ct<=0&&(Ct=void 0),dt.total=dt.stackTotal=W(gt.total),dt.percentage=C(dt.y)&>.total?dt.y/gt.total*100:void 0,dt.stackY=mt,this.irregularWidths||gt.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),dt.yBottom=C(Ct)?ot(N.translate(Ct,!1,!0,!1,!0)):void 0,this.dataModify&&(mt=this.dataModify.modifyValue(mt,D)),U(mt)&&dt.plotX!==void 0&&(rt=U(rt=N.translate(mt,!1,!0,!1,!0))?ot(rt):void 0),dt.plotY=rt,dt.isInside=this.isPointInside(dt),dt.clientX=at?F(p.translate(ut,!1,!1,!1,!0,Q)):G,dt.negative=(dt.y||0)<(ht||0),dt.category=W(T&&T[dt.x],dt.x),dt.isNull||dt.visible===!1||(X!==void 0&&(et=Math.min(et,Math.abs(G-X))
2),X=G),dt.zone=this.zones.length?dt.getZone():void 0,!dt.graphic&&this.group&&v&&(dt.isNew=!0)}this.closestPointRangePx=et,l(this,"afterTranslate")}getValidPoints(i,g,p){let T=this.chart;return(i||this.points||[]).filter(function(v){let{plotX:N,plotY:Y}=v;return!!((p||!v.isNull&&U(Y))&&(!g||T.isInsidePlot(N,Y,{inverted:T.inverted})))&&v.visible!==!1})}getClipBox(){let{chart:i,xAxis:g,yAxis:p}=this,{x:T,y:v,width:N,height:Y}=O(i.clipBox);return g&&g.len!==i.plotSizeX&&(N=g.len),p&&p.len!==i.plotSizeY&&(Y=p.len),i.inverted&&!this.invertible&&([N,Y]=[Y,N]),{x:T,y:v,width:N,height:Y}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:i,group:g,markerGroup:p}=this,T=i.sharedClips,v=i.renderer,N=this.getClipBox(),Y=this.getSharedClipKey(),V=T[Y];V?V.animate(N):T[Y]=V=v.clipRect(N),g&&g.clip(this.options.clip===!1?void 0:V),p&&p.clip()}animate(i){let{chart:g,group:p,markerGroup:T}=this,v=g.inverted,N=S(this.options.animation),Y=[this.getSharedClipKey(),N.duration,N.easing,N.defer].join(","),V=g.sharedClips[Y],Q=g.sharedClips[Y+"m"];if(i&&p){let at=this.getClipBox();if(V)V.attr("height",at.height);else{at.width=0,v&&(at.x=g.plotHeight),V=g.renderer.clipRect(at),g.sharedClips[Y]=V;let ht={x:-99,y:-99,width:v?g.plotWidth+199:99,height:v?99:g.plotHeight+199};Q=g.renderer.clipRect(ht),g.sharedClips[Y+"m"]=Q}p.clip(V),T?.clip(Q)}else if(V&&!V.hasClass("highcharts-animating")){let at=this.getClipBox(),ht=N.step;(T?.element.childNodes.length||g.series.length>1)&&(N.step=function(z,D){ht&&ht.apply(D,arguments),D.prop==="width"&&Q?.element&&Q.attr(v?"height":"width",z+99)}),V.addClass("highcharts-animating").animate(at,N)}}afterAnimate(){this.setClip(),_(this.chart.sharedClips,(i,g,p)=>{i&&!this.chart.container.querySelector(`[clip-path="url(#${i.id})"]`)&&(i.destroy(),delete p[g])}),this.finishedAnimating=!0,l(this,"afterAnimate")}drawPoints(i=this.points){let g,p,T,v,N,Y,V,Q=this.chart,at=Q.styledMode,{colorAxis:ht,options:z}=this,D=z.marker,G=this[this.specialGroup||"markerGroup"],X=this.xAxis,tt=W(D.enabled,!X||!!X.isRadial||null,this.closestPointRangePx>=D.enabledThreshold*D.radius);if(D.enabled!==!1||this._hasPointMarkers)for(g=0;g<i.length;g++)if(v=(T=(p=i[g]).graphic)?"animate":"attr",N=p.marker||{},Y=!!p.marker,(tt&&N.enabled===void 0||N.enabled)&&!p.isNull&&p.visible!==!1){let et=W(N.symbol,this.symbol,"rect");V=this.markerAttribs(p,p.selected&&"select"),this.enabledDataSorting&&(p.startXPos=X.reversed?-(V.width||0):X.width);let ot=p.isInside!==!1;if(!T&&ot&&((V.width||0)>0||p.hasImage)&&(p.graphic=T=Q.renderer.symbol(et,V.x,V.y,V.width,V.height,Y?N:D).add(G),this.enabledDataSorting&&Q.hasRendered&&(T.attr({x:p.startXPos}),v="animate")),T&&v==="animate"&&T[ot?"show":"hide"](ot).animate(V),T){let rt=this.pointAttribs(p,at||!p.selected?void 0:"select");at?ht&&T.css({fill:rt.fill}):T[v](rt)}T&&T.addClass(p.getClassName(),!0)}else T&&(p.graphic=T.destroy())}markerAttribs(i,g){let p=this.options,T=p.marker,v=i.marker||{},N=v.symbol||T.symbol,Y={},V,Q,at=W(v.radius,T&&T.radius);g&&(V=T.states[g],at=W((Q=v.states&&v.states[g])&&Q.radius,V&&V.radius,at&&at+(V&&V.radiusPlus||0))),i.hasImage=N&&N.indexOf("url")===0,i.hasImage&&(at=0);let ht=i.pos();return U(at)&&ht&&(p.crisp&&(ht[0]=I(ht[0],i.hasImage?0:N==="rect"?T?.lineWidth||0:1)),Y.x=ht[0]-at,Y.y=ht[1]-at),at&&(Y.width=Y.height=2*at),Y}pointAttribs(i,g){let p=this.options.marker,T=i&&i.options,v=T&&T.marker||{},N=T&&T.color,Y=i&&i.color,V=i&&i.zone&&i.zone.color,Q,at,ht=this.color,z,D,G=W(v.lineWidth,p.lineWidth),X=1;return ht=N||V||Y||ht,z=v.fillColor||p.fillColor||ht,D=v.lineColor||p.lineColor||ht,g=g||"normal",Q=p.states[g]||{},G=W((at=v.states&&v.states[g]||{}).lineWidth,Q.lineWidth,G+W(at.lineWidthPlus,Q.lineWidthPlus,0)),z=at.fillColor||Q.fillColor||z,{stroke:D=at.lineColor||Q.lineColor||D,"stroke-width":G,fill:z,opacity:X=W(at.opacity,Q.opacity,X)}}destroy(i){let g,p,T,v=this,N=v.chart,Y=/AppleWebKit\/533/.test(w.navigator.userAgent),V=v.data||[];for(l(v,"destroy",{keepEventsForUpdate:i}
vendor: 3,352 bytes, line 2
2),this.removeEvents(i),(v.axisTypes||[]).forEach(function(Q){(T=v[Q])&&T.series&&(s(T.series,v),T.isDirty=T.forceRedraw=!0)}),v.legendItem&&v.chart.legend.destroyItem(v),g=V.length;g--;)(p=V[g])&&p.destroy&&p.destroy();for(let Q of v.zones)o(Q,void 0,!0);$.clearTimeout(v.animationTimeout),_(v,function(Q,at){Q instanceof q&&!Q.survive&&Q[Y&&at==="group"?"hide":"destroy"]()}),N.hoverSeries===v&&(N.hoverSeries=void 0),s(N.series,v),N.orderItems("series"),_(v,function(Q,at){i&&at==="hcEvents"||delete v[at]})}applyZones(){let{area:i,chart:g,graph:p,zones:T,points:v,xAxis:N,yAxis:Y,zoneAxis:V}=this,{inverted:Q,renderer:at}=g,ht=this[`${V}Axis`],{isXAxis:z,len:D=0}=ht||{},G=(p?.strokeWidth()||0)/2+1,X=(tt,et=0,ot=0)=>{Q&&(ot=D-ot);let{translated:rt=0,lineClip:dt}=tt,ut=ot-rt;dt?.push(["L",et,Math.abs(ut)<G?ot-G*(ut<=0?-1:1):rt])};if(T.length&&(p||i)&&ht&&U(ht.min)){let tt=ht.getExtremes().max,et=dt=>{dt.forEach((ut,gt)=>{(ut[0]==="M"||ut[0]==="L")&&(dt[gt]=[ut[0],z?D-ut[1]:ut[1],z?ut[2]:D-ut[2]])})};if(T.forEach(dt=>{dt.lineClip=[],dt.translated=b(ht.toPixels(W(dt.value,tt),!0)||0,0,D)}),p&&!this.showLine&&p.hide(),i&&i.hide(),V==="y"&&v.length<N.len)for(let dt of v){let{plotX:ut,plotY:gt,zone:ft}=dt,mt=ft&&T[T.indexOf(ft)-1];ft&&X(ft,ut,gt),mt&&X(mt,ut,gt)}let ot=[],rt=ht.toPixels(ht.getExtremes().min,!0);T.forEach(dt=>{let ut=dt.lineClip||[],gt=Math.round(dt.translated||0);N.reversed&&ut.reverse();let{clip:ft,simpleClip:mt}=dt,Ct=0,yt=0,xt=N.len,Mt=Y.len;z?(Ct=gt,xt=rt):(yt=gt,Mt=rt);let Tt=[["M",Ct,yt],["L",xt,yt],["L",xt,Mt],["L",Ct,Mt],["Z"]],Pt=[Tt[0],...ut,Tt[1],Tt[2],...ot,Tt[3],Tt[4]];ot=ut.reverse(),rt=gt,Q&&(et(Pt),i&&et(Tt)),ft?(ft.animate({d:Pt}),mt?.animate({d:Tt})):(ft=dt.clip=at.path(Pt),i&&(mt=dt.simpleClip=at.path(Tt))),p&&dt.graph?.clip(ft),i&&dt.area?.clip(mt)})}else this.visible&&(p&&p.show(),i&&i.show())}plotGroup(i,g,p,T,v){let N=this[i],Y=!N,V={visibility:p,zIndex:T||.1};return C(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(V.opacity=this.opacity),N||(this[i]=N=this.chart.renderer.g().add(v)),N.addClass("highcharts-"+g+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(C(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(N.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),N.attr(V)[Y?"attr":"animate"](this.getPlotBox(g)),N}getPlotBox(i){let g=this.xAxis,p=this.yAxis,T=this.chart,v=T.inverted&&!T.polar&&g&&this.invertible&&i==="series";return T.inverted&&(g=p,p=this.xAxis),{translateX:g?g.left:T.plotLeft,translateY:p?p.top:T.plotTop,rotation:v?90:0,rotationOriginX:v?(g.len-p.len)/2:0,rotationOriginY:v?(g.len+p.len)/2:0,scaleX:v?-1:1,scaleY:1}}removeEvents(i){let{eventsToUnbind:g}=this;i||Z(this),g.length&&(g.forEach(p=>{p()}),g.length=0)}render(){let i=this,{chart:g,options:p,hasRendered:T}=i,v=S(p.animation),N=i.visible?"inherit":"hidden",Y=p.zIndex,V=g.seriesGroup,Q=i.finishedAnimating?0:v.duration;l(this,"render"),i.plotGroup("group","series",N,Y,V),i.markerGroup=i.plotGroup("markerGroup","markers",N,Y,V),p.clip!==!1&&i.setClip(),Q&&i.animate?.(!0),i.drawGraph&&(i.drawGraph(),i.applyZones()),i.visible&&i.drawPoints(),i.drawDataLabels?.(),i.redrawPoints?.(),p.enableMouseTracking&&i.drawTracker?.(),Q&&i.animate?.(),T||(Q&&v.defer&&(Q+=v.defer),i.animationTimeout=a(()=>{i.afterAnimate()}
2,Q||0)),i.isDirty=!1,i.hasRendered=!0,l(i,"afterRender")}redraw(){let i=this.isDirty||this.isDirtyData;this.translate(),this.render(),i&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(i,g){let{xAxis:p,yAxis:T}=this,v=this.chart.inverted;return this.searchKDTree({clientX:v?p.len-i.chartY+p.pos:i.chartX-p.pos,plotY:v?T.len-i.chartX+T.pos:i.chartY-T.pos},g,i)}buildKDTree(i){this.buildingKdTree=!0;let g=this,p=g.options.findNearestPointBy.indexOf("y")>-1?2:1;delete g.kdTree,a(function(){g.kdTree=function T(v,N,Y){let V,Q,at=v?.length;if(at)return V=g.kdAxisArray[N%Y],v.sort((ht,z)=>(ht[V]||0)-(z[V]||0)),{point:v[Q=Math.floor(at/2)],left:T(v.slice(0,Q),N+1,Y),right:T(v.slice(Q+1),N+1,Y)}}(g.getValidPoints(void 0,!g.directTouch),p,p),g.buildingKdTree=!1},g.options.kdNow||i?.type==="touchstart"?0:1)}searchKDTree(i,g,p){let T=this,[v,N]=this.kdAxisArray,Y=g?"distX":"dist",V=(T.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Q=!!T.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(p),this.kdTree)return function at(ht,z,D,G){let X=z.point,tt=T.kdAxisArray[D%G],et,ot,rt=X;(function(ft,mt){let Ct=ft[v],yt=mt[v],xt=C(Ct)&&C(yt)?Ct-yt:null,Mt=ft[N],Tt=mt[N],Pt=C(Mt)&&C(Tt)?Mt-Tt:0,Lt=Q&&mt.marker?.radius||0;mt.dist=Math.sqrt((xt&&xt*xt||0)+Pt*Pt)-Lt,mt.distX=C(xt)?Math.abs(xt)-Lt:Number.MAX_VALUE})(ht,X);let dt=(ht[tt]||0)-(X[tt]||0)+(Q&&X.marker?.radius||0),ut=dt<0?"left":"right",gt=dt<0?"right":"left";return z[ut]&&(rt=(et=at(ht,z[ut],D+1,G))[Y]<rt[Y]?et:X),z[gt]&&Math.sqrt(dt*dt)<rt[Y]&&(rt=(ot=at(ht,z[gt],D+1,G))[Y]<rt[Y]?ot:rt),rt}(i,this.kdTree,V,V)}pointPlacementToXValue(){let{options:i,xAxis:g}=this,p=i.pointPlacement;return p==="between"&&(p=g.reversed?-.5:.5),U(p)?p*(i.pointRange||g.pointRange):0}isPointInside(i){let{chart:g,xAxis:p,yAxis:T}=this,{plotX:v=-1,plotY:N=-1}=i;return N>=0&&N<=(T?T.len:g.plotHeight)&&v>=0&&v<=(p?p.len:g.plotWidth)}drawTracker(){let i=this,g=i.options,p=g.trackByArea,T=[].concat((p?i.areaPath:i.graphPath)||[]),v=i.chart,N=v.pointer,Y=v.renderer,V=v.options.tooltip?.snap||0,Q=()=>{g.enableMouseTracking&&v.hoverSeries!==i&&i.onMouseOver()},at="rgba(192,192,192,"+(f?1e-4:.002)+")",ht=i.tracker;ht?ht.attr({d:T}):i.graph&&(i.tracker=ht=Y.path(T).attr({visibility:i.visible?"inherit":"hidden",zIndex:2}).addClass(p?"highcharts-tracker-area":"highcharts-tracker-line").add(i.group),v.styledMode||ht.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:at,fill:p?at:"none","stroke-width":i.graph.strokeWidth()+(p?0:2*V)}),[i.tracker,i.markerGroup,i.dataLabelsGroup].forEach(z=>{z&&(z.addClass("highcharts-tracker").on("mouseover",Q).on("mouseout",D=>{N?.onTrackerMouseOut(D)}),g.cursor&&!v.styledMode&&z.css({cursor:g.cursor}),z.on("touchstart",Q))})),l(this,"afterDrawTracker")}addPoint(i,g,p,T,v){let N,Y,V=this.options,Q=this.data,at=this.chart,ht=this.xAxis,z=ht&&ht.hasNames&&ht.names,D=V.data,G=this.xData;g=W(g,!0);let X={series:this};this.pointClass.prototype.applyOptions.apply(X,[i]);let tt=X.x;if(Y=G.length,this.requireSorting&&tt<G[Y-1])for(N=!0;Y&&G[Y-1]>tt;)Y--;this.updateParallelArrays(X,"splice",[Y,0,0]),this.updateParallelArrays(X,Y),z&&X.name&&(z[tt]=X.name),D.splice(Y,0,i),(N||this.processedData)&&(this.data.splice(Y,0,null),this.processData()),V.legendType==="point"&&this.generatePoints(),p&&(Q[0]&&Q[0].remove?Q[0].remove(!1):(Q.shift(),this.updateParallelArrays(X,"shift"),D.shift())),v!==!1&&l(this,"addPoint",{point:X}),this.isDirty=!0,this.isDirtyData=!0,g&&at.redraw(T)}removePoint(i,g,p){let T=this,v=T.data,N=v[i],Y=T.points,V=T.chart,Q=function(){Y&&Y.length===v.length&&Y.splice(i,1),v.splice(i,1),T.options.data.splice(i,1),T.updateParallelArrays(N||{series:T},"splice",[i,1]),N&&N.destroy(),T.isDirty=!0,T.isDirtyData=!0,g&&V.redraw()};B(p,V),g=W(g,!0),N?N.firePointEvent("remove",null,Q):Q()}remove(i,g,p,T){let v=this,N=v.chart;function Y(){v.destroy(T),N.isDirtyLegend=N.isDirtyBox=!0,N.linkSeries(T),W(i,!0)&&N.redraw(g)}p!==!1?l(v,"remove",null,Y):Y()}update(i,g){l(this,"update",{options:i=u(i,this.userOptions)});let p=this,T=p.chart,v=p.userOptions,N=p.initialType||p.type,Y=T.options.plotOptions,V=M[N].prototype,Q=p.finishedAnimating&&{animation:!1},at={},ht,z,D=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],G=i.type||v.type||T.options.chart.type,X=!(this.hasDerivedData||G&&G!==this.type||i.pointStart!==void 0||i.pointInterval!==void 0||i.relativeXValue!==void 0||i.joinBy||i.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(et=>p.hasOptionChanged(et)));G=G||N,X&&(D.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),i.visible!==!1&&D.push("area","graph"),p.parallelArrays.forEach(function(et){D.push(et+"Data")}),i.data&&(i.dataSorting&&t(p.options.dataSorting,i.dataSorting),this.setData(i.data,!1))),i=O(v,{index:v.index===void 0?p.index:v.index,pointStart:Y?.series?.pointStart??v.pointStart??p.xData?.[0]},!X&&{data:p.options.data},i,Q),X&&i.data&&(i.data=p.options.data),(D=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(D)).forEac
vendor: 21,557 bytes, line 2
2h(function(et){D[et]=p[et],delete p[et]});let tt=!1;if(M[G]){if(tt=G!==p.type,p.remove(!1,!1,!1,!0),tt)if(T.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(p,M[G].prototype);else{let et=Object.hasOwnProperty.call(p,"hcEvents")&&p.hcEvents;for(z in V)p[z]=void 0;t(p,M[G].prototype),et?p.hcEvents=et:delete p.hcEvents}}else e(17,!0,T,{missingModuleFor:G});if(D.forEach(function(et){p[et]=D[et]}),p.init(T,i),X&&this.points)for(let et of((ht=p.options).visible===!1?(at.graphic=1,at.dataLabel=1):(this.hasMarkerChanged(ht,v)&&(at.graphic=1),p.hasDataLabels?.()||(at.dataLabel=1)),this.points))et&&et.series&&(et.resolveColor(),Object.keys(at).length&&et.destroyElements(at),ht.showInLegend===!1&&et.legendItem&&T.legend.destroyItem(et));p.initialType=N,T.linkSeries(),T.setSortedData(),tt&&p.linkedSeries.length&&(p.isDirtyData=!0),l(this,"afterUpdate"),W(g,!0)&&T.redraw(!!X&&void 0)}setName(i){this.name=this.options.name=this.userOptions.name=i,this.chart.isDirtyLegend=!0}hasOptionChanged(i){let g=this.chart,p=this.options[i],T=g.options.plotOptions,v=this.userOptions[i],N=W(T?.[this.type]?.[i],T?.series?.[i]);return v&&!C(N)?p!==v:p!==W(N,p)}onMouseOver(){let i=this.chart,g=i.hoverSeries;i.pointer?.setHoverChartIndex(),g&&g!==this&&g.onMouseOut(),this.options.events.mouseOver&&l(this,"mouseOver"),this.setState("hover"),i.hoverSeries=this}onMouseOut(){let i=this.options,g=this.chart,p=g.tooltip,T=g.hoverPoint;g.hoverSeries=null,T&&T.onMouseOut(),this&&i.events.mouseOut&&l(this,"mouseOut"),p&&!this.stickyTracking&&(!p.shared||this.noSharedTooltip)&&p.hide(),g.series.forEach(function(v){v.setState("",!0)})}setState(i,g){let p=this,T=p.options,v=p.graph,N=T.inactiveOtherPoints,Y=T.states,V=W(Y[i||"normal"]&&Y[i||"normal"].animation,p.chart.options.chart.animation),Q=T.lineWidth,at=T.opacity;if(i=i||"",p.state!==i&&([p.group,p.markerGroup,p.dataLabelsGroup].forEach(function(ht){ht&&(p.state&&ht.removeClass("highcharts-series-"+p.state),i&&ht.addClass("highcharts-series-"+i))}),p.state=i,!p.chart.styledMode)){if(Y[i]&&Y[i].enabled===!1)return;if(i&&(Q=Y[i].lineWidth||Q+(Y[i].lineWidthPlus||0),at=W(Y[i].opacity,at)),v&&!v.dashstyle&&U(Q))for(let ht of[v,...this.zones.map(z=>z.graph)])ht?.animate({"stroke-width":Q},V);N||[p.group,p.markerGroup,p.dataLabelsGroup,p.labelBySeries].forEach(function(ht){ht&&ht.animate({opacity:at},V)})}g&&N&&p.points&&p.setAllPointsToState(i||void 0)}setAllPointsToState(i){this.points.forEach(function(g){g.setState&&g.setState(i)})}setVisible(i,g){let p=this,T=p.chart,v=T.options.chart.ignoreHiddenSeries,N=p.visible;p.visible=i=p.options.visible=p.userOptions.visible=i===void 0?!N:i;let Y=i?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(V=>{p[V]?.[Y]()}),(T.hoverSeries===p||T.hoverPoint?.series===p)&&p.onMouseOut(),p.legendItem&&T.legend.colorizeItem(p,i),p.isDirty=!0,p.options.stacking&&T.series.forEach(V=>{V.options.stacking&&V.visible&&(V.isDirty=!0)}),p.linkedSeries.forEach(V=>{V.setVisible(i,!1)}),v&&(T.isDirtyBox=!0),l(p,Y),g!==!1&&T.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(i){this.selected=i=this.options.selected=i===void 0?!this.selected:i,this.checkbox&&(this.checkbox.checked=i),l(this,i?"select":"unselect")}shouldShowTooltip(i,g,p={}){return p.series=this,p.visiblePlotOnly=!0,this.chart.isInsidePlot(i,g,p)}drawLegendSymbol(i,g){st[this.options.legendSymbol||"rectangle"]?.call(this,i,g)}}return d.defaultOptions=ct,d.types=K.seriesTypes,d.registerType=K.registerSeriesType,t(d.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:lt,requireSorting:!0,sorted:!0}),K.series=d,d}),it(k,"Core/Legend/Legend.js",[k["Core/Animation/AnimationUtilities.js"],k["Core/Foundation.js"],k["Core/Globals.js"],k["Core/Series/Series.js"],k["Core/Series/Point.js"],k["Core/Renderer/RendererUtilities.js"],k["Core/Templating.js"],k["Core/Utilities.js"]],function(E,H,J,nt,st,lt,ct,K){var q;let{animObject:$,setAnimation:S}=E,{registerEventOptions:B}=H,{composed:R,marginNames:L}=J,{distribute:f}=lt,{format:w}=ct,{addEvent:M,createElement:A,css:c,defined:b,discardElement:F,find:I,fireEvent:C,isNumber:o,merge:u,pick:s,pushUnique:e,relativeLength:t,stableSort:r,syncTimeout:l}=K;class x{constructor(h,P){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=h,this.setOptions(P),P.enabled&&(this.render(),B(this,P),M(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),M(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(h){let P=s(h.padding,8);this.options=h,this.chart.styledMode||(this.itemStyle=h.itemStyle,this.itemHiddenStyle=u(this.itemStyle,h.itemHiddenStyle)),this.itemMarginTop=h.itemMarginTop,this.itemMarginBottom=h.itemMarginBottom,this.padding=P,this.initialItemY=P-5,this.symbolWidth=s(h.symbolWidth,16),this.pages=[],this.proximate=h.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(h,P){let U=this.chart;this.setOptions(u(!0,this.options,h)),"events"in this.options&&B(this,this.options),this.destroy(),U.isDirtyLegend=U.isDirtyBox=!0,s(P,!0)&&U.redraw(),C(this,"afterUpdate",{redraw:P})}colorizeItem(h,P){let{area:U,group:m,label:O,line:_,symbol:W}=h.legendItem||{};if(m?.[P?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:Z={}}=this,n=Z.color,{fillColor:a,fillOpacity:d,lineColor:j,marker:i}=h.options,g=p=>(!P&&(p.fill&&(p.fill=n),p.stroke&&(p.stroke=n)),p);O?.css(u(P?this.itemStyle:Z)),_?.attr(g({stroke:j||h.color})),W&&W.attr(g(i&&W.isMarker?h.pointAttribs():{fill:h.color})),U?.attr(g({fill:a||h.color,"fill-opacity":a?1:d??.75}))}C(this,"afterColorizeItem",{item:h,visible:P})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(h){let{group:P,x:U=0,y:m=0}=h.legendItem||{},O=this.options,_=O.symbolPadding,W=!O.rtl,Z=h.checkbox;if(P&&P.element){let n={translateX:W?U:this.legendWidth-U-2*_-4,translateY:m};P[b(P.translateY)?"animate":"attr"](n,void 0,()=>{C(this,"afterPositionItem",{item:h})})}Z&&(Z.x=U,Z.y=m)}destroyItem(h){let P=h.checkbox,U=h.legendItem||{};for(let m of["group","label","line","symbol"])U[m]&&(U[m]=U[m].destroy());P&&F(P),h.legendItem=void 0}destroy(){for(let h of this.getAllItems())this.destroyItem(h);for(let h of["clipRect","up","down","pager","nav","box","title","group"])this[h]&&(this[h]=this[h].destroy());this.display=null}positionCheckboxes(){let h,P=this.group&&this.group.alignAttr,U=this.clipHeight||this.legendHeight,m=this.titleHeight;P&&(h=P.translateY,this.allItems.forEach(function(O){let _,W=O.checkbox;W&&(_=h+m+W.y+(this.scrollOffset||0)+3,c(W,{left:P.translateX+O.checkboxOffset+W.x-20+"px",top:_+"px",display:this.proximate||_>h-6&&_<h+U-6?"":"none"}))},this))}renderTitle(){let h=this.options,P=this.padding,U=h.title,m,O=0;U.text&&(this.title||(this.title=this.chart.renderer.label(U.text,P-3,P-4,void 0,void 0,void 0,h.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(U.style),this.title.add(this.group)),U.width||this.title.css({width:this.maxLegendWidth+"px"}),O=(m=this.title.getBBox()).height,this.offsetWidth=m.width,this.contentGroup.attr({translateY:O})),this.titleHeight=O}setText(h){let P=this.options;h.legendItem.label.attr({text:P.labelFormat?w(P.labelFormat,h,this.chart):P.labelFormatter.call(h)})}renderItem(h){let P=h.legendItem=h.legendItem||{},U=this.chart,m=U.renderer,O=this.options,_=O.layout==="horizontal",W=this.symbolWidth,Z=O.symbolPadding||0,n=this.itemStyle,a=this.itemHiddenStyle,d=_?s(O.itemDistance,20):0,j=!O.rtl,i=!h.series,g=!i&&h.series.drawLegendSymbol?h.series:h,p=g.options,T=!!this.createCheckboxForItem&&p&&p.showCheckbox,v=O.useHTML,N=h.options.className,Y=P.label,V=W+Z+d+(T?20:0);!Y&&(P.group=m.g("legend-item").addClass("highcharts-"+g.type+"-series highcharts-color-"+h.colorIndex+(N?" "+N:"")+(i?" highcharts-series-"+h.index:"")).attr({zIndex:1}).add(this.scrollGroup),P.label=Y=m.text("",j?W+Z:-Z,this.baseline||0,v),U.styledMode||Y.css(u(h.visible?n:a)),Y.attr({align:j?"left":"right",zIndex:2}).add(P.group),!this.baseline&&(this.fontMetrics=m.fontMetrics(Y),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,Y.attr("y",this.baseline),this.symbolHeight=s(O.symbolHeight,this.fontMetrics.f),O.squareSymbol&&(this.symbolWidth=s(O.symbolWidth,Math.max(this.symbolHeight,16)),V=this.symbolWidth+Z+d+(T?20:0),j&&Y.attr("x",this.symbolWidth+Z))),g.drawLegendSymbol(this,h),this.setItemEvents&&this.setItemEvents(h,Y,v)),T&&!h.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(h),this.colorizeItem(h,h.visible),(U.styledMode||!n.width)&&Y.css({width:(O.itemWidth||this.widthOption||U.spacingBox.width)-V+"px"}),this.setText(h);let Q=Y.getBBox(),at=this.fontMetrics&&this.fontMetrics.h||0;h.itemWidth=h.checkboxOffset=O.itemWidth||P.labelWidth||Q.width+V,this.maxItemWidth=Math.max(this.maxItemWidth,h.itemWidth),this.totalItemWidth+=h.itemWidth,this.itemHeight=h.itemHeight=Math.round(P.labelHeight||(Q.height>1.5*at?Q.height:at))}layoutItem(h){let P=this.options,U=this.padding,m=P.layout==="horizontal",O=h.itemHeight,_=this.itemMarginBottom,W=this.itemMarginTop,Z=m?s(P.itemDistance,20):0,n=this.maxLegendWidth,a=P.alignColumns&&this.totalItemWidth>n?this.maxItemWidth:h.itemWidth,d=h.legendItem||{};m&&this.itemX-U+a>n&&(this.itemX=U,this.lastLineHeight&&(this.itemY+=W+this.lastLineHeight+_),this.lastLineHeight=0),this.lastItemY=W+this.itemY+_,this.lastLineHeight=Math.max(O,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,m?this.itemX+=a:(this.itemY+=W+O+_,this.lastLineHeight=O),this.offsetWidth=this.widthOption||Math.max((m?this.itemX-U-(h.checkbox?0:Z):a)+U,this.offsetWidth)}getAllItems(){let h=[];return this.chart.series.forEach(function(P){let U=P&&P.options;P&&s(U.showInLegend,!b(U.linkedTo)&&void 0,!0)&&(h=h.concat((P.legendItem||{}).labels||(U.legendType==="point"?P.data:P)))}),C(this,"afterGetAllItems",{allItems:h}),h}getAlignment(){let h=this.options;return this.proximate?h.align.charAt(0)+"tv":h.floating?"":h.align.charAt(0)+h.verticalAlign.charAt(0)+h.layout.charAt(0)}adjustMargins(h,P){let U=this.chart,m=this.options,O=this.getAlignment();O&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(_,W){_.test(O)&&!b(h[W])&&(U[L[W]]=Math.max(U[L[W]],U.legend[(W+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][W]*m[W%2?"x":"y"]+s(m.margin,12)+P[W]+(U.titleOffset[W]||0)))})}proximatePositions(){let h,P=this.chart,U=[],m=this.options.align==="left";for(let O of(this.allItems.forEach(function(_){let W,Z,n=m,a,d;_.yAxis&&(_.xAxis.options.reversed&&(n=!n),_.points&&(W=I(n?_.points:_.points.slice(0).reverse(),function(j){return o(j.plotY)})),Z=this.itemMarginTop+_.legendItem.label.getBBox().height+this.itemMarginBottom,d=_.yAxis.top-P.plotTop,a=_.visible?(W?W.plotY:_.yAxis.height)+(d-.3*Z):d+_.yAxis.height,U.push({target:a,size:Z,item:_}))},this),f(U,P.plotHeight)))h=O.item.legendItem||{},o(O.pos)&&(h.y=P.plotTop-P.spacing[0]+O.pos)}render(){let h=this.chart,P=h.renderer,U=this.options,m=this.padding,O=this.getAllItems(),_,W,Z,n=this.group,a,d=this.box;this.itemX=m,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=t(U.width,h.spacingBox.width-m),a=h.spacingBox.width-2*m-U.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(a/=2),this.maxLegendWidth=this.widthOption||a,n||(this.group=n=P.g("legend").addClass(U.className||"").attr({zIndex:7}).add(),this.contentGroup=P.g().attr({zIndex:1}).add(n),this.scrollGroup=P.g().add(this.contentGroup)),this.renderTitle(),r(O,(j,i)=>(j.options&&j.options.legendIndex||0)-(i.options&&i.options.legendIndex||0)),U.reversed&&O.reverse(),this.allItems=O,this.display=_=!!O.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,O.forEach(this.renderItem,this),O.forEach(this.layoutItem,this),W=(this.widthOption||this.offsetWidth)+m,Z=this.lastItemY+this.lastLineHeight+this.titleHeight,Z=this.handleOverflow(Z)+m,d||(this.box=d=P.rect().addClass("highcharts-legend-box").attr({r:U.borderRadius}).add(n)),h.styledMode||d.attr({stroke:U.borderColor,"stroke-width":U.borderWidth||0,fill:U.backgroundColor||"none"}).shadow(U.shadow),W>0&&Z>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:W,height:Z},d.strokeWidth())),n[_?"show":"hide"](),h.styledMode&&n.getStyle("display")==="none"&&(W=Z=0),this.legendWidth=W,this.legendHeight=Z,_&&this.align(),this.proximate||this.positionItems(),C(this,"afterRender")}align(h=this.chart.spacingBox){let P=this.chart,U=this.options,m=h.y;/(lth|ct|rth)/.test(this.getAlignment())&&P.titleOffset[0]>0?m+=P.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&P.titleOffset[2]>0&&(m-=P.titleOffset[2]),m!==h.y&&(h=u(h,{y:m})),P.hasRendered||(this.group.placed=!1),this.group.align(u(U,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":U.verticalAlign}),!0,h)}handleOverflow(h){let P=this,U=this.chart,m=U.renderer,O=this.options,_=O.y,W=O.verticalAlign==="top",Z=this.padding,n=O.maxHeight,a=O.navigation,d=s(a.animation,!0),j=a.arrowSize||12,i=this.pages,g=this.allItems,p=function(ht){typeof ht=="number"?at.attr({height:ht}):at&&(P.clipRect=at.destroy(),P.contentGroup.clip()),P.contentGroup.div&&(P.contentGroup.div.style.clip=ht?"rect("+Z+"px,9999px,"+(Z+ht)+"px,0)":"auto")},T=function(ht){return P[ht]=m.circle(0,0,1.3*j).translate(j/2,j/2).add(Q),U.styledMode||P[ht].attr("fill","rgba(0,0,0,0.0001)"),P[ht]},v,N,Y,V=U.spacingBox.height+(W?-_:_)-Z,Q=this.nav,at=this.clipRect;return O.layout!=="horizontal"||O.verticalAlign==="middle"||O.floating||(V/=2),n&&(V=Math.min(V,n)),i.length=0,h&&V>0&&h>V&&a.enabled!==!1?(this.clipHeight=v=Math.max(V-20-this.titleHeight-Z,0),this.currentPage=s(this.currentPage,1),this.fullHeight=h,g.forEach((ht,z)=>{let D=(Y=ht.legendItem||{}).y||0,G=Math.round(Y.label.getBBox().height),X=i.length;(!X||D-i[X-1]>v&&(N||D)!==i[X-1])&&(i.push(N||D),X++),Y.pageIx=X-1,N&&((g[z-1].legendItem||{}).pageIx=X-1),z===g.length-1&&D+G-i[X-1]>v&&D>i[X-1]&&(i.push(D),Y.pageIx=X),D!==N&&(N=D)}),at||(at=P.clipRect=m.clipRect(0,Z-2,9999,0),P.contentGroup.clip(at)),p(v),Q||(this.nav=Q=m.g().attr({zIndex:1}).add(this.group),this.up=m.symbol("triangle",0,0,j,j).add(Q),T("upTracker").on("click",function(){P.scroll(-1,d)}),this.pager=m.text("",15,10).addClass("highcharts-legend-navigation"),!U.styledMode&&a.style&&this.pager.css(a.style),this.pager.add(Q),this.down=m.symbol("triangle-down",0,0,j,j).add(Q),T("downTracker").on("click",function(){P.scroll(1,d)})),P.scroll(0),h=V):Q&&(p(),this.nav=Q.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),h}scroll(h,P){let U=this.chart,m=this.pages,O=m.length,_=this.clipHeight,W=this.options.navigation,Z=this.pager,n=this.padding,a=this.currentPage+h;a>O&&(a=O),a>0&&(P!==void 0&&S(P,U),this.nav.attr({translateX:n,translateY:_+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(d){d.attr({class:a===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),Z.attr({text:a+"/"+O}),[this.down,this.downTracker].forEach(function(d){d.attr({x:18+this.pager.getBBox().width,class:a===O?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),U.styledMode||(this.up.attr({fill:a===1?W.inactiveColor:W.activeColor}),this.upTracker.css({cursor:a===1?"default":"pointer"}),this.down.attr({fill:a===O?W.inactiveColor:W.activeColor}),this.downTracker.css({cursor:a===O?"default":"pointer"})),this.scrollOffset=-m[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=a,this.positionCheckboxes(),l(()=>{C(this,"afterScroll",{currentPage:a})},$(s(P,U.renderer.globalAnimation,!0)).duration))}setItemEvents(h,P,U){let m=this,O=h.legendItem||{},_=m.chart.renderer.boxWrapper,W=h instanceof st,Z=h instanceof nt,n="highcharts-legend-"+(W?"point":"series")+"-active",a=m.chart.styledMode,d=U?[P,O.symbol]:[O.group],j=i=>{m.allItems.forEach(g=>{h!==g&&[g].concat(g.linkedSeries||[]).forEach(p=>{p.setState(i,!W)})})};for(let i of d)i&&i.on("mouseover",function(){h.visible&&j("inactive"),h.setState("hover"),h.visible&&_.addClass(n),a||P.css(m.options.itemHoverStyle)}).on("mouseout",function(){m.chart.styledMode||P.css(u(h.visible?m.itemStyle:m.itemHiddenStyle)),j(""),_.removeClass(n),h.setState()}).on("click",function(g){let p=function(){h.setVisible&&h.setVisible(),j(h.visible?"inactive":"")};_.removeClass(n),C(m,"itemClick",{browserEvent:g,legendItem:h},p),W?h.firePointEvent("legendItemClick",{browserEvent:g}):Z&&C(h,"legendItemClick",{browserEvent:g})})}createCheckboxForItem(h){h.checkbox=A("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:h.selected,defaultChecked:h.selected},this.options.itemCheckboxStyle,this.chart.container),M(h.checkbox,"click",function(P){let U=P.target;C(h.series||h,"checkboxClick",{checked:U.checked,item:h},function(){h.select()})})}}return(q=x||(x={})).compose=function(y){e(R,"Core.Legend")&&M(y,"beforeMargins",function(){this.legend=new q(this,this.options.legend)})},x}),it(k,"Core/Chart/Chart.js",[k["Core/Animation/AnimationUtilities.js"],k["Core/Axis/Axis.js"],k["Core/Defaults.js"],k["Core/Templating.js"],k["Core/Foundation.js"],k["Core/Globals.js"],k["Core/Renderer/RendererRegistry.js"],k["Core/Series/Series.js"],k["Core/Series/SeriesRegistry.js"],k["Core/Renderer/SVG/SVGRenderer.js"],k["Core/Time.js"],k["Core/Utilities.js"],k["Core/Renderer/HTML/AST.js"],k["Core/Axis/Tick.js"]],function(E,H,J,nt,st,lt,ct,K,q,$,S,B,R,L){let{animate:f,animObject:w,setAnimation:M}=E,{defaultOptions:A,defaultTime:c}=J,{numberFormat:b}=nt,{registerEventOptions:F}=st,{charts:I,doc:C,marginNames:o,svg:u,win:s}=lt,{seriesTypes:e}=q,{addEvent:t,attr:r,createElement:l,css:x,defined:y,diffObjects:h,discardElement:P,erase:U,error:m,extend:O,find:_,fireEvent:W,getStyle:Z,isArray:n,isNumber:a,isObject:d,isString:j,merge:i,objectEach:g,pick:p,pInt:T,relativeLength:v,removeEvent:N,splat:Y,syncTimeout:V,uniqueKey:Q}=B;class at{static chart(z,D,G){return new at(z,D,G)}constructor(z,D,G){this.sharedClips={};let X=[...arguments];(j(z)||z.nodeName)&&(this.renderTo=X.shift()),this.init(X[0],X[1])}setZoomOptions(){let z=this.options.chart,D=z.zooming;this.zooming=he(Yt({},D),{type:p(z.zoomType,D.type),key:p(z.zoomKey,D.key),pinchType:p(z.pinchType,D.pinchType),singleTouch:p(z.zoomBySingleTouch,D.singleTouch,!1),resetButton:i(D.resetButton,z.resetZoomButton)})}init(z,D){W(this,"init",{args:arguments},function(){let G=i(A,z),X=G.chart;this.userOptions=O({},z),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=D,this.isResizing=0,this.options=G,this.axes=[],this.series=[],this.time=z.time&&Object.keys(z.time).length?new S(z.time):lt.time,this.numberFormatter=X.numberFormatter||b,this.styledMode=X.styledMode,this.hasCartesianSeries=X.showAxes,this.index=I.length,I.push(this),lt.chartCount++,F(this,X),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),W(this,"afterInit"),this.firstRender()})}initSeries(z){let D=this.options.chart,G=z.type||D.type,X=e[G];X||m(17,!0,this,{missingModuleFor:G});let tt=new X;return typeof tt.init=="function"&&tt.init(this,z),tt}setSortedData(){this.getSeriesOrderByLinks().forEach(function(z){z.points||z.data||!z.enabledDataSorting||z.setData(z.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(z,D){return z.linkedSeries.length||D.linkedSeries.length?D.linkedSeries.length-z.linkedSeries.length:0})}orderItems(z,D=0){let G=this[z],X=this.options[z]=Y(this.options[z]).slice(),tt=this.userOptions[z]=this.userOptions[z]?Y(this.userOptions[z]).slice():[];if(this.hasRendered&&(X.splice(D),tt.splice(D)),G)for(let et=D,ot=G.length;et<ot;++et){let rt=G[et];rt&&(rt.index=et,rt instanceof K&&(rt.name=rt.getName()),rt.options.isInternal||(X[et]=rt.options,tt[et]=rt.userOptions))}}isInsidePlot(z,D,G={}){let{inverted:X,plotBox:tt,plotLeft:et,plotTop:ot,scrollablePlotBox:rt}=this,{scrollLeft:dt=0,scrollTop:ut=0}=G.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},gt=G.series,ft=G.visiblePlotOnly&&rt||tt,mt=G.inverted?D:z,Ct=G.inverted?z:D,yt={x:mt,y:Ct,isInsidePlot:!0,options:G};if(!G.ignoreX){let xt=gt&&(X&&!this.polar?gt.yAxis:gt.xAxis)||{pos:et,len:1/0},Mt=G.paneCoordinates?xt.pos+mt:et+mt;Mt>=Math.max(dt+et,xt.pos)&&Mt<=Math.min(dt+et+ft.width,xt.pos+xt.len)||(yt.isInsidePlot=!1)}if(!G.ignoreY&&yt.isInsidePlot){let xt=!X&&G.axis&&!G.axis.isXAxis&&G.axis||gt&&(X?gt.xAxis:gt.yAxis)||{pos:ot,len:1/0},Mt=G.paneCoordinates?xt.pos+Ct:ot+Ct;Mt>=Math.max(ut+ot,xt.pos)&&Mt<=Math.min(ut+ot+ft.height,xt.pos+xt.len)||(yt.isInsidePlot=!1)}return W(this,"afterIsInsidePlot",yt),yt.isInsidePlot}redraw(z){W(this,"beforeRedraw");let D=this.hasCartesianSeries?this.axes:this.colorAxis||[],G=this.series,X=this.pointer,tt=this.legend,et=this.userOptions.legend,ot=this.renderer,rt=ot.isHidden(),dt=[],ut,gt,ft,mt=this.isDirtyBox,Ct=this.isDirtyLegend,yt;
2for(ot.rootFontSize=ot.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),M(!!this.hasRendered&&z,this),rt&&this.temporaryDisplay(),this.layOutTitles(!1),ft=G.length;ft--;)if(((yt=G[ft]).options.stacking||yt.options.centerInCategory)&&(gt=!0,yt.isDirty)){ut=!0;break}if(ut)for(ft=G.length;ft--;)(yt=G[ft]).options.stacking&&(yt.isDirty=!0);G.forEach(function(xt){xt.isDirty&&(xt.options.legendType==="point"?(typeof xt.updateTotals=="function"&&xt.updateTotals(),Ct=!0):et&&(et.labelFormatter||et.labelFormat)&&(Ct=!0)),xt.isDirtyData&&W(xt,"updatedData")}),Ct&&tt&&tt.options.enabled&&(tt.render(),this.isDirtyLegend=!1),gt&&this.getStacks(),D.forEach(function(xt){xt.updateNames(),xt.setScale()}),this.getMargins(),D.forEach(function(xt){xt.isDirty&&(mt=!0)}),D.forEach(function(xt){let Mt=xt.min+","+xt.max;xt.extKey!==Mt&&(xt.extKey=Mt,dt.push(function(){W(xt,"afterSetExtremes",O(xt.eventArgs,xt.getExtremes())),delete xt.eventArgs})),(mt||gt)&&xt.redraw()}),mt&&this.drawChartBox(),W(this,"predraw"),G.forEach(function(xt){(mt||xt.isDirty)&&xt.visible&&xt.redraw(),xt.isDirtyData=!1}),X&&X.reset(!0),ot.draw(),W(this,"redraw"),W(this,"render"),rt&&this.temporaryDisplay(!0),dt.forEach(function(xt){xt.call()})}get(z){let D=this.series;function G(tt){return tt.id===z||tt.options&&tt.options.id===z}let X=_(this.axes,G)||_(this.series,G);for(let tt=0;!X&&tt<D.length;tt++)X=_(D[tt].points||[],G);return X}getAxes(){let z=this.userOptions;for(let D of(W(this,"getAxes"),["xAxis","yAxis"]))for(let G of z[D]=Y(z[D]||{}))new H(this,G,D);W(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((z,D)=>(D.getPointsCollection().forEach(G=>{p(G.selectedStaging,G.selected)&&z.push(G)}),z),[])}getSelectedSeries(){return this.series.filter(function(z){return z.selected})}setTitle(z,D,G){this.applyDescription("title",z),this.applyDescription("subtitle",D),this.applyDescription("caption",void 0),this.layOutTitles(G)}applyDescription(z,D){let G=this,X=this.options[z]=i(this.options[z],D),tt=this[z];tt&&D&&(this[z]=tt=tt.destroy()),X&&!tt&&((tt=this.renderer.text(X.text,0,0,X.useHTML).attr({align:X.align,class:"highcharts-"+z,zIndex:X.zIndex||4}).add()).update=function(et,ot){G.applyDescription(z,et),G.layOutTitles(ot)},this.styledMode||tt.css(O(z==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},X.style)),this[z]=tt)}layOutTitles(z=!0){let D=[0,0,0],G=this.renderer,X=this.spacingBox;["title","subtitle","caption"].forEach(function(et){let ot=this[et],rt=this.options[et],dt=rt.verticalAlign||"top",ut=et==="title"?dt==="top"?-3:0:dt==="top"?D[0]+2:0;if(ot){ot.css({width:(rt.width||X.width+(rt.widthAdjust||0))+"px"});let gt=G.fontMetrics(ot).b,ft=Math.round(ot.getBBox(rt.useHTML).height);ot.align(O({y:dt==="bottom"?gt:ut+gt,height:ft},rt),!1,"spacingBox"),rt.floating||(dt==="top"?D[0]=Math.ceil(D[0]+ft):dt==="bottom"&&(D[2]=Math.ceil(D[2]+ft)))}},this),D[0]&&(this.options.title.verticalAlign||"top")==="top"&&(D[0]+=this.options.title.margin),D[2]&&this.options.caption.verticalAlign==="bottom"&&(D[2]+=this.options.caption.margin);let tt=!this.titleOffset||this.titleOffset.join(",")!==D.join(",");this.titleOffset=D,W(this,"afterLayOutTitles"),!this.isDirtyBox&&tt&&(this.isDirtyBox=this.isDirtyLegend=tt,this.hasRendered&&z&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:Z(this.renderTo,"width",!0)||0,height:Z(this.renderTo,"height",!0)||0}}getChartSize(){let z=this.options.chart,D=z.width,G=z.height,X=this.getContainerBox();this.chartWidth=Math.max(0,D||X.width||600),this.chartHeight=Math.max(0,v(G,this.chartWidth)||(X.height>1?X.height:400)),this.containerBox=X}temporaryDisplay(z){let D=this.renderTo,G;if(z)for(;D&&D.style;)D.hcOrigStyle&&(x(D,D.hcOrigStyle),delete D.hcOrigStyle),D.hcOrigDetached&&(C.body.removeChild(D),D.hcOrigDetached=!1),D=D.parentNode;else for(;D&&D.style&&(C.body.contains(D)||D.parentNode||(D.hcOrigDetached=!0,C.body.appendChild(D)),(Z(D,"display",!1)==="none"||D.hcOricDetached)&&(D.hcOrigStyle={display:D.style.display,height:D.style.height,overflow:D.style.overflow},G={display:"block",overflow:"hidden"},D!==this.renderTo&&(G.height=0),x(D,G),D.offsetWidth||D.style.setProperty("display","block","important")),(D=D.parentNode)!==C.body););}setClassName(z){this.container.className="highcharts-container "+(z||"")}getContainer(){let z=this.options,D=z.chart,G="data-highcharts-chart",X=Q(),tt,et=this.renderTo;et||(this.renderTo=et=D.renderTo),j(et)&&(this.renderTo=et=C.getElementById(et)),et||m(13,!0,this);let ot=T(r(et,G));a(ot)&&I[ot]&&I[ot].hasRendered&&I[ot].destroy(),r(et,G,this.index),et.innerHTML=R.emptyHTML,D.skipClone||et.offsetWidth||this.temporaryDisplay(),this.getChartSize();
vendor: 2,663 bytes, line 2
2let rt=this.chartHeight,dt=this.chartWidth;x(et,{overflow:"hidden"}),this.styledMode||(tt=O({position:"relative",overflow:"hidden",width:dt+"px",height:rt+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},D.style||{}));let ut=l("div",{id:X},tt,et);this.container=ut,this.getChartSize(),dt===this.chartWidth||(dt=this.chartWidth,this.styledMode||x(ut,{width:p(D.style?.width,dt+"px")})),this.containerBox=this.getContainerBox(),this._cursor=ut.style.cursor;let gt=D.renderer||!u?ct.getRendererType(D.renderer):$;if(this.renderer=new gt(ut,dt,rt,void 0,D.forExport,z.exporting&&z.exporting.allowHTML,this.styledMode),M(void 0,this),this.setClassName(D.className),this.styledMode)for(let ft in z.defs)this.renderer.definition(z.defs[ft]);else this.renderer.setStyle(D.style);this.renderer.chartIndex=this.index,W(this,"afterGetContainer")}getMargins(z){let{spacing:D,margin:G,titleOffset:X}=this;this.resetMargins(),X[0]&&!y(G[0])&&(this.plotTop=Math.max(this.plotTop,X[0]+D[0])),X[2]&&!y(G[2])&&(this.marginBottom=Math.max(this.marginBottom,X[2]+D[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(G,D),W(this,"getMargins"),z||this.getAxisMargins()}getAxisMargins(){let z=this,D=z.axisOffset=[0,0,0,0],G=z.colorAxis,X=z.margin,tt=function(et){et.forEach(function(ot){ot.visible&&ot.getOffset()})};z.hasCartesianSeries?tt(z.axes):G&&G.length&&tt(G),o.forEach(function(et,ot){y(X[ot])||(z[et]+=D[ot])}),z.setChartSize()}getOptions(){return h(this.userOptions,A)}reflow(z){let D=this,G=D.containerBox,X=D.getContainerBox();delete D.pointer?.chartPosition,!D.isPrinting&&!D.isResizing&&G&&X.width&&((X.width!==G.width||X.height!==G.height)&&(B.clearTimeout(D.reflowTimeout),D.reflowTimeout=V(function(){D.container&&D.setSize(void 0,void 0,!1)},z?100:0)),D.containerBox=X)}setReflow(){let z=this,D=G=>{z.options?.chart.reflow&&z.hasLoaded&&z.reflow(G)};if(typeof ResizeObserver=="function")new ResizeObserver(D).observe(z.renderTo);else{let G=t(s,"resize",D);t(this,"destroy",G)}}setSize(z,D,G){let X=this,tt=X.renderer;X.isResizing+=1,M(G,X);let et=tt.globalAnimation;X.oldChartHeight=X.chartHeight,X.oldChartWidth=X.chartWidth,z!==void 0&&(X.options.chart.width=z),D!==void 0&&(X.options.chart.height=D),X.getChartSize();let{chartWidth:ot,chartHeight:rt,scrollablePixelsX:dt=0,scrollablePixelsY:ut=0}=X;(X.isDirtyBox||ot!==X.oldChartWidth||rt!==X.oldChartHeight)&&(X.styledMode||(et?f:x)(X.container,{width:`${ot+dt}px`,height:`${rt+ut}px`},et),X.setChartSize(!0),tt.setSize(ot,rt,et),X.axes.forEach(function(gt){gt.isDirty=!0,gt.setScale()}
2),X.isDirtyLegend=!0,X.isDirtyBox=!0,X.layOutTitles(),X.getMargins(),X.redraw(et),X.oldChartHeight=void 0,W(X,"resize"),setTimeout(()=>{X&&W(X,"endResize")},w(et).duration)),X.isResizing-=1}setChartSize(z){let D,G,X,tt,{chartHeight:et,chartWidth:ot,inverted:rt,spacing:dt,renderer:ut}=this,gt=this.clipOffset,ft=Math[rt?"floor":"round"];this.plotLeft=D=Math.round(this.plotLeft),this.plotTop=G=Math.round(this.plotTop),this.plotWidth=X=Math.max(0,Math.round(ot-D-this.marginRight)),this.plotHeight=tt=Math.max(0,Math.round(et-G-this.marginBottom)),this.plotSizeX=rt?tt:X,this.plotSizeY=rt?X:tt,this.spacingBox=ut.spacingBox={x:dt[3],y:dt[0],width:ot-dt[3]-dt[1],height:et-dt[0]-dt[2]},this.plotBox=ut.plotBox={x:D,y:G,width:X,height:tt},gt&&(this.clipBox={x:ft(gt[3]),y:ft(gt[0]),width:ft(this.plotSizeX-gt[1]-gt[3]),height:ft(this.plotSizeY-gt[0]-gt[2])}),z||(this.axes.forEach(function(mt){mt.setAxisSize(),mt.setAxisTranslation()}),ut.alignElements()),W(this,"afterSetChartSize",{skipAxes:z})}resetMargins(){W(this,"resetMargins");let z=this,D=z.options.chart,G=D.plotBorderWidth||0,X=G/2;["margin","spacing"].forEach(function(tt){let et=D[tt],ot=d(et)?et:[et,et,et,et];["Top","Right","Bottom","Left"].forEach(function(rt,dt){z[tt][dt]=p(D[tt+rt],ot[dt])})}),o.forEach(function(tt,et){z[tt]=p(z.margin[et],z.spacing[et])}),z.axisOffset=[0,0,0,0],z.clipOffset=[X,X,X,X],z.plotBorderWidth=G}drawChartBox(){let z=this.options.chart,D=this.renderer,G=this.chartWidth,X=this.chartHeight,tt=this.styledMode,et=this.plotBGImage,ot=z.backgroundColor,rt=z.plotBackgroun
vendor: 9,813 bytes, line 2
2dColor,dt=z.plotBackgroundImage,ut=this.plotLeft,gt=this.plotTop,ft=this.plotWidth,mt=this.plotHeight,Ct=this.plotBox,yt=this.clipRect,xt=this.clipBox,Mt=this.chartBackground,Tt=this.plotBackground,Pt=this.plotBorder,Lt,jt,Rt,Et="animate";Mt||(this.chartBackground=Mt=D.rect().addClass("highcharts-background").add(),Et="attr"),tt?Lt=jt=Mt.strokeWidth():(jt=(Lt=z.borderWidth||0)+(z.shadow?8:0),Rt={fill:ot||"none"},(Lt||Mt["stroke-width"])&&(Rt.stroke=z.borderColor,Rt["stroke-width"]=Lt),Mt.attr(Rt).shadow(z.shadow)),Mt[Et]({x:jt/2,y:jt/2,width:G-jt-Lt%2,height:X-jt-Lt%2,r:z.borderRadius}),Et="animate",Tt||(Et="attr",this.plotBackground=Tt=D.rect().addClass("highcharts-plot-background").add()),Tt[Et](Ct),!tt&&(Tt.attr({fill:rt||"none"}).shadow(z.plotShadow),dt&&(et?(dt!==et.attr("href")&&et.attr("href",dt),et.animate(Ct)):this.plotBGImage=D.image(dt,ut,gt,ft,mt).add())),yt?yt.animate({width:xt.width,height:xt.height}):this.clipRect=D.clipRect(xt),Et="animate",Pt||(Et="attr",this.plotBorder=Pt=D.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),tt||Pt.attr({stroke:z.plotBorderColor,"stroke-width":z.plotBorderWidth||0,fill:"none"}),Pt[Et](Pt.crisp({x:ut,y:gt,width:ft,height:mt},-Pt.strokeWidth())),this.isDirtyBox=!1,W(this,"afterDrawChartBox")}propFromSeries(){let z,D,G,X=this,tt=X.options.chart,et=X.options.series;["inverted","angular","polar"].forEach(function(ot){for(D=e[tt.type],G=tt[ot]||D&&D.prototype[ot],z=et&&et.length;!G&&z--;)(D=e[et[z].type])&&D.prototype[ot]&&(G=!0);X[ot]=G})}linkSeries(z){let D=this,G=D.series;G.forEach(function(X){X.linkedSeries.length=0}),G.forEach(function(X){let{linkedTo:tt}=X.options;if(j(tt)){let et;(et=tt===":previous"?D.series[X.index-1]:D.get(tt))&&et.linkedParent!==X&&(et.linkedSeries.push(X),X.linkedParent=et,et.enabledDataSorting&&X.setDataSortingOptions(),X.visible=p(X.options.visible,et.options.visible,X.visible))}}),W(this,"afterLinkSeries",{isUpdating:z})}renderSeries(){this.series.forEach(function(z){z.translate(),z.render()})}render(){let z=this.axes,D=this.colorAxis,G=this.renderer,X=this.options.chart.axisLayoutRuns||2,tt=ut=>{ut.forEach(gt=>{gt.visible&>.render()})},et=0,ot=!0,rt,dt=0;for(let ut of(this.setTitle(),W(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),z)){let{options:gt}=ut,{labels:ft}=gt;if(this.hasCartesianSeries&&ut.horiz&&ut.visible&&ft.enabled&&ut.series.length&&ut.coll!=="colorAxis"&&!this.polar){et=gt.tickLength,ut.createGroups();let mt=new L(ut,0,"",!0),Ct=mt.createLabel("x",ft);if(mt.destroy(),Ct&&p(ft.reserveSpace,!a(gt.crossing))&&(et=Ct.getBBox().height+ft.distance+Math.max(gt.offset||0,0)),et){Ct?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-et,0);(ot||rt||X>1)&&dt<X;){let ut=this.plotWidth,gt=this.plotHeight;for(let ft of z)dt===0?ft.setScale():(ft.horiz&&ot||!ft.horiz&&rt)&&ft.setTickInterval(!0);dt===0?this.getAxisMargins():this.getMargins(),ot=ut/this.plotWidth>(dt?1:1.1),rt=gt/this.plotHeight>(dt?1:1.05),dt++}this.drawChartBox(),this.hasCartesianSeries?tt(z):D&&D.length&&tt(D),this.seriesGroup||(this.seriesGroup=G.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(z){let D=this,G=i(!0,this.options.credits,z);G.enabled&&!this.credits&&(this.credits=this.renderer.text(G.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){G.href&&(s.location.href=G.href)}).attr({align:G.position.align,zIndex:8}),D.styledMode||this.credits.css(G.style),this.credits.add().align(G.position),this.credits.update=function(X){D.credits=D.credits.destroy(),D.addCredits(X)})}destroy(){let z,D=this,G=D.axes,X=D.series,tt=D.container,et=tt&&tt.parentNode;for(W(D,"destroy"),D.renderer.forExport?U(I,D):I[D.index]=void 0,lt.chartCount--,D.renderTo.removeAttribute("data-highcharts-chart"),N(D),z=G.length;z--;)G[z]=G[z].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),z=X.length;z--;)X[z]=X[z].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(ot){let rt=D[ot];rt&&rt.destroy&&(D[ot]=rt.destroy())}),tt&&(tt.innerHTML=R.emptyHTML,N(tt),et&&P(tt)),g(D,function(ot,rt){delete D[rt]})}firstRender(){let z=this,D=z.options;z.getContainer(),z.resetMargins(),z.setChartSize(),z.propFromSeries(),z.getAxes();let G=n(D.series)?D.series:[];D.series=[],G.forEach(function(X){z.initSeries(X)}),z.linkSeries(),z.setSortedData(),W(z,"beforeRender"),z.render(),z.pointer?.getChartPosition(),z.renderer.imgCount||z.hasLoaded||z.onload(),z.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(z){z&&this.index!==void 0&&z.apply(this,[this])},this),W(this,"load"),W(this,"render"),y(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:z,title:D}=this;!z||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(D&&D.element.textContent||"").replace(/</g,"<")}),z.accessibility&&z.accessibility.enabled===!1||m('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(z,D,G){let X,tt=this;return z&&(D=p(D,!0),W(tt,"addSeries",{options:z},function(){X=tt.initSeries(z),tt.isDirtyLegend=!0,tt.linkSeries(),X.enabledDataSorting&&X.setData(z.data,!1),W(tt,"afterAddSeries",{series:X}),D&&tt.redraw(G)})),X}addAxis(z,D,G,X){return this.createAxis(D?"xAxis":"yAxis",{axis:z,redraw:G,animation:X})}addColorAxis(z,D,G){return this.createAxis("colorAxis",{axis:z,redraw:D,animation:G})}createAxis(z,D){let G=new H(this,D.axis,z);return p(D.redraw,!0)&&this.redraw(D.animation),G}showLoading(z){let D=this,G=D.options,X=G.loading,tt=function(){et&&x(et,{left:D.plotLeft+"px",top:D.plotTop+"px",width:D.plotWidth+"px",height:D.plotHeight+"px"})},et=D.loadingDiv,ot=D.loadingSpan;et||(D.loadingDiv=et=l("div",{className:"highcharts-loading highcharts-loading-hidden"},null,D.container)),ot||(D.loadingSpan=ot=l("span",{className:"highcharts-loading-inner"},null,et),t(D,"redraw",tt)),et.className="highcharts-loading",R.setElementHTML(ot,p(z,G.lang.loading,"")),D.styledMode||(x(et,O(X.style,{zIndex:10})),x(ot,X.labelStyle),D.loadingShown||(x(et,{opacity:0,display:""}),f(et,{opacity:X.style.opacity||.5},{duration:X.showDuration||0}))),D.loadingShown=!0,tt()}hideLoading(){let z=this.options,D=this.loadingDiv;D&&(D.className="highcharts-loading highcharts-loading-hidden",this.styledMode||f(D,{opacity:0},{duration:z.loading.hideDuration||100,complete:function(){x(D,{display:"none"})}})),this.loadingShown=!1}update(z,D,G,X){let tt,et,ot,rt=this,dt={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},ut=z.isResponsiveOptions,gt=[];W(rt,"update",{options:z}),ut||rt.setResponsive(!1,!0),z=h(z,rt.options),rt.userOptions=i(rt.userOptions,z);let ft=z.chart;ft&&(i(!0,rt.options.chart,ft),this.setZoomOptions(),"className"in ft&&rt.setClassName(ft.className),("inverted"in ft||"polar"in ft||"type"in ft)&&(rt.propFromSeries(),tt=!0),"alignTicks"in ft&&(tt=!0),"events"in ft&&F(this,ft),g(ft,function(yt,xt){rt.propsRequireUpdateSeries.indexOf("chart."+xt)!==-1&&(et=!0),rt.propsRequireDirtyBox.indexOf(xt)!==-1&&(rt.isDirtyBox=!0),rt.propsRequireReflow.indexOf(xt)===-1||(rt.isDirtyBox=!0,ut||(ot=!0))}),!rt.styledMode&&ft.style&&rt.renderer.setStyle(rt.options.chart.style||{})),!rt.styledMode&&z.colors&&(this.options.colors=z.colors),z.time&&(this.time===c&&(this.time=new S(z.time)),i(!0,rt.options.time,z.time)),g(z,function(yt,xt){rt[xt]&&typeof rt[xt].update=="function"?rt[xt].update(yt,!1):typeof rt[dt[xt]]=="function"?rt[dt[xt]](yt):xt!=="colors"&&rt.collectionsWithUpdate.indexOf(xt)===-1&&i(!0,rt.options[xt],z[xt]),xt!=="chart"&&rt.propsRequireUpdateSeries.indexOf(xt)!==-1&&(et=!0)}),this.collectionsWithUpdate.forEach(function(yt){z[yt]&&(Y(z[yt]).forEach(function(xt,Mt){let Tt,Pt=y(xt.id);Pt&&(Tt=rt.get(xt.id)),!Tt&&rt[yt]&&(Tt=rt[yt][p(xt.index,Mt)])&&(Pt&&y(Tt.options.id)||Tt.options.isInternal)&&(Tt=void 0),Tt&&Tt.coll===yt&&(Tt.update(xt,!1),G&&(Tt.touched=!0)),!Tt&&G&&rt.collectionsWithInit[yt]&&(rt.collectionsWithInit[yt][0].apply(rt,[xt].concat(rt.collectionsWithInit[yt][1]||[]).concat([!1])).touched=!0)}),G&&rt[yt].forEach(function(xt){xt.touched||xt.options.isInternal?delete xt.touched:gt.push(xt)}))}),gt.forEach(function(yt){yt.chart&&yt.remove&&yt.remove(!1)}),tt&&rt.axes.forEach(function(yt){yt.update({},!1)}),et&&rt.getSeriesOrderByLinks().forEach(function(yt){yt.chart&&yt.update({},!1)},this);let mt=ft&&ft.width,Ct=ft&&(j(ft.height)?v(ft.height,mt||rt.chartWidth):ft.height);ot||a(mt)&&mt!==rt.chartWidth||a(Ct)&&Ct!==rt.chartHeight?rt.setSize(mt,Ct,X):p(D,!0)&&rt.redraw(X),W(rt,"afterUpdate",{options:z,redraw:D,animation:X})}setSubtitle(z,D){this.applyDescription("subtitle",z),this.layOutTitles(D)}setCaption(z,D){this.applyDescription("caption",z),this.layOutTitles(D)}showResetZoom(){let z=this,D=A.lang,G=z.zooming.resetButton,X=G.theme,tt=G.relativeTo==="chart"||G.relativeTo==="spacingBox"?null:"plotBox";function et(){z.zoomOut()}W(this,"beforeShowResetZoom",null,function(){z.resetZoomButton=z.renderer.button(D.resetZoom,null,null,et,X).attr({align:G.position.align,title:D.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(G.position,!1,tt)}),W(this,"afterShowResetZoom")}zoomOut(){W(this,"selection",{resetSelection:!0}
2,()=>this.transform({reset:!0,trigger:"zoom"}))}pan(z,D){let G=this,X=typeof D=="object"?D:{enabled:D,type:"x"},tt=X.type,et=tt&&G[{x:"xAxis",xy:"axes",y:"yAxis"}[tt]].filter(rt=>rt.options.panningEnabled&&!rt.options.isInternal),ot=G.options.chart;ot?.panning&&(ot.panning=X),W(this,"pan",{originalEvent:z},()=>{G.transform({axes:et,event:z,to:{x:z.chartX-(G.mouseDownX||0),y:z.chartY-(G.mouseDownY||0)},trigger:"pan"}),x(G.container,{cursor:"move"})})}transform(z){let{axes:D=this.axes,event:G,from:X={},reset:tt,selection:et,to:ot={},trigger:rt}=z,{inverted:dt}=this,ut=!1,gt,ft;for(let mt of(this.hoverPoints?.forEach(Ct=>Ct.setState()),D)){let{horiz:Ct,len:yt,minPointOffset:xt=0,options:Mt,reversed:Tt}=mt,Pt=Ct?"width":"height",Lt=Ct?"x":"y",jt=p(ot[Pt],mt.len),Rt=p(X[Pt],mt.len),Et=10>Math.abs(jt)?1:jt/Rt,$t=(X[Lt]||0)+Rt/2-mt.pos,Ut=$t-((ot[Lt]??mt.pos)+jt/2-mt.pos)/Et,ie=Tt&&!dt||!Tt&&dt?-1:1;if(!tt&&($t<0||$t>mt.len))continue;let Bt=mt.toValue(Ut,!0)+(et?0:xt*ie),_t=mt.toValue(Ut+yt/Et,!0)-(et?0:xt*ie||0),Xt=mt.allExtremes;if(Bt>_t&&([Bt,_t]=[_t,Bt]),Et===1&&!tt&&mt.coll==="yAxis"&&!Xt){for(let Qe of mt.series){let le=Qe.getExtremes(Qe.getProcessedData(!0).yData,!0);Xt??(Xt={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),a(le.dataMin)&&a(le.dataMax)&&(Xt.dataMin=Math.min(le.dataMin,Xt.dataMin),Xt.dataMax=Math.max(le.dataMax,Xt.dataMax))}mt.allExtremes=Xt}let{dataMin:gs,dataMax:ms,min:Ve,max:$e}=O(mt.getExtremes(),Xt||{}),qe=gs??Mt.min,Ke=ms??Mt.max,Oe=_t-Bt,Ze=mt.categories?0:Math.min(Oe,Ke-qe),De=qe-Ze*(y(Mt.min)?0:Mt.minPadding),Ie=Ke+Ze*(y(Mt.max)?0:Mt.maxPadding),Je=mt.allowZoomOutside||Et===1||rt!=="zoom"&&Et>1,ne=Math.min(Mt.min??De,De,Je?Ve:De),ae=Math.max(Mt.max??Ie,Ie,Je?$e:Ie);(!mt.isOrdinal||Et!==1||tt)&&(Bt<ne&&(Bt=ne,Et>=1&&(_t=Bt+Oe)),_t>ae&&(_t=ae,Et>=1&&(Bt=_t-Oe)),(tt||mt.series.length&&(Bt!==Ve||_t!==$e)&&Bt>=ne&&_t<=ae)&&(et?et[mt.coll].push({axis:mt,min:Bt,max:_t}):(mt.isPanning=rt!=="zoom",mt.isPanning&&(ft=!0),mt.setExtremes(tt?void 0:Bt,tt?void 0:_t,!1,!1,{move:Ut,trigger:rt,scale:Et}),!tt&&(Bt>ne||_t<ae)&&rt!=="mousewheel"&&(gt=!0)),ut=!0),G&&(this[Ct?"mouseDownX":"mouseDownY"]=G[Ct?"chartX":"chartY"]))}return ut&&(et?W(this,"selection",et,()=>{delete z.selection,z.trigger="zoom",this.transform(z)}):(!gt||ft||this.resetZoomButton?!gt&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(rt==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),ut}}return O(at.prototype,{callbacks:[],collectionsWithInit:{xAxis:[at.prototype.addAxis,[!0]],yAxis:[at.prototype.addAxis,[!1]],series:[at.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroun
2dColor","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"]}),at}),it(k,"Extensions/ScrollablePlotArea.js",[k["Core/Animation/AnimationUtilities.js"],k["Core/Globals.js"],k["Core/Renderer/RendererRegistry.js"],k["Core/Utilities.js"]],function(E,H,J,nt){let{stop:st}=E,{composed:lt}=H,{addEvent:ct,createElement:K,css:q,defined:$,merge:S,pushUnique:B}=nt;function R(){let w=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!w&&(this.scrollablePlotArea=w=new f(this)),w?.applyFixed()}function L(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class f{static compose(M,A,c){B(lt,this.compose)&&(ct(M,"afterInit",L),ct(A,"afterSetChartSize",b=>this.afterSetSize(b.target,b)),ct(A,"render",R),ct(c,"show",L))}static afterSetSize(M,A){let c,b,F,{minWidth:I,minHeight:C}=M.options.chart.scrollablePlotArea||{},{clipBox:o,plotBox:u,inverted:s,renderer:e}=M;if(!e.forExport&&(I?(M.scrollablePixelsX=c=Math.max(0,I-M.chartWidth),c&&(M.scrollablePlotBox=S(M.plotBox),u.width=M.plotWidth+=c,o[s?"height":"width"]+=c,F=!0)):C&&(M.scrollablePixelsY=b=Math.max(0,C-M.chartHeight),$(b)&&(M.scrollablePlotBox=S(M.plotBox),u.height=M.plotHeight+=b,o[s?"width":"height"]+=b,F=!1)),$(F)&&!A.skipAxes))for(let t of M.axes)t.horiz===F&&(t.setAxisSize(),t.setAxisTranslation())}constructor(M){let A,c=M.options.chart,b=J.getRendererType(),F=c.scrollablePlotArea||{},I=this.moveFixedElements.bind(this),C={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};M.scrollablePixelsX&&(C.overflowX="auto"),M.scrollablePixelsY&&(C.overflowY="auto"),this.chart=M;let o=this.parentDiv=K("div",{className:"highcharts-scrolling-parent"},{position:"relative"},M.renderTo),u=this.scrollingContainer=K("div",{className:"highcharts-scrolling"},C,o),s=this.innerContainer=K("div",{className:"highcharts-inner-container"},void 0,u),e=this.fixedDiv=K("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(c.style?.zIndex||0)+2,top:0},void 0,!0),t=this.fixedRenderer=new b(e,M.chartWidth,M.chartHeight,c.style);this.mask=t.path().attr({fill:c.backgroundColor||"#fff","fill-opacity":F.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),u.parentNode.insertBefore(e,u),q(M.renderTo,{overflow:"visible"}),ct(M,"afterShowResetZoom",I),ct(M,"afterApplyDrilldown",I),ct(M,"afterLayOutTitles",I),ct(u,"scroll",()=>{let{pointer:r,hoverPoint:l}=M;r&&(delete r.chartPosition,l&&(A=l),r.runPointActions(void 0,A,!0))}),s.appendChild(M.container)}applyFixed(){let{chart:M,fixedRenderer:A,isDirty:c,scrollingContainer:b}=this,{axisOffset:F,chartWidth:I,chartHeight:C,container:o,plotHeight:u,plotLeft:s,plotTop:e,plotWidth:t,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=M,{scrollPositionX:x=0,scrollPositionY:y=0}=M.options.chart.scrollablePlotArea||{},h=I+r,P=C+l;A.setSize(I,C),(c??!0)&&(this.isDirty=!1,this.moveFixedElements()),st(M.container),q(o,{width:`${h}px`,height:`${P}px`}),M.renderer.boxWrapper.attr({width:h,height:P,viewBox:[0,0,h,P].join(" ")}),M.chartBackground?.attr({width:h,height:P}),q(b,{width:`${I}px`,height:`${C}px`}),$(c)||(b.scrollLeft=r*x,b.scrollTop=l*y);let U=e-F[0]-1,m=s-F[3]-1,O=e+u+F[2]+1,_=s+t+F[1]+1,W=s+t-r,Z=e+u-l,n=[["M",0,0]];r?n=[["M",0,U],["L",s-1,U],["L",s-1,O],["L",0,O],["Z"],["M",W,U],["L",I,U],["L",I,O],["L",W,O],["Z"]]:l&&(n=[["M",m,0],["L",m,e-1],["L",_,e-1],["L",_,0],["Z"],["M",m,Z],["L",m,C],["L",_,C],["L",_,Z],["Z"]]),M.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:n})}moveFixedElements(){let M,{container:A,inverted:c,scrollablePixelsX:b,scrollablePixelsY:F}=this.chart,I=this.fixedRenderer,C=f.fixedSelectors;for(let o of(b&&!c?M=".highcharts-yaxis":b&&c||F&&!c?M=".highcharts-xaxis":F&&c&&(M=".highcharts-yaxis"),M&&C.push(`${M}:not(.highcharts-radial-axis)`,`${M}-labels:not(.highcharts-radial-axis-labels)`),C))[].forEach.call(A.querySelectorAll(
vendor: 5,797 bytes, line 2
2o),u=>{(u.namespaceURI===I.SVG_NS?I.box:I.box.parentNode).appendChild(u),u.style.pointerEvents="auto"})}}return f.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"],f}),it(k,"Core/Axis/Stacking/StackItem.js",[k["Core/Templating.js"],k["Core/Series/SeriesRegistry.js"],k["Core/Utilities.js"]],function(E,H,J){let{format:nt}=E,{series:st}=H,{destroyObjectProperties:lt,fireEvent:ct,isNumber:K,pick:q}=J;return class{constructor($,S,B,R,L){let f=$.chart.inverted,w=$.reversed;this.axis=$;let M=this.isNegative=!!B!=!!w;this.options=S=S||{},this.x=R,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=L,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:S.align||(f?M?"left":"right":"center"),verticalAlign:S.verticalAlign||(f?"middle":M?"bottom":"top"),y:S.y,x:S.x},this.textAlign=S.textAlign||(f?M?"right":"left":"center")}destroy(){lt(this,this.axis)}render($){let S=this.axis.chart,B=this.options,R=B.format,L=R?nt(R,this,S):B.formatter.call(this);if(this.label)this.label.attr({text:L,visibility:"hidden"});else{this.label=S.renderer.label(L,null,void 0,B.shape,void 0,void 0,B.useHTML,!1,"stack-labels");let f={r:B.borderRadius||0,text:L,padding:q(B.padding,5),visibility:"hidden"};S.styledMode||(f.fill=B.backgroundColor,f.stroke=B.borderColor,f["stroke-width"]=B.borderWidth,this.label.css(B.style||{})),this.label.attr(f),this.label.added||this.label.add($)}this.label.labelrank=S.plotSizeY,ct(this,"afterRender")}setOffset($,S,B,R,L,f){let{alignOptions:w,axis:M,label:A,options:c,textAlign:b}=this,F=M.chart,I=this.getStackBox({xOffset:$,width:S,boxBottom:B,boxTop:R,defaultX:L,xAxis:f}),{verticalAlign:C}=w;if(A&&I){let o=A.getBBox(void 0,0),u=A.padding,s=q(c.overflow,"justify")==="justify",e;w.x=c.x||0,w.y=c.y||0;let{x:t,y:r}=this.adjustStackPosition({labelBox:o,verticalAlign:C,textAlign:b});I.x-=t,I.y-=r,A.align(w,!1,I),(e=F.isInsidePlot(A.alignAttr.x+w.x+t,A.alignAttr.y+w.y+r))||(s=!1),s&&st.prototype.justifyDataLabel.call(M,A,w,A.alignAttr,o,I),A.attr({x:A.alignAttr.x,y:A.alignAttr.y,rotation:c.rotation,rotationOriginX:o.width*{left:0,center:.5,right:1}[c.textAlign||"center"],rotationOriginY:o.height/2}),q(!s&&c.crop,!0)&&(e=K(A.x)&&K(A.y)&&F.isInsidePlot(A.x-u+(A.width||0),A.y)&&F.isInsidePlot(A.x+u,A.y)),A[e?"show":"hide"]()}ct(this,"afterSetOffset",{xOffset:$,width:S})}adjustStackPosition({labelBox:$,verticalAlign:S,textAlign:B}){let R={bottom:0,middle:1,top:2,right:1,center:0,left:-1},L=R[S],f=R[B];return{x:$.width/2+$.width/2*f,y:$.height/2*L}}getStackBox($){let S=this.axis,B=S.chart,{boxTop:R,defaultX:L,xOffset:f,width:w,boxBottom:M}=$,A=S.stacking.usePercentage?100:q(R,this.total,0),c=S.toPixels(A),b=$.xAxis||B.xAxis[0],F=q(L,b.translate(this.x))+f,I=Math.abs(c-S.toPixels(M||K(S.min)&&S.logarithmic&&S.logarithmic.lin2log(S.min)||0)),C=B.inverted,o=this.isNegative;return C?{x:(o?c:c-I)-B.plotLeft,y:b.height-F-w+b.top-B.plotTop,width:I,height:w}:{x:F+b.transB-B.plotLeft,y:(o?c-I:c)-B.plotTop,width:w,height:I}}}}),it(k,"Core/Axis/Stacking/StackingAxis.js",[k["Core/Animation/AnimationUtilities.js"],k["Core/Axis/Axis.js"],k["Core/Series/SeriesRegistry.js"],k["Core/Axis/Stacking/StackItem.js"],k["Core/Utilities.js"]],function(E,H,J,nt,st){var lt;let{getDeferredAnimation:ct}=E,{series:{prototype:K}}=J,{addEvent:q,correctFloat:$,defined:S,destroyObjectProperties:B,fireEvent:R,isArray:L,isNumber:f,objectEach:w,pick:M}=st;function A(){let e=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let r=t.xAxis&&t.xAxis.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,M(t.options.stack,""),e?r.top:r.left,e?r.height:r.width].join(","))})}function c(){let e=this.stacking;if(e){let t=e.stacks;w(t,(r,l)=>{B(r),delete t[l]}),e.stackTotalGroup?.destroy()}}function b(){this.stacking||(this.stacking=new s(this))}function F(e,t,r,l){return!S(e)||e.x!==t||l&&e.stackKey!==l?e={x:t,index:0,key:l,stackKey:l}:e.index++,e.key=[r,t,e.index].join(","),e}function I(){let e,t=this,r=t.yAxis,l=t.stackKey||"",x=r.stacking.stacks,y=t.processedXData,h=t.options.stacking,P=t[h+"Stacker"];P&&[l,"-"+l].forEach(U=>{let m=y.length,O,_,W;for(;m--;)O=y[m],e=t.getStackIndicator(e,O,t.index,U),_=x[U]?.[O],(W=_?.points[e.key||""])&&P.call(t,W,_,m)})}function C(e,t,r){let l=t.total?100/t.total:0;e[0]=$(e[0]*l),e[1]=$(e[1]*l),this.stackedYData[r]=e[1]}function o(e){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?K.setStackedPoints.call(this,e,"group"):e.stacking.resetStacks())}function u(e,t){let r,l,x,y,h,P,U,m,O,_=t||this.options.stacking;if(!_||!this.reserveSpace()||({group:"xAxis"}[_]||"yAxis")!==e.coll)return;let W=this.processedXData,Z=this.processedYData,n=[],a=Z.length,d=this.options,j=d.threshold||0,i=d.startFromThreshold?j:0,g=d.stack,p=t?`${this.type},${_}`:this.stackKey||"",T="-"+p,v=this.negStacks,N=e.stacking,Y=N.stacks,V=N.oldStacks;for(N.stacksTouched+=1,U=0;U<a;U++){m=W[U],O=Z[U],P=(r=this.getStackIndicator(r,m,this.index)).key||"",Y[h=(l=v&&O<(i?0:j))?T:p]||(Y[h]={}),Y[h][m]||(V[h]?.[m]?(Y[h][m]=V[h][m],Y[h][m].total=null):Y[h][m]=new nt(e,e.options.stackLabels,!!l,m,g)),x=Y[h][m],O!==null?(x.points[P]=x.points[this.index]=[M(x.cumulative,i)],S(x.cumulative)||(x.base=P),x.touched=N.stacksTouched,r.index>
20&&this.singleStacks===!1&&(x.points[P][0]=x.points[this.index+","+m+",0"][0])):(delete x.points[P],delete x.points[this.index]);let Q=x.total||0;_==="percent"?(y=l?p:T,Q=v&&Y[y]?.[m]?(y=Y[y][m]).total=Math.max(y.total||0,Q)+Math.abs(O)||0:$(Q+(Math.abs(O)||0))):_==="group"?(L(O)&&(O=O[0]),O!==null&&Q++):Q=$(Q+(O||0)),_==="group"?x.cumulative=(Q||1)-1:x.cumulative=$(M(x.cumulative,i)+(O||0)),x.total=Q,O!==null&&(x.points[P].push(x.cumulative),n[U]=x.cumulative,x.hasValidPoints=!0)}_==="percent"&&(N.usePercentage=!0),_!=="group"&&(this.stackedYData=n),N.oldStacks={}}class s{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,r,l=this.axis,x=l.series,y=l.coll==="xAxis",h=l.options.reversedStacks,P=x.length;for(this.resetStacks(),this.usePercentage=!1,r=P;r--;)t=x[h?r:P-r-1],y&&t.setGroupedPoints(l),t.setStackedPoints(l);if(!y)for(r=0;r<P;r++)x[r].modifyStacks();R(l,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,w(this.stacks,t=>{w(t,r=>{r.cumulative=r.total})}))}resetStacks(){w(this.stacks,t=>{w(t,(r,l)=>{f(r.touched)&&r.touched<this.stacksTouched?(r.destroy(),delete t[l]):(r.total=null,r.cumulative=null)})})}renderStackTotals(){let t=this.axis,r=t.chart,l=r.renderer,x=this.stacks,y=ct(r,t.options.stackLabels?.animation||!1),h=this.stackTotalGroup=this.stackTotalGroup||l.g("stack-labels").attr({zIndex:6,opacity:0}).add();h.translate(r.plotLeft,r.plotTop),w(x,P=>{w(P,U=>{U.render(h)})}),h.animate({opacity:1},y)}}return(lt||(lt={})).compose=function(e,t,r){let l=t.prototype,x=r.prototype;l.getStacks||(q(e,"init",b),q(e,"destroy",c),l.getStacks=A,x.getStackIndicator=F,x.modifyStacks=I,x.percentStacker=C,x.setGroupedPoints=o,x.setStackedPoints=u)},lt}),it(k,"Series/Line/LineSeries.js",[k["Core/Series/Series.js"],k["Core/Series/SeriesRegistry.js"],k["Core/Utilities.js"]],function(E,H,J){let{defined:nt,merge:st,isObject:lt}=J;class ct extends E{drawGraph(){let q=this.options,$=(this.gappedPath||this.getGraphPath).call(this),S=this.chart.styledMode;[this,...this.zones].forEach((B,R)=>{let L,f=B.graph,w=f?"animate":"attr",M=B.dashStyle||q.dashStyle;f?(f.endX=this.preventGraphAnimation?null:$.xMap,f.animate({d:$})):$.length&&(B.graph=f=this.chart.renderer.path($).addClass("highcharts-graph"+(R?` highcharts-zone-graph-${R-1} `:" ")+(R&&B.className||"")).attr({zIndex:1}).add(this.group)),f&&!S&&(L={stroke:!R&&q.lineColor||B.color||this.color||"#cccccc","stroke-width":q.lineWidth||0,fill:this.fillGraph&&this.color||"none"},M?L.dashstyle=M:q.linecap!=="square"&&(L["stroke-linecap"]=L["stroke-linejoin"]="round"),f[w](L).shadow(R<2&&q.shadow&&st({filterUnits:"userSpaceOnUse"},lt(q.shadow)?q.shadow:{}))),f&&(f.startX=$.xMap,f.isArea=$.isArea)})}getGraphPath(q,$,S){let B=this,R=B.options,L=[],f=[],w,M=R.step,A=(q=q||B.points).reversed;return A&&q.reverse(),(M={right:1,center:2}[M]||M&&3)&&A&&(M=4-M),(q=this.getValidPoints(q,!1,!(R.connectNulls&&!$&&!S))).forEach(function(c,b){let F,I=c.plotX,C=c.plotY,o=q[b-1],u=c.isNull||typeof C!="number";
vendor: 4,889 bytes, line 2
2(c.leftCliff||o&&o.rightCliff)&&!S&&(w=!0),u&&!nt($)&&b>0?w=!R.connectNulls:u&&!$?w=!0:(b===0||w?F=[["M",c.plotX,c.plotY]]:B.getPointSpline?F=[B.getPointSpline(q,c,b)]:M?(F=M===1?[["L",o.plotX,C]]:M===2?[["L",(o.plotX+I)/2,o.plotY],["L",(o.plotX+I)/2,C]]:[["L",I,o.plotY]]).push(["L",I,C]):F=[["L",I,C]],f.push(c.x),M&&(f.push(c.x),M===2&&f.push(c.x)),L.push.apply(L,F),w=!1)}),L.xMap=f,B.graphPath=L,L}}return ct.defaultOptions=st(E.defaultOptions,{legendSymbol:"lineMarker"}),H.registerSeriesType("line",ct),ct}),it(k,"Series/Area/AreaSeriesDefaults.js",[],function(){return{threshold:0,legendSymbol:"areaMarker"}}),it(k,"Series/Area/AreaSeries.js",[k["Series/Area/AreaSeriesDefaults.js"],k["Core/Series/SeriesRegistry.js"],k["Core/Utilities.js"]],function(E,H,J){let{seriesTypes:{line:nt}}=H,{extend:st,merge:lt,objectEach:ct,pick:K}=J;class q extends nt{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:S,options:B}=this;[this,...this.zones].forEach((R,L)=>{let f={},w=R.fillColor||B.fillColor,M=R.area,A=M?"animate":"attr";M?(M.endX=this.preventGraphAnimation?null:S.xMap,M.animate({d:S})):(f.zIndex=0,(M=R.area=this.chart.renderer.path(S).addClass("highcharts-area"+(L?` highcharts-zone-area-${L-1} `:" ")+(L&&R.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(f.fill=w||R.color||this.color,f["fill-opacity"]=w?1:B.fillOpacity??.75,M.css({pointerEvents:this.stickyTracking?"none":"auto"})),M[A](f),M.startX=S.xMap,M.shiftUnit=B.step?2:1})}getGraphPath(S){let B,R,L,f=nt.prototype.getGraphPath,w=this.options,M=w.stacking,A=this.yAxis,c=[],b=[],F=this.index,I=A.stacking.stacks[this.stackKey],C=w.threshold,o=Math.round(A.getThreshold(w.threshold)),u=K(w.connectNulls,M==="percent"),s=function(y,h,P){let U=S[y],m=M&&I[U.x].points[F],O=U[P+"Null"]||0,_=U[P+"Cliff"]||0,W,Z,n=!0;_||O?(W=(O?m[0]:m[1])+_,Z=m[0]+_,n=!!O):!M&&S[h]&&S[h].isNull&&(W=Z=C),W!==void 0&&(b.push({plotX:B,plotY:W===null?o:A.getThreshold(W),isNull:n,isCliff:!0}),c.push({plotX:B,plotY:Z===null?o:A.getThreshold(Z),doCurve:!1}))};S=S||this.points,M&&(S=this.getStackPoints(S));for(let y=0,h=S.length;y<h;++y)M||(S[y].leftCliff=S[y].rightCliff=S[y].leftNull=S[y].rightNull=void 0),R=S[y].isNull,B=K(S[y].rectPlotX,S[y].plotX),L=M?K(S[y].yBottom,o):o,R&&!u||(u||s(y,y-1,"left"),R&&!M&&u||(b.push(S[y]),c.push({x:y,plotX:B,plotY:L})),u||s(y,y+1,"right"));let e=f.call(this,b,!0,!0);c.reversed=!0;let t=f.call(this,c,!0,!0),r=t[0];r&&r[0]==="M"&&(t[0]=["L",r[1],r[2]]);let l=e.concat(t);l.length&&l.push(["Z"]);let x=f.call(this,b,!1,u);return this.chart.series.length>1&&M&&b.some(y=>y.isCliff)&&(l.hasStackedCliffs=x.hasStackedCliffs=!0),l.xMap=e.xMap,this.areaPath=l,x}getStackPoints(S){let B=this,R=[],L=[],f=this.xAxis,w=this.yAxis,M=w.stacking.stacks[this.stackKey],A={},c=w.series,b=c.length,F=w.options.reversedStacks?1:-1,I=c.indexOf(B);if(S=S||this.points,this.options.stacking){for(let o=0;o<S.length;o++)S[o].leftNull=S[o].rightNull=void 0,A[S[o].x]=S[o];ct(M,function(o,u){o.total!==null&&L.push(u)}),L.sort(function(o,u){return o-u});let C=c.map(o=>o.visible);L.forEach(function(o,u){let s=0,e,t;if(A[o]&&!A[o].isNull)R.push(A[o]),[-1,1].forEach(function(r){let l=r===1?"rightNull":"leftNull",x=M[L[u+r]],y=0;if(x){let h=I;for(;h>=0&&h<b;){let P=c[h].index;!(e=x.points[P])&&(P===B.index?A[o][l]=!0:C[h]&&(t=M[o].points[P])&&(y-=t[1]-t[0])),h+=F}}A[o][r===1?"rightCliff":"leftCliff"]=y});else{let r=I;for(;r>=0&&r<b;){let l=c[r].index;if(e=M[o].points[l]){s=e[1];break}r+=F}s=K(s,0),s=w.translate(s,0,1,0,1),R.push({isNull:!0,plotX:f.translate(o,0,0,0,1),x:o,plotY:s,yBottom:s})}})}return R}}return q.defaultOptions=lt(nt.defaultOptions,E),st(q.prototype,{singleStacks:!1}),H.registerSeriesType("area",q),q}),it(k,"Series/Spline/SplineSeries.js",[k["Core/Series/SeriesRegistry.js"],k["Core/Utilities.js"]],function(E,H){let{line:J}=E.seriesTypes,{merge:nt,pick:st}=H;class lt extends J{getPointSpline(K,q,$){let S,B,R,L,f=q.plotX||0,w=q.plotY||0,M=K[$-1],A=K[$+1];function c(F){return F&&!F.isNull&&F.doCurve!==!1&&!q.isCliff}if(c(M)&&c(A)){let F=M.plotX||0,I=M.plotY||0,C=A.plotX||0,o=A.plotY||0,u=0;S=(1.5*f+F)/2.5,B=(1.5*w+I)/2.5,R=(1.5*f+C)/2.5,L=(1.5*w+o)/2.5,R!==S&&(u=(L-B)*(R-f)/(R-S)+w-L),B+=u,L+=u,B>I&&B>w?(B=Math.max(I,w),L=2*w-B):B<I&&B<w&&(B=Math.min(I,w),L=2*w-B),L>o&&L>w?(L=Math.max(o,w),B=2*w-L):L<o&&L<w&&(L=Math.min(o,w),B=2*w-L),q.rightContX=R,q.rightContY=L,q.controlPoints={low:[S,B],high:[R,L]}}let b=["C",st(M.rightContX,M.plotX,0),st(M.rightContY,M.plotY,0),st(S,f,0),st(B,w,0),f,w];return M.rightContX=M.rightContY=void 0,b}}return lt.defaultOptions=nt(J.defaultOptions),E.registerSeriesType("spline",lt),lt}),it(k,"Series/AreaSpline/AreaSplineSeries.js",[k["Series/Spline/SplineSeries.js"],k["Core/Series/SeriesRegistry.js"],k["Core/Utilities.js"]],function(E,H,J){let{area:nt,area:{prototype:st}}=H.seriesTypes,{extend:lt,merge:ct}=J;
2class K extends E{}return K.defaultOptions=ct(E.defaultOptions,nt.defaultOptions),lt(K.prototype,{getGraphPath:st.getGraphPath,getStackPoints:st.getStackPoints,drawGraph:st.drawGraph}),H.registerSeriesType("areaspline",K),K}),it(k,"Series/Column/ColumnSeriesDefaults.js",[],function(){return{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}}),it(k,"Series/Column/ColumnSeries.js",[k["Core/Animation/AnimationUtilities.js"],k["Core/Color/Color.js"],k["Series/Column/ColumnSeriesDefaults.js"],k["Core/Globals.js"],k["Core/Series/Series.js"],k["Core/Series/SeriesRegistry.js"],k["Core/Utilities.js"]],function(E,H,J,nt,st,lt,ct){let{animObject:K}=E,{parse:q}=H,{noop:$}=nt,{clamp:S,crisp:B,defined:R,extend:L,fireEvent:f,isArray:w,isNumber:M,merge:A,pick:c,objectEach:b}=ct;class F extends st{animate(C){let o,u,s=this,e=this.yAxis,t=e.pos,r=e.reversed,l=s.options,{clipOffset:x,inverted:y}=this.chart,h={},P=y?"translateX":"translateY";C&&x?(h.scaleY=.001,u=S(e.toPixels(l.threshold),t,t+e.len),y?(u+=r?-Math.floor(x[0]):Math.ceil(x[2]),h.translateX=u-e.len):(u+=r?Math.ceil(x[0]):-Math.floor(x[2]),h.translateY=u),s.clipBox&&s.setClip(),s.group.attr(h)):(o=Number(s.group.attr(P)),s.group.animate({scaleY:1},L(K(s.options.animation),{step:function(U,m){s.group&&(h[P]=o+m.pos*(t-o),s.group.attr(h))}})))}init(C,o){super.init.apply(this,arguments);let u=this;(C=u.chart).hasRendered&&C.series.forEach(function(s){s.type===u.type&&(s.isDirty=!0)})}getColumnMetrics(){let C=this,o=C.options,u=C.xAxis,s=C.yAxis,e=u.options.reversedStacks,t=u.reversed&&!e||!u.reversed&&e,r={},l,x=0;o.grouping===!1?x=1:C.chart.series.forEach(function(O){let _,W=O.yAxis,Z=O.options;O.type===C.type&&O.reserveSpace()&&s.len===W.len&&s.pos===W.pos&&(Z.stacking&&Z.stacking!=="group"?(r[l=O.stackKey]===void 0&&(r[l]=x++),_=r[l]):Z.grouping!==!1&&(_=x++),O.columnIndex=_)});let y=Math.min(Math.abs(u.transA)*(!u.brokenAxis?.hasBreaks&&u.ordinal?.slope||o.pointRange||u.closestPointRange||u.tickInterval||1),u.len),h=y*o.groupPadding,P=(y-2*h)/(x||1),U=Math.min(o.maxPointWidth||u.len,c(o.pointWidth,P*(1-2*o.pointPadding))),m=(C.columnIndex||0)+(t?1:0);return C.columnMetrics={width:U,offset:(P-U)/2+(h+m*P-y/2)*(t?-1:1),paddedWidth:P,columnCount:x},C.columnMetrics}crispCol(C,o,u,s){let e=this.borderWidth,t=this.chart.inverted;return s=B(o+s,e,t)-(o=B(o,e,t)),this.options.crisp&&(u=B(C+u,e)-(C=B(C,e))),{x:C,y:o,width:u,height:s}}adjustForMissingColumns(C,o,u,s){if(!u.isNull&&s.columnCount>1){let e=this.xAxis.series.filter(x=>x.visible).map(x=>x.index),t=0,r=0;b(this.xAxis.stacking?.stacks,x=>{if(typeof u.x=="number"){let y=x[u.x.toString()];if(y&&w(y.points[this.index])){let h=Object.keys(y.points).filter(P=>!P.match(",")&&y.points[P]&&y.points[P].length>1).map(parseFloat).filter(P=>e.indexOf(P)!==-1).sort((P,U)=>U-P);t=h.indexOf(this.index),r=h.length}}}),t=this.xAxis.reversed?r-1-t:t;let l=(r-1)*s.paddedWidth+o;C=(u.plotX||0)+l/2-o-t*s.paddedWidth}return C}translate(){let C=this,o=C.chart,u=C.options,s=C.dense=C.closestPointRange*C.xAxis.transA<2,e=C.borderWidth=c(u.borderWidth,s?0:1),t=C.xAxis,r=C.yAxis,l=u.threshold,x=c(u.minPointLength,5),y=C.getColumnMetrics(),h=y.width,P=C.pointXOffset=y.offset,U=C.dataMin,m=C.dataMax,O=C.translatedThreshold=r.getThreshold(l),_=C.barW=Math.max(h,1+2*e);u.pointPadding&&(_=Math.ceil(_)),st.prototype.translate.apply(C),C.points.forEach(function(W){let Z=c(W.yBottom,O),n=999+Math.abs(Z),a=W.plotX||0,d=S(W.plotY,-n,r.len+n),j,i=Math.min(d,Z),g=Math.max(d,Z)-i,p=h,T=a+P,v=_;x&&Math.abs(g)<x&&(g=x,j=!r.reversed&&!W.negative||r.reversed&&W.negative,M(l)&&M(m)&&W.y===l&&m<=l&&(r.min||0)<l&&(U!==m||(r.max||0)<=l)&&(j=!j,W.negative=!W.negative),i=Math.abs(i-O)>x?Z-x:O-(j?x:0)),R(W.options.pointWidth)&&(T-=Math.round(((p=v=Math.ceil(W.options.pointWidth))-h)/2)),u.centerInCategory&&!u.stacking&&(T=C.adjustForMissingColumns(T,p,W,y)),W.barX=T,W.pointWidth=p,W.tooltipPos=o.inverted?[S(r.len+r.pos-o.plotLeft-d,r.pos-o.plotLeft,r.len+r.pos-o.plotLeft),t.len+t.pos-o.plotTop-T-v/2,g]:[t.left-o.plotLeft+T+v/2,S(d+r.pos-o.plotTop,r.pos-o.plotTop,r.len+r.pos-o.plotTop),g],W.shapeType=C.pointClass.prototype.shapeType||"roundedRect",W.shapeArgs=C.crispCol(T,W.isNull?O:i,v,W.isNull?0:g)}),f(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(C,o){let u=this.options,s=this.pointAttrToOptions||{},e=s.stroke||"borderColor",t=s["stroke-width"]||"borderWidth",r,l,x,y=C&&C.color||this.color,h=C&&C[e]||u[e]||y,P=C&&C.options.dashStyle||u.dashStyle,U=C&&C[t]||u[t]||this[t]||0,m=c(C&&C.opacity,u.opacity,1);C&&this.zones.length&&(l=C.getZone(),y=C.options.color||l&&(l.color||C.nonZonedColor)||this.color,l&&(h=l.borderColor||h,P=l.dashStyle||P,U=l.borderWidth||U)),o&&C&&(x=(r=A(u.states[o],C.options.states&&C.options.states[o]||{})).brightness,y=r.color||x!==void 0&&q(y).brighten(r.brightness).get()||y,h=r[e]||h,U=r[t]||U,P=r.dashStyle||P,m=c(r.opacity,m));let O={fill:y,stroke:h,"stroke-width":U,opacity:m};return P&&(O.dashstyle=P),O}drawPoints(C=this.points){let o,u=this,s=this.chart,e=u.options,t=s.renderer,r=e.animationLimit||250;
vendor: 7,490 bytes, line 2
2C.forEach(function(l){let x=l.plotY,y=l.graphic,h=!!y,P=y&&s.pointCount<r?"animate":"attr";M(x)&&l.y!==null?(o=l.shapeArgs,y&&l.hasNewShapeType()&&(y=y.destroy()),u.enabledDataSorting&&(l.startXPos=u.xAxis.reversed?-(o&&o.width||0):u.xAxis.width),!y&&(l.graphic=y=t[l.shapeType](o).add(l.group||u.group),y&&u.enabledDataSorting&&s.hasRendered&&s.pointCount<r&&(y.attr({x:l.startXPos}),h=!0,P="animate")),y&&h&&y[P](A(o)),s.styledMode||y[P](u.pointAttribs(l,l.selected&&"select")).shadow(l.allowShadow!==!1&&e.shadow),y&&(y.addClass(l.getClassName(),!0),y.attr({visibility:l.visible?"inherit":"hidden"}))):y&&(l.graphic=y.destroy())})}drawTracker(C=this.points){let o,u=this,s=u.chart,e=s.pointer,t=function(r){let l=e?.getPointFromEvent(r);e&&l&&u.options.enableMouseTracking&&(e.isDirectTouch=!0,l.onMouseOver(r))};C.forEach(function(r){o=w(r.dataLabels)?r.dataLabels:r.dataLabel?[r.dataLabel]:[],r.graphic&&(r.graphic.element.point=r),o.forEach(function(l){(l.div||l.element).point=r})}),u._hasTracking||(u.trackerGroups.forEach(function(r){u[r]&&(u[r].addClass("highcharts-tracker").on("mouseover",t).on("mouseout",function(l){e?.onTrackerMouseOut(l)}).on("touchstart",t),!s.styledMode&&u.options.cursor&&u[r].css({cursor:u.options.cursor}))}),u._hasTracking=!0),f(this,"afterDrawTracker")}remove(){let C=this,o=C.chart;o.hasRendered&&o.series.forEach(function(u){u.type===C.type&&(u.isDirty=!0)}),st.prototype.remove.apply(C,arguments)}}return F.defaultOptions=A(st.defaultOptions,J),L(F.prototype,{directTouch:!0,getSymbol:$,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),lt.registerSeriesType("column",F),F}),it(k,"Core/Series/DataLabel.js",[k["Core/Animation/AnimationUtilities.js"],k["Core/Templating.js"],k["Core/Utilities.js"]],function(E,H,J){var nt;let{getDeferredAnimation:st}=E,{format:lt}=H,{defined:ct,extend:K,fireEvent:q,isArray:$,isString:S,merge:B,objectEach:R,pick:L,pInt:f,splat:w}=J;return function(M){function A(){return u(this).some(e=>e?.enabled)}function c(e,t,r,l,x){let{chart:y,enabledDataSorting:h}=this,P=this.isCartesian&&y.inverted,U=e.plotX,m=e.plotY,O=r.rotation||0,_=ct(U)&&ct(m)&&y.isInsidePlot(U,Math.round(m),{inverted:P,paneCoordinates:!0,series:this}),W=O===0&&L(r.overflow,h?"none":"justify")==="justify",Z=this.visible&&e.visible!==!1&&ct(U)&&(e.series.forceDL||h&&!W||_||L(r.inside,!!this.options.stacking)&&l&&y.isInsidePlot(U,P?l.x+1:l.y+l.height-1,{inverted:P,paneCoordinates:!0,series:this})),n=e.pos();if(Z&&n){var a;let d=t.getBBox(),j=t.getBBox(void 0,0),i={right:1,center:.5}[r.align||0]||0,g={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=K({x:n[0],y:Math.round(n[1]),width:0,height:0},l||{}),r.alignTo==="plotEdges"&&this.isCartesian&&(l[P?"x":"y"]=0,l[P?"width":"height"]=this.yAxis?.len||0),K(r,{width:d.width,height:d.height}),a=l,h&&this.xAxis&&!W&&this.setDataLabelStartPos(e,t,x,_,a),t.align(B(r,{width:j.width,height:j.height}),!1,l,!1),t.alignAttr.x+=i*(j.width-d.width),t.alignAttr.y+=g*(j.height-d.height),t[t.placed?"animate":"attr"]({x:t.alignAttr.x+(d.width-j.width)/2,y:t.alignAttr.y+(d.height-j.height)/2,rotationOriginX:(t.width||0)/2,rotationOriginY:(t.height||0)/2}),W&&l.height>=0)this.justifyDataLabel(t,r,t.alignAttr,d,l,x);else if(L(r.crop,!0)){let{x:p,y:T}=t.alignAttr;Z=y.isInsidePlot(p,T,{paneCoordinates:!0,series:this})&&y.isInsidePlot(p+d.width-1,T+d.height-1,{paneCoordinates:!0,series:this})}r.shape&&!O&&t[x?"attr":"animate"]({anchorX:n[0],anchorY:n[1]})}x&&h&&(t.placed=!1),Z||h&&!W?(t.show(),t.placed=!0):(t.hide(),t.placed=!1)}function b(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function F(e){let t=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+t});return!t&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},e):r.attr({opacity:1})),r}function I(e){let t;e=e||this.points;let r=this,l=r.chart,x=r.options,y=l.renderer,{backgroundColor:h,plotBackgroundColor:P}=l.options.chart,U=y.getContrast(S(P)&&P||S(h)&&h||"#000000"),m=u(r),{animation:O,defer:_}=m[0],W=_?st(l,O,r):{defer:0,duration:0};q(this,"drawDataLabels"),r.hasDataLabels?.()&&(t=this.initDataLabels(W),e.forEach(Z=>{let n=Z.dataLabels||[];w(o(m,Z.dlOptions||Z.options?.dataLabels)).forEach((d,j)=>{let i=d.enabled&&(Z.visible||Z.dataLabelOnHidden)&&(!Z.isNull||Z.dataLabelOnNull)&&function(G,X){let tt=X.filter;if(tt){let et=tt.operator,ot=G[tt.property],rt=tt.value;return et===">"&&ot>rt||et==="<"&&ot<rt||et===">="&&ot>=rt||et==="<="&&ot<=rt||et==="=="&&ot==rt||et==="==="&&ot===rt||et==="!="&&ot!=rt||et==="!=="&&ot!==rt}return!0}(Z,d),{backgroundColor:g,borderColor:p,distance:T,style:v={}}=d,N,Y,V,Q,at={},ht=n[j],z=!ht,D;i&&(Y=L(d[Z.formatPrefix+"Format"],d.format),N=Z.getLabelConfig(),V=ct(Y)?lt(Y,N,l):(d[Z.formatPrefix+"Formatter"]||d.formatter).call(N,d),Q=d.rotation,!l.styledMode&&(v.color=L(d.color,v.color,S(r.color)?r.color:void 0,"#000000"),v.color==="contrast"?(g!=="none"&&(D=g),Z.contrastColor=y.getContrast(D!=="auto"&&D||Z.color||r.color),v.color=D||!ct(T)&&d.inside||0>f(T||0)||x.stacking?Z.contrastColor:U):delete Z.contrastColor,x.cursor&&(v.cursor=x.cursor)),at={r:d.borderRadius||0,rotation:Q,padding:d.padding,zIndex:1},l.styledMode||(at.fill=g==="auto"?Z.color:g,at.stroke=p==="auto"?Z.color:p,at["stroke-width"]=d.borderWidth),R(at,(G,X)=>{G===void 0&&delete at[X]})),!ht||i&&ct(V)&&!!ht.div==!!d.useHTML&&(ht.rotation&&d.rotation||ht.rotation===d.rotation)||(ht=void 0,z=!0),i&&ct(V)&&(ht?at.text=V:(ht=y.label(V,0,0,d.shape,void 0,void 0,d.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+Z.colorIndex+" "+(d.className||"")+(d.useHTML?" highcharts-tracker":"")),ht&&(ht.options=d,ht.attr(at),l.styledMode||ht.css(v).shadow(d.shadow),q(ht,"beforeAddingDataLabel",{labelOptions:d,point:Z}),ht.added||ht.add(t),r.alignDataLabel(Z,ht,d,void 0,z),ht.isActive=!0,n[j]&&n[j]!==ht&&n[j].destroy(),n[j]=ht))});let a=n.length;for(;a--;)n[a]&&n[a].isActive?n[a].isActive=!1:(n[a]?.destroy(),n.splice(a,1));Z.dataLabel=n[0],Z.dataLabels=n})),q(this,"afterDrawDataLabels")}function C(e,t,r,l,x,y){let h=this.chart,P=t.align,U=t.verticalAlign,m=e.box?0:e.padding||0,O=h.inverted?this.yAxis:this.xAxis,_=O?O.left-h.plotLeft:0,W=h.inverted?this.xAxis:this.yAxis,Z=W?W.top-h.plotTop:0,{x:n=0,y:a=0}=t,d,j;return(d=(r.x||0)+m+_)<0&&(P==="right"&&n>=0?(t.align="left",t.inside=!0):n-=d,j=!0),(d=(r.x||0)+l.width-m+_)>h.plotWidth&&(P==="left"&&n<=0?(t.align="right",t.inside=!0):n+=h.plotWidth-d,j=!0),(d=r.y+m+Z)<0&&(U==="bottom"&&a>=0?(t.verticalAlign="top",t.inside=!0):a-=d,j=!0),(d=(r.y||0)+l.height-m+Z)>h.plotHeight&&(U==="top"&&a<=0?(t.verticalAlign="bottom",t.inside=!0):a+=h.plotHeight-d,j=!0),j&&(t.x=n,t.y=a,e.placed=!y,e.align(t,void 0,x)),j}function o(e,t){let r=[],l;if($(e)&&!$(t))r=e.map(function(x){return B(x,t)});else if($(t)&&!$(e))r=t.map(function(x){return B(e,x)});else if($(e)||$(t)){if($(e)&&$(t))for(l=Math.max(e.length,t.length);l--;)r[l]=B(e[l],t[l])}else r=B(e,t);return r}function u(e){let t=e.chart.options.plotOptions;return w(o(o(t?.series?.dataLabels,t?.[e.type]?.dataLabels),e.options.dataLabels))}function s(e,t,r,l,x){let y=this.chart,h=y.inverted,P=this.xAxis,U=P.reversed,m=((h?t.height:t.width)||0)/2,O=e.pointWidth,_=O?O/2:0;t.startXPos=h?x.x:U?-m-_:P.width-m+_,t.startYPos=h?U?this.yAxis.height-m+_:-m-_:x.y,l?t.visibility==="hidden"&&(t.show(),t.attr({opacity:0}).animate({opacity:1})):t.attr({opacity:1}).animate({opacity:0}
2,void 0,t.hide),y.hasRendered&&(r&&t.attr({x:t.startXPos,y:t.startYPos}),t.placed=!0)}M.compose=function(e){let t=e.prototype;t.initDataLabels||(t.initDataLabels=F,t.initDataLabelsGroup=b,t.alignDataLabel=c,t.drawDataLabels=I,t.justifyDataLabel=C,t.setDataLabelStartPos=s,t.hasDataLabels=A)}}(nt||(nt={})),nt}),it(k,"Series/Column/ColumnDataLabel.js",[k["Core/Series/DataLabel.js"],k["Core/Globals.js"],k["Core/Series/SeriesRegistry.js"],k["Core/Utilities.js"]],function(E,H,J,nt){var st;let{composed:lt}=H,{series:ct}=J,{merge:K,pick:q,pushUnique:$}=nt;return function(S){function B(R,L,f,w,M){let A=this.chart.inverted,c=R.series,b=(c.xAxis?c.xAxis.len:this.chart.plotSizeX)||0,F=(c.yAxis?c.yAxis.len:this.chart.plotSizeY)||0,I=R.dlBox||R.shapeArgs,C=q(R.below,R.plotY>q(this.translatedThreshold,F)),o=q(f.inside,!!this.options.stacking);if(I){if(w=K(I),!(f.overflow==="allow"&&f.crop===!1)){w.y<0&&(w.height+=w.y,w.y=0);let u=w.y+w.height-F;u>0&&u<w.height-1&&(w.height-=u)}A&&(w={x:F-w.y-w.height,y:b-w.x-w.width,width:w.height,height:w.width}),o||(A?(w.x+=C?0:w.width,w.width=0):(w.y+=C?w.height:0,w.height=0))}f.align=q(f.align,!A||o?"center":C?"right":"left"),f.verticalAlign=q(f.verticalAlign,A||o?"middle":C?"top":"bottom"),ct.prototype.alignDataLabel.call(this,R,L,f,w,M),f.inside&&R.contrastColor&&L.css({color:R.contrastColor})}S.compose=function(R){E.compose(ct),$(lt,"ColumnDataLabel")&&(R.prototype.alignDataLabel=B)}}(st||(st={})),st}),it(k,"Series/Bar/BarSeries.js",[k["Series/Column/ColumnSeries.js"],k["Core/Series/SeriesRegistry.js"],k["Core/Utilities.js"]],function(E,H,J){let{extend:nt,merge:st}=J;class lt extends E{}return lt.defaultOptions=st(E.defaultOptions,{}),nt(lt.prototype,{inverted:!0}),H.registerSeriesType("bar",lt),lt}),it(k,"Series/Scatter/ScatterSeriesDefaults.js",[],function(){return{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\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/>"}}}),it(k,"Series/Scatter/ScatterSeries.js",[k["Series/Scatter/ScatterSeriesDefaults.js"],k["Core/Series/SeriesRegistry.js"],k["Core/Utilities.js"]],function(E,H,J){let{column:nt,line:st}=H.seriesTypes,{addEvent:lt,extend:ct,merge:K}=J;class q extends st{applyJitter(){let S=this,B=this.options.jitter,R=this.points.length;B&&this.points.forEach(function(L,f){["x","y"].forEach(function(w,M){if(B[w]&&!L.isNull){let A=`plot${w.toUpperCase()}`,c=S[`${w}Axis`],b=B[w]*c.transA;if(c&&!c.logarithmic){let F=Math.max(0,(L[A]||0)-b),I=Math.min(c.len,(L[A]||0)+b);L[A]=F+(I-F)*function(C){let o=1e4*Math.sin(C);return o-Math.floor(o)}(f+M*R),w==="x"&&(L.clientX=L.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return q.defaultOptions=K(st.defaultOptions,E),ct(q.prototype,{drawTracker:nt.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),lt(q,"afterTranslate",function(){this.applyJitter()}),H.registerSeriesType("scatter",q),q}),it(k,"Series/CenteredUtilities.js",[k["Core/Globals.js"],k["Core/Series/Series.js"],k["Core/Utilities.js"]],function(E,H,J){var nt,st;let{deg2rad:lt}=E,{fireEvent:ct,isNumber:K,pick:q,relativeLength:$}=J;return(st=nt||(nt={})).getCenter=function(){let S=this.options,B=this.chart,R=2*(S.slicedOffset||0),L=B.plotWidth-2*R,f=B.plotHeight-2*R,w=S.center,M=Math.min(L,f),A=S.thickness,c,b=S.size,F=S.innerSize||0,I,C;typeof b=="string"&&(b=parseFloat(b)),typeof F=="string"&&(F=parseFloat(F));let o=[q(w[0],"50%"),q(w[1],"50%"),q(b&&b<0?void 0:S.size,"100%"),q(F&&F<0?void 0:S.innerSize||0,"0%")];for(!B.angular||this instanceof H||(o[3]=0),I=0;I<4;++I)C=o[I],c=I<2||I===2&&/%$/.test(C),o[I]=$(C,[L,f,M,o[2]][I])+(c?R:0);return o[3]>o[2]&&(o[3]=o[2]),K(A)&&2*A<o[2]&&A>0&&(o[3]=o[2]-2*A),ct(this,"afterGetCenter",{positions:o}),o},st.getStartAndEndRadians=function(S,B){let R=K(S)?S:0,L=K(B)&&B>R&&B-R<360?B:R+360;return{start:lt*(R+-90),end:lt*(L+-90)}},nt}),it(k,"Series/Pie/PiePoint.js",[k["Core/Animation/AnimationUtilities.js"],k["Core/Series/Point.js"],k["Core/Utilities.js"]],function(E,H,J){let{setAnimation:nt}=E,{addEvent:st,defined:lt,extend:ct,isNumber:K,pick:q,relativeLength:$}=J;class S extends H{getConnectorPath(R){let L=R.dataLabelPosition,f=R.options||{},w=f.connectorShape,M=this.connectorShapes[w]||w;return L&&M.call(this,he(Yt({},L.computed),{alignment:L.alignment}),L.connectorPosition,f)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(R){let L=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(L.x,L.y,L.r+R,L.r+R,{innerR:L.r-1,start:L.start,end:L.end,borderRadius:L.borderRadius})}constructor(R,L,f){super(R,L,f),this.half=0,this.name??(this.name="Slice");let w=M=>{this.slice(M.type==="select")};st(this,"select",w),st(this,"unselect",w)}isValid(){return K(this.y)&&this.y>=0}setVisible(R,L=!0){R!==this.visible&&this.update({visible:R??!this.visible},L,void 0,!1)}slice(R,L,f){let w=this.series;nt(f,w.chart),L=q(L,!0),this.sliced=this.options.sliced=R=lt(R)?R:!this.sliced,w.options.data[w.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return ct(S.prototype,{connectorShapes:{fixedOffset:function(B,R,L){let f=R.breakAt,w=R.touchingSliceAt,M=L.softConnector?["C",B.x+(B.alignment==="left"?-5:5),B.y,2*f.x-w.x,2*f.y-w.y,f.x,f.y]:["L",f.x,f.y];return[["M",B.x,B.y],M,["L",w.x,w.y]]},straight:function(B,R){let L=R.touchingSliceAt;return[["M",B.x,B.y],["L",L.x,L.y]]},crookedLine:function(B,R,L){let{breakAt:f,touchingSliceAt:w}=R,{series:M}=this,[A,c,b]=M.center,F=b/2,{plotLeft:I,plotWidth:C}=M.chart,o=B.alignment==="left",{x:u,y:s}=B,e=f.x;if(L.crookDistance){let r=$(L.crookDistance,1);e=o?A+F+(C+I-A-F)*(1-r):I+(A-F)*r}else e=A+(c-s)*Math.tan((this.angle||0)-Math.PI/2);let t=[["M",u,s]];return(o?e<=u&&e>=f.x:e>=u&&e<=f.x)&&t.push(["L",e,s]),t.push(["L",f.x,f.y],["L",w.x,w.y]),t}}}),S}),it(k,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,
vendor: 9,873 bytes, line 2
2null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),it(k,"Series/Pie/PieSeries.js",[k["Series/CenteredUtilities.js"],k["Series/Column/ColumnSeries.js"],k["Core/Globals.js"],k["Series/Pie/PiePoint.js"],k["Series/Pie/PieSeriesDefaults.js"],k["Core/Series/Series.js"],k["Core/Series/SeriesRegistry.js"],k["Core/Renderer/SVG/Symbols.js"],k["Core/Utilities.js"]],function(E,H,J,nt,st,lt,ct,K,q){let{getStartAndEndRadians:$}=E,{noop:S}=J,{clamp:B,extend:R,fireEvent:L,merge:f,pick:w}=q;class M extends lt{animate(c){let b=this,F=b.points,I=b.startAngleRad;c||F.forEach(function(C){let o=C.graphic,u=C.shapeArgs;o&&u&&(o.attr({r:w(C.startR,b.center&&b.center[3]/2),start:I,end:I}),o.animate({r:u.r,start:u.start,end:u.end},b.options.animation))})}drawEmpty(){let c,b,F=this.startAngleRad,I=this.endAngleRad,C=this.options;this.total===0&&this.center?(c=this.center[0],b=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(c,b,this.center[1]/2,0,F,I).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:K.arc(c,b,this.center[2]/2,0,{start:F,end:I,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":C.borderWidth,fill:C.fillColor||"none",stroke:C.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let c=this.chart.renderer;this.points.forEach(function(b){b.graphic&&b.hasNewShapeType()&&(b.graphic=b.graphic.destroy()),b.graphic||(b.graphic=c[b.shapeType](b.shapeArgs).add(b.series.group),b.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(c,b,F,I){let C=this.center,o=this.radii?this.radii[F.index]||0:C[2]/2,u=I.dataLabelPosition,s=u?.distance||0,e=Math.asin(B((c-C[1])/(o+s),-1,1));return C[0]+Math.cos(e)*(o+s)*(b?-1:1)+(s>0?(b?-1:1)*(I.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let c,b,F,I,C=this,o=C.chart;this.drawEmpty(),C.group&&!o.styledMode&&C.group.shadow(C.options.shadow),C.points.forEach(function(u){let s={};b=u.graphic,!u.isNull&&b?(I=u.shapeArgs,c=u.getTranslate(),o.styledMode||(F=C.pointAttribs(u,u.selected&&"select")),u.delayedRendering?(b.setRadialReference(C.center).attr(I).attr(c),o.styledMode||b.attr(F).attr({"stroke-linejoin":"round"}),u.delayedRendering=!1):(b.setRadialReference(C.center),o.styledMode||f(!0,s,F),f(!0,s,I,c),b.animate(s)),b.attr({visibility:u.visible?"inherit":"hidden"}),b.addClass(u.getClassName(),!0)):b&&(u.graphic=b.destroy())})}sortByAngle(c,b){c.sort(function(F,I){return F.angle!==void 0&&(I.angle-F.angle)*b})}translate(c){L(this,"translate"),this.generatePoints();let b=this.options,F=b.slicedOffset,I=$(b.startAngle,b.endAngle),C=this.startAngleRad=I.start,o=(this.endAngleRad=I.end)-C,u=this.points,s=b.ignoreHiddenPoint,e=u.length,t,r,l,x,y,h,P,U=0;for(c||(this.center=c=this.getCenter()),h=0;h<e;h++){P=u[h],t=C+U*o,P.isValid()&&(!s||P.visible)&&(U+=P.percentage/100),r=C+U*o;let m={x:c[0],y:c[1],r:c[2]/2,innerR:c[3]/2,start:Math.round(1e3*t)/1e3,end:Math.round(1e3*r)/1e3};P.shapeType="arc",P.shapeArgs=m,(l=(r+t)/2)>1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),P.slicedTranslation={translateX:Math.round(Math.cos(l)*F),translateY:Math.round(Math.sin(l)*F)},x=Math.cos(l)*c[2]/2,y=Math.sin(l)*c[2]/2,P.tooltipPos=[c[0]+.7*x,c[1]+.7*y],P.half=l<-Math.PI/2||l>Math.PI/2?1:0,P.angle=l}L(this,"afterTranslate")}updateTotals(){let c=this.points,b=c.length,F=this.options.ignoreHiddenPoint,I,C,o=0;for(I=0;I<b;I++)(C=c[I]).isValid()&&(!F||C.visible)&&(o+=C.y);for(I=0,this.total=o;I<b;I++)(C=c[I]).percentage=o>0&&(C.visible||!F)?C.y/o*100:0,C.total=o}}return M.defaultOptions=f(lt.defaultOptions,st),R(M.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:H.prototype.drawTracker,getCenter:E.getCenter,getSymbol:S,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:H.prototype.pointAttribs,pointClass:nt,requireSorting:!1,searchPoint:S,trackerGroups:["group","dataLabelsGroup"]}),ct.registerSeriesType("pie",M),M}),it(k,"Series/Pie/PieDataLabel.js",[k["Core/Series/DataLabel.js"],k["Core/Globals.js"],k["Core/Renderer/RendererUtilities.js"],k["Core/Series/SeriesRegistry.js"],k["Core/Utilities.js"]],function(E,H,J,nt,st){var lt;let{composed:ct,noop:K}=H,{distribute:q}=J,{series:$}=nt,{arrayMax:S,clamp:B,defined:R,pick:L,pushUnique:f,relativeLength:w}=st;return function(M){let A={radialDistributionY:function(C,o){return(o.dataLabelPosition?.top||0)+C.distributeBox.pos},radialDistributionX:function(C,o,u,s,e){let t=e.dataLabelPosition;return C.getX(u<(t?.top||0)+2||u>(t?.bottom||0)-2?s:u,o.half,o,e)},justify:function(C,o,u,s){return s[0]+(C.half?-1:1)*(u+(o.dataLabelPosition?.distance||0))},alignToPlotEdges:function(C,o,u,s){let e=C.getBBox().width;return o?e+s:u-e-s},alignToConnectors:function(C,o,u,s){let e=0,t;return C.forEach(function(r){(t=r.dataLabel.getBBox().width)>e&&(e=t)}),o?e+s:u-e-s}};function c(C,o){let{center:u,options:s}=this,e=u[2]/2,t=C.angle||0,r=Math.cos(t),l=Math.sin(t),x=u[0]+r*e,y=u[1]+l*e,h=Math.min((s.slicedOffset||0)+(s.borderWidth||0),o/5);return{natural:{x:x+r*o,y:y+l*o},computed:{},alignment:o<0?"center":C.half?"right":"left",connectorPosition:{breakAt:{x:x+r*h,y:y+l*h},touchingSliceAt:{x,y}},distance:o}}function b(){let C=this,o=C.points,u=C.chart,s=u.plotWidth,e=u.plotHeight,t=u.plotLeft,r=Math.round(u.chartWidth/3),l=C.center,x=l[2]/2,y=l[1],h=[[],[]],P=[0,0,0,0],U=C.dataLabelPositioners,m,O,_,W=0;C.visible&&C.hasDataLabels?.()&&(o.forEach(Z=>{(Z.dataLabels||[]).forEach(n=>{n.shortened&&(n.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),n.shortened=!1)})}),$.prototype.drawDataLabels.apply(C),o.forEach(Z=>{(Z.dataLabels||[]).forEach((n,a)=>{let d=l[2]/2,j=n.options,i=w(j?.distance||0,d);a===0&&h[Z.half].push(Z),!R(j?.style?.width)&&n.getBBox().width>r&&(n.css({width:Math.round(.7*r)+"px"}),n.shortened=!0),n.dataLabelPosition=this.getDataLabelPosition(Z,i),W=Math.max(W,i)})}),h.forEach((Z,n)=>{let a=Z.length,d=[],j,i,g=0,p;a&&(C.sortByAngle(Z,n-.5),W>0&&(j=Math.max(0,y-x-W),i=Math.min(y+x+W,u.plotHeight),Z.forEach(T=>{(T.dataLabels||[]).forEach(v=>{let N=v.dataLabelPosition;N&&N.distance>0&&(N.top=Math.max(0,y-x-N.distance),N.bottom=Math.min(y+x+N.distance,u.plotHeight),g=v.getBBox().height||21,v.lineHeight=u.renderer.fontMetrics(v.text||v).h+2*v.padding,T.distributeBox={target:(v.dataLabelPosition?.natural.y||0)-N.top+v.lineHeight/2,size:g,rank:T.y},d.push(T.distributeBox))})}),q(d,p=i+g-j,p/5)),Z.forEach(T=>{(T.dataLabels||[]).forEach(v=>{let N=v.options||{},Y=T.distributeBox,V=v.dataLabelPosition,Q=V?.natural.y||0,at=N.connectorPadding||0,ht=v.lineHeight||21,z=(ht-v.getBBox().height)/2,D=0,G=Q,X="inherit";if(V){if(d&&R(Y)&&V.distance>0&&(Y.pos===void 0?X="hidden":(_=Y.size,G=U.radialDistributionY(T,v))),N.justify)D=U.justify(T,v,x,l);else switch(N.alignTo){case"connectors":D=U.alignToConnectors(Z,n,s,t);break;case"plotEdges":D=U.alignToPlotEdges(v,n,s,t);break;default:D=U.radialDistributionX(C,T,G-z,Q,v)}if(V.attribs={visibility:X,align:V.alignment},V.posAttribs={x:D+(N.x||0)+({left:at,right:-at}[V.alignment]||0),y:G+(N.y||0)-ht/2},V.computed.x=D,V.computed.y=G-z,L(N.crop,!0)){let tt;D-(O=v.getBBox().width)<at&&n===1?(tt=Math.round(O-D+at),P[3]=Math.max(tt,P[3])):D+O>s-at&&n===0&&(tt=Math.round(D+O-s+at),P[1]=Math.max(tt,P[1])),G-_/2<0?P[0]=Math.max(Math.round(-G+_/2),P[0]):G+_/2>e&&(P[2]=Math.max(Math.round(G+_/2-e),P[2])),V.sideOverflow=tt}}})}))}),(S(P)===0||this.verifyDataLabelOverflow(P))&&(this.placeDataLabels(),this.points.forEach(Z=>{(Z.dataLabels||[]).forEach(n=>{let{connectorColor:a,connectorWidth:d=1}=n.options||{},j=n.dataLabelPosition;if(d){let i;m=n.connector,j&&j.distance>0?(i=!m,m||(n.connector=m=u.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+Z.colorIndex+(Z.className?" "+Z.className:"")).add(C.dataLabelsGroup)),u.styledMode||m.attr({"stroke-width":d,stroke:a||Z.color||"#666666"}),m[i?"attr":"animate"]({d:Z.getConnectorPath(n)}),m.attr({visibility:j.attribs?.visibility})):m&&(n.connector=m.destroy())}})})))}function F(){this.points.forEach(C=>{(C.dataLabels||[]).forEach(o=>{let u=o.dataLabelPosition;u?(u.sideOverflow&&(o.css({width:Math.max(o.getBBox().width-u.sideOverflow,0)+"px",textOverflow:(o.options?.style||{}).textOverflow||"ellipsis"}),o.shortened=!0),o.attr(u.attribs),o[o.moved?"animate":"attr"](u.posAttribs),o.moved=!0):o&&o.attr({y:-9999})}),delete C.distributeBox},this)}function I(C){let o=this.center,u=this.options,s=u.center,e=u.minSize||80,t=e,r=u.size!==null;return!r&&(s[0]!==null?t=Math.max(o[2]-Math.max(C[1],C[3]),e):(t=Math.max(o[2]-C[1]-C[3],e),o[0]+=(C[3]-C[1])/2),s[1]!==null?t=B(t,e,o[2]-Math.max(C[0],C[2])):(t=B(t,e,o[2]-C[0]-C[2]),o[1]+=(C[0]-C[2])/2),t<o[2]?(o[2]=t,o[3]=Math.min(u.thickness?Math.max(0,t-2*u.thickness):Math.max(0,w(u.innerSize||0,t)),t),this.translate(o),this.drawDataLabels&&this.drawDataLabels()):r=!0),r}M.compose=function(C){if(E.compose($),f(ct,"PieDataLabel")){let o=C.prototype;o.dataLabelPositioners=A,o.alignDataLabel=K,o.drawDataLabels=b,o.getDataLabelPosition=c,o.placeDataLabels=F,o.verifyDataLabelOverflow=I}}}(lt||(lt={})),lt}),it(k,"Core/Geometry/GeometryUtilities.js",[],function(){var E,H;return(H=E||(E={})).getCenterOfPoints=function(J){let nt=J.reduce((st,lt)=>(st.x+=lt.x,st.y+=lt.y,st),{x:0,y:0});return{x:nt.x/J.length,y:nt.y/J.length}},H.getDistanceBetweenPoints=function(J,nt){return Math.sqrt(Math.pow(nt.x-J.x,2)+Math.pow(nt.y-J.y,2))}
2,H.getAngleBetweenPoints=function(J,nt){return Math.atan2(nt.x-J.x,nt.y-J.y)},H.pointInPolygon=function({x:J,y:nt},st){let lt=st.length,ct,K,q=!1;for(ct=0,K=lt-1;ct<lt;K=ct++){let[$,S]=st[ct],[B,R]=st[K];S>nt!=R>nt&&J<(B-$)*(nt-S)/(R-S)+$&&(q=!q)}return q},E}),it(k,"Extensions/OverlappingDataLabels.js",[k["Core/Geometry/GeometryUtilities.js"],k["Core/Utilities.js"]],function(E,H){let{pointInPolygon:J}=E,{addEvent:nt,fireEvent:st,objectEach:lt,pick:ct}=H;function K(S){let B=S.length,R=(F,I)=>!(I.x>=F.x+F.width||I.x+I.width<=F.x||I.y>=F.y+F.height||I.y+I.height<=F.y),L=(F,I)=>{for(let C of F)if(J({x:C[0],y:C[1]},I))return!0;return!1},f,w,M,A,c,b=!1;for(let F=0;F<B;F++)(f=S[F])&&(f.oldOpacity=f.opacity,f.newOpacity=1,f.absoluteBox=function(I){if(I&&(!I.alignAttr||I.placed)){let C=I.box?0:I.padding||0,o=I.alignAttr||{x:I.attr("x"),y:I.attr("y")},u=I.getBBox();return I.width=u.width,I.height=u.height,{x:o.x+(I.parentGroup?.translateX||0)+C,y:o.y+(I.parentGroup?.translateY||0)+C,width:(I.width||0)-2*C,height:(I.height||0)-2*C,polygon:u?.polygon}}}(f));S.sort((F,I)=>(I.labelrank||0)-(F.labelrank||0));for(let F=0;F<B;++F){A=(w=S[F])&&w.absoluteBox;let I=A?.polygon;for(let C=F+1;C<B;++C){c=(M=S[C])&&M.absoluteBox;let o=!1;if(A&&c&&w!==M&&w.newOpacity!==0&&M.newOpacity!==0&&w.visibility!=="hidden"&&M.visibility!=="hidden"){let u=c.polygon;if(I&&u&&I!==u?L(I,u)&&(o=!0):R(A,c)&&(o=!0),o){let s=w.labelrank<M.labelrank?w:M,e=s.text;s.newOpacity=0,e?.element.querySelector("textPath")&&e.hide()}}}}for(let F of S)q(F,this)&&(b=!0);b&&st(this,"afterHideAllOverlappingLabels")}function q(S,B){let R,L,f=!1;return S&&(L=S.newOpacity,S.oldOpacity!==L&&(S.hasClass("highcharts-data-label")?(S[L?"removeClass":"addClass"]("highcharts-data-label-hidden"),R=function(){B.styledMode||S.css({pointerEvents:L?"auto":"none"})},f=!0,S[S.isOld?"animate":"attr"]({opacity:L},void 0,R),st(B,"afterHideOverlappingLabel")):S.attr({opacity:L})),S.isOld=!0),f}function $(){let S=this,B=[];for(let R of S.labelCollectors||[])B=B.concat(R());for(let R of S.yAxis||[])R.stacking&&R.options.stackLabels&&!R.options.stackLabels.allowOverlap&<(R.stacking.stacks,L=>{lt(L,f=>{f.label&&B.push(f.label)})});for(let R of S.series||[])if(R.visible&&R.hasDataLabels?.()){let L=f=>{for(let w of f)w.visible&&(w.dataLabels||[]).forEach(M=>{let A=M.options||{};M.labelrank=ct(A.labelrank,w.labelrank,w.shapeArgs?.height),A.allowOverlap??Number(A.distance)>0?(M.oldOpacity=M.opacity,M.newOpacity=1,q(M,S)):B.push(M)})};L(R.nodes||[]),L(R.points)}this.hideOverlappingLabels(B)}return{compose:function(S){let B=S.prototype;B.hideOverlappingLabels||(B.hideOverlappingLabels=K,nt(S,"render",$))}}}
vendor: 3,864 bytes, line 2
2),it(k,"Extensions/BorderRadius.js",[k["Core/Defaults.js"],k["Core/Globals.js"],k["Core/Utilities.js"]],function(E,H,J){let{defaultOptions:nt}=E,{noop:st}=H,{addEvent:lt,extend:ct,isObject:K,merge:q,relativeLength:$}=J,S={radius:0,scope:"stack",where:void 0},B=st,R=st;function L(c,b,F,I,C={}){let o=B(c,b,F,I,C),{innerR:u=0,r:s=F,start:e=0,end:t=0}=C;if(C.open||!C.borderRadius)return o;let r=t-e,l=Math.sin(r/2),x=Math.max(Math.min($(C.borderRadius||0,s-u),(s-u)/2,s*l/(1+l)),0),y=Math.min(x,r/Math.PI*2*u),h=o.length-1;for(;h--;)(function(P,U,m){let O,_,W,Z=P[U],n=P[U+1];if(n[0]==="Z"&&(n=P[0]),(Z[0]==="M"||Z[0]==="L")&&n[0]==="A"?(O=Z,_=n,W=!0):Z[0]==="A"&&(n[0]==="M"||n[0]==="L")&&(O=n,_=Z),O&&_&&_.params){let a=_[1],d=_[5],j=_.params,{start:i,end:g,cx:p,cy:T}=j,v=d?a-m:a+m,N=v?Math.asin(m/v):0,Y=d?N:-N,V=Math.cos(N)*v;W?(j.start=i+Y,O[1]=p+V*Math.cos(i),O[2]=T+V*Math.sin(i),P.splice(U+1,0,["A",m,m,0,0,1,p+a*Math.cos(j.start),T+a*Math.sin(j.start)])):(j.end=g-Y,_[6]=p+a*Math.cos(j.end),_[7]=T+a*Math.sin(j.end),P.splice(U+1,0,["A",m,m,0,0,1,p+V*Math.cos(g),T+V*Math.sin(g)])),_[4]=Math.abs(j.end-j.start)<Math.PI?0:1}})(o,h,h>1?y:x);return o}function f(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:c,yAxis:b}=this,F=c.stacking==="percent",I=nt.plotOptions?.[this.type]?.borderRadius,C=w(c.borderRadius,K(I)?I:{}),o=b.options.reversed;for(let u of this.points){let{shapeArgs:s}=u;if(u.shapeType==="roundedRect"&&s){let{width:e=0,height:t=0,y:r=0}=s,l=r,x=t;if(C.scope==="stack"&&u.stackTotal){let U=b.translate(F?100:u.stackTotal,!1,!0,!1,!0),m=b.translate(c.threshold||0,!1,!0,!1,!0),O=this.crispCol(0,Math.min(U,m),0,Math.abs(U-m));l=O.y,x=O.height}let y=(u.negative?-1:1)*(o?-1:1)==-1,h=C.where;!h&&this.is("waterfall")&&Math.abs((u.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(h="all"),h||(h="end");let P=Math.min($(C.radius,e),e/2,h==="all"?t/2:1/0)||0;h==="end"&&(y&&(l-=P),x+=P),ct(s,{brBoxHeight:x,brBoxY:l,r:P})}}}}function w(c,b){return K(c)||(c={radius:c||0}),q(S,b,c)}function M(){let c=w(this.options.borderRadius);for(let b of this.points){let F=b.shapeArgs;F&&(F.borderRadius=$(c.radius,(F.r||0)-(F.innerR||0)))}}function A(c,b,F,I,C={}){let o=R(c,b,F,I,C),{r:u=0,brBoxHeight:s=I,brBoxY:e=b}=C,t=b-e,r=e+s-(b+I),l=t-u>-.1?0:u,x=r-u>-.1?0:u,y=Math.max(l&&t,0),h=Math.max(x&&r,0),P=[c+l,b],U=[c+F-l,b],m=[c+F,b+l],O=[c+F,b+I-x],_=[c+F-x,b+I],W=[c+x,b+I],Z=[c,b+I-x],n=[c,b+l],a=(d,j)=>Math.sqrt(Math.pow(d,2)-Math.pow(j,2));if(y){let d=a(l,l-y);P[0]-=d,U[0]+=d,m[1]=n[1]=b+l-y}if(I<l-y){let d=a(l,l-y-I);m[0]=O[0]=c+F-l+d,_[0]=Math.min(m[0],_[0]),W[0]=Math.max(O[0],W[0]),Z[0]=n[0]=c+l-d,m[1]=n[1]=b+I}if(h){let d=a(x,x-h);_[0]+=d,W[0]-=d,O[1]=Z[1]=b+I-x+h}if(I<x-h){let d=a(x,x-h-I);m[0]=O[0]=c+F-x+d,U[0]=Math.min(m[0],U[0]),P[0]=Math.max(O[0],P[0]),Z[0]=n[0]=c+x-d,O[1]=Z[1]=b}return o.length=0,o.push(["M",...P],["L",...U],["A",l,l,0,0,1,...m],["L",...O],["A",x,x,0,0,1,..._],["L",...W],["A",x,x,0,0,1,...Z],["L",...n],["A",l,l,0,0,1,...P],["Z"]),o}return{compose:function(c,b,F){let I=c.types.pie;if(!b.symbolCustomAttribs.includes("borderRadius")){let C=F.prototype.symbols;lt(c,"afterColumnTranslate",f,{order:9}),lt(I,"afterTranslate",M),b.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),B=C.arc,R=C.roundedRect,C.arc=L,C.roundedRect=A}},optionsToObject:w}}),it(k,"Core/Responsive.js",[k["Core/Utilities.js"]],function(E){var H;let{diffObjects:J,extend:nt,find:st,merge:lt,pick:ct,uniqueKey:K}=E;return function(q){function $(B,R){let L=B.condition;(L.callback||function(){return this.chartWidth<=ct(L.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=ct(L.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=ct(L.minWidth,0)&&this.chartHeight>=ct(L.minHeight,0)}).call(this)&&R.push(B._id)}function S(B,R){let L=this.options.responsive,f=this.currentResponsive,w=[],M;
2!R&&L&&L.rules&&L.rules.forEach(b=>{b._id===void 0&&(b._id=K()),this.matchResponsiveRule(b,w)},this);let A=lt(...w.map(b=>st((L||{}).rules||[],F=>F._id===b)).map(b=>b&&b.chartOptions));A.isResponsiveOptions=!0,w=w.toString()||void 0;let c=f&&f.ruleIds;w===c||(f&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(f.undoOptions,B,!0),this.updatingResponsive=!1),w?((M=J(A,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:w,mergedOptions:A,undoOptions:M},this.updatingResponsive||this.update(A,B,!0)):this.currentResponsive=void 0)}q.compose=function(B){let R=B.prototype;return R.matchResponsiveRule||nt(R,{matchResponsiveRule:$,setResponsive:S}),B}}(H||(H={})),H}),it(k,"masters/highcharts.src.js",[k["Core/Globals.js"],k["Core/Utilities.js"],k["Core/Defaults.js"],k["Core/Animation/Fx.js"],k["Core/Animation/AnimationUtilities.js"],k["Core/Renderer/HTML/AST.js"],k["Core/Templating.js"],k["Core/Renderer/RendererRegistry.js"],k["Core/Renderer/RendererUtilities.js"],k["Core/Renderer/SVG/SVGElement.js"],k["Core/Renderer/SVG/SVGRenderer.js"],k["Core/Renderer/HTML/HTMLElement.js"],k["Core/Axis/Axis.js"],k["Core/Axis/DateTimeAxis.js"],k["Core/Axis/LogarithmicAxis.js"],k["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],k["Core/Axis/Tick.js"],k["Core/Tooltip.js"],k["Core/Series/Point.js"],k["Core/Pointer.js"],k["Core/Legend/Legend.js"],k["Core/Legend/LegendSymbol.js"],k["Core/Chart/Chart.js"],k["Extensions/ScrollablePlotArea.js"],k["Core/Axis/Stacking/StackingAxis.js"],k["Core/Axis/Stacking/StackItem.js"],k["Core/Series/Series.js"],k["Core/Series/SeriesRegistry.js"],k["Series/Column/ColumnDataLabel.js"],k["Series/Pie/PieDataLabel.js"],k["Core/Series/DataLabel.js"],k["Extensions/OverlappingDataLabels.js"],k["Extensions/
2BorderRadius.js"],k["Core/Responsive.js"],k["Core/Color/Color.js"],k["Core/Time.js"]],function(E,H,J,nt,st,lt,ct,K,q,$,S,B,R,L,f,w,M,A,c,b,F,I,C,o,u,s,e,t,r,l,x,y,h,P,U,m){return E.AST=lt,E.Axis=R,E.Chart=C,E.Color=U,E.DataLabel=x,E.Fx=nt,E.HTMLElement=B,E.Legend=F,E.LegendSymbol=I,E.OverlappingDataLabels=E.OverlappingDataLabels||y,E.PlotLineOrBand=w,E.Point=c,E.Pointer=b,E.RendererRegistry=K,E.Series=e,E.SeriesRegistry=t,E.StackItem=s,E.SVGElement=$,E.SVGRenderer=S,E.Templating=ct,E.Tick=M,E.Time=m,E.Tooltip=A,E.animate=st.animate,E.animObject=st.animObject,E.chart=C.chart,E.color=U.parse,E.dateFormat=ct.dateFormat,E.defaultOptions=J.defaultOptions,E.distribute=q.distribute,E.format=ct.format,E.getDeferredAnimation=st.getDeferredAnimation,E.getOptions=J.getOptions,E.numberFormat=ct.numberFormat,E.seriesType=t.seriesType,E.setAnimation=st.setAnimation,E.setOptions=J.setOptions,E.stop=st.stop,E.time=J.defaultTime,E.timers=nt.timers,h.compose(E.Series,E.SVGElement,E.SVGRenderer),r.compose(E.Series.types.column),x.compose(E.Series),L.compose(E.Axis),B.compose(E.SVGRenderer),F.compose(E.Chart),f.compose(E.Axis),y.compose(E.Chart),l.compose(E.Series.types.pie),w.compose(E.Axis),b.compose(E.Chart),P.compose(E.Chart),o.compose(E.Axis,E.Chart,E.Series),u.compose(E.Axis,E.Chart,E.Series),A.compose(E.Pointer),H.extend(E,H),E}),k["masters/highcharts.src.js"]._modules=k,k["masters/highcharts.src.js"]})});var bs=["*"],vs=pt=>["nav-item",pt];function Cs(pt,k){if(pt&1){let it=Ht();bt(0,"span",7),Gt("click",function(H){Nt(it);let J=At().$implicit,nt=At();return H.preventDefault(),zt(nt.removeTab(J))}),wt(1," \u274C"),vt()}}function Ss(pt,k){if(pt&1){let it=Ht();bt(0,"li",3),Gt("keydown",function(H){let J=Nt(it).index,nt=At();return zt(nt.keyNavActions(H,J))}),bt(1,"a",4),Gt("click",function(){let H=Nt(it).$implicit;return zt(H.active=!0)}),bt(2,"span",5),wt(3),vt(),Dt(4,Cs,2,0,"span",6),vt()()}if(pt&2){let it=k.$implicit;re("active",it.active)("disabled",it.disabled),kt("ngClass",ci(15,vs,it.customClass||"")),St(),re("active",it.active)("disabled",it.disabled),de("aria-controls",it.id?it.id:"")("aria-selected",!!it.active)("id",it.id?it.id+"-link":""),St(),kt("ngTransclude",it.headingRef),St(),pe(it.heading),St(),kt("ngIf",it.removable)}}var ks=(()=>{let k=class k{set ngTransclude(E){this._ngTransclude=E,E&&this.viewRef.createEmbeddedView(E)}get ngTransclude(){return this._ngTransclude}constructor(E){this.viewRef=E}};k.\u0275fac=function(H){return new(H||k)(Ot(si))},k.\u0275dir=je({type:k,selectors:[["","ngTransclude",""]],inputs:{ngTransclude:"ngTransclude"}});let pt=k;return pt})(),ws=(()=>{let k=class k{constructor(){this.type="tabs",this.isKeysAllowed=!0,this.ariaLabel="Tabs"}};k.\u0275fac=function(H){return new(H||k)},k.\u0275prov=Jt({token:k,factory:k.\u0275fac,providedIn:"root"});let pt=k;return pt})(),Xe=(()=>{let k=class k{get vertical(){return this._vertical}set vertical(E){this._vertical=E,this.setClassMap()}get justified(){return this._justified}set justified(E){this._justified=E,this.setClassMap()}get type(){return this._type}set type(E){this._type=E,this.setClassMap()}get isKeysAllowed(){return this._isKeysAllowed}set isKeysAllowed(E){this._isKeysAllowed=E}constructor(E,H,J){this.renderer=H,this.elementRef=J,this.clazz=!0,this.tabs=[],this.classMap={},this.ariaLabel="Tabs",this.isDestroyed=!1,this._vertical=!1,this._justified=!1,this._type="tabs",this._isKeysAllowed=!0,Object.assign(this,E)}ngOnDestroy(){this.isDestroyed=!0}addTab(E){this.tabs.push(E),E.active=this.tabs.length===1&&!E.active}removeTab(E,H={reselect:!0,emit:!0}){let J=this.tabs.indexOf(E);if(!(J===-1||this.isDestroyed)){if(H.reselect&&E.active&&this.hasAvailableTabs(J)){let nt=this.getClosestTabIndex(J);this.tabs[nt].active=!0}H.emit&&E.removed.emit(E),this.tabs.splice(J,1),E.elementRef.nativeElement.parentNode&&this.renderer.removeChild(E.elementRef.nativeElement.parentNode,E.elementRef.nativeElement)}}keyNavActions(E,H){if(!this.isKeysAllowed)return;let J=Array.from(this.elementRef.nativeElement.querySelectorAll(".nav-link"));if(E.keyCode===13||E.key==="Enter"||E.keyCode===32||E.key==="Space"){E.preventDefault(),J[H%J.length].click();return}if(E.keyCode===39||E.key==="RightArrow"){let nt,st=1;do nt=J[(H+st)%J.length],st++;while(nt.classList.contains("disabled"));nt.focus();return}if(E.keyCode===37||E.key==="LeftArrow"){let nt,st=1,lt=H;do lt-st<0?(lt=J.length-1,nt=J[lt],st=0):nt=J[lt-st],st++;while(nt.classList.contains("disabled"));nt.focus();return}if(E.keyCode===36||E.key==="Home"){E.preventDefault();let nt,st=0;do nt=J[st%J.length],st++;while(nt.classList.contains("disabled"));nt.focus();return}if(E.keyCode===35||E.key==="End"){E.preventDefault();let nt,st=1,lt=H;do lt-st<0?(lt=J.length-1,nt=J[lt],st=0):nt=J[lt-st],st++;while(nt.classList.contains("disabled"));nt.focus();return}if((E.keyCode===46||E.key==="Delete")&&this.tabs[H].removable){if(this.removeTab(this.tabs[H]),J[H+1]){J[(H+1)%J.length].focus();return}J[J.length-1]&&J[0].focus()}}getClosestTabIndex(E){let H=this.tabs.length;if(!H)return-1;for(let J=1;J<=H;J+=1){let nt=E-J,st=E+J;if(this.tabs[nt]&&!this.tabs[nt].disabled)return nt;if(this.tabs[st]&&!this.tabs[st].disabled)return st}return-1}hasAvailableTabs(E){let H=this.tabs.length;if(!H)return!1;for(let J=0;J<H;J+=1)if(!this.tabs[J].disabled&&J!==E)return!0;return!1}setClassMap(){this.classMap={"nav-stacked":this.vertical,"flex-column":this.vertical,"nav-justified":this.justified,[`nav-${this.type}`]:!0}}};k.\u0275fac=function(H){return new(H||k)(Ot(ws),Ot(_e),Ot(se))},k.\u0275cmp=Qt({type:k,selectors:[["tabset"]],hostVars:2,hostBindings:function(H,J){H&2&&re("tab-container",J.clazz)},inputs:{vertical:"vertical",justified:"justified",type:"type"},ngContentSelectors:bs,decls:4,vars:3,consts:[["role","tablist",1,"nav",3,"click","ngClass"],[3,"ngClass","active","disabled","keydown",4,"ngFor","ngForOf"],[1,"tab-content"],[3,"keydown","ngClass"],["href","javascript:void(0);","role","tab",1,"nav-link",3,"click"],[3,"ngTransclude"],["class","bs-remove-tab",3,"click",4,"ngIf"],[1,"bs-remove-tab",3,"click"]],template:function(H,J){H&1&&(ri(),bt(0,"ul",0),Gt("click",function(st){return st.preventDefault()}),Dt(1,Ss,5,17,"li",1),vt(),bt(2,"div",2),oi(3),vt()),H&2&&(kt("ngClass",J.classMap),de("aria-label",J.ariaLabel),St(),kt("ngForOf",J.tabs))},dependencies:[fe,xe,ye,ks],styles:["[_nghost-%COMP%] .nav-tabs[_ngcontent-%COMP%] .nav-item.disabled[_ngcontent-%COMP%] a.disabled[_ngcontent-%COMP%]{cursor:default}"]});let pt=k;return pt})(),rs=(()=>{let k=class k{get customClass(){return this._customClass}set customClass(E){this.customClass&&this.customClass.split(" ").forEach(H=>{this.renderer.removeClass(this.elementRef.nativeElement,H)}),this._customClass=E?E.trim():"",this.customClass&&this.customClass.split(" ").forEach(H=>{this.renderer.addClass(this.elementRef.nativeElement,H)})}get active(){return this._active}
2set active(E){if(this._active!==E){if(this.disabled&&E||!E){this._active&&!E&&(this.deselect.emit(this),this._active=E);return}this._active=E,this.selectTab.emit(this),this.tabset.tabs.forEach(H=>{H!==this&&(H.active=!1)})}}get ariaLabelledby(){return this.id?`${this.id}-link`:""}constructor(E,H,J){this.elementRef=H,this.renderer=J,this.disabled=!1,this.removable=!1,this.selectTab=new Zt,this.deselect=new Zt,this.removed=new Zt,this.addClass=!0,this.role="tabpanel",this._active=!1,this._customClass="",this.tabset=E,this.tabset.addTab(this)}ngOnInit(){this.removable=!!this.removable}ngOnDestroy(){this.tabset.removeTab(this,{reselect:!1,emit:!1})}};k.\u0275fac=function(H){return new(H||k)(Ot(Xe),Ot(se),Ot(_e))},k.\u0275dir=je({type:k,selectors:[["tab"],["","tab",""]],hostVars:7,hostBindings:function(H,J){H&2&&(de("id",J.id)("role",J.role)("aria-labelledby",J.ariaLabelledby),re("active",J.active)("tab-pane",J.addClass))},inputs:{heading:"heading",id:"id",disabled:"disabled",removable:"removable",customClass:"customClass",active:"active"},outputs:{selectTab:"selectTab",deselect:"deselect",removed:"removed"},exportAs:["tab"]});let pt=k;return pt})();var os=(()=>{let k=class k{static forRoot(){return{ngModule:k,providers:[]}}};k.\u0275fac=function(H){return new(H||k)},k.\u0275mod=Kt({type:k}),k.\u0275inj=qt({imports:[xi]});let pt=k;return pt})();var Ye=xs(as());var Le=class{constructor(k,it,E,H,J,nt,st,lt,ct){this.customerReference=k,this.propertyReference=it,this.meterKey=E,this.method=H,this.hUserID=J,this.limit=nt,this.offset=st,this.getFields=lt,this.uid=ct}};var ls=(()=>{let k=class k{constructor(E,H,J,nt){this.http=E,this.globalSettingsService=H,this.functions=J,this.functionsInstances=nt,this.baseUrl=Wt.baseUrl,this.consComparisonUrl=this.baseUrl+"conscomparison",this.globalSettings=this.globalSettingsService.getGlobalSettings(),this.globalSettingsService.globalSettingsChange.subscribe(st=>{this.globalSettings=st})}getConsComparison(E){let H=new Le(this.globalSettings?.customerReference,E,"","GET","my-oam",1,0,"*",this.globalSettings?.uid);Wt.useEmulator&&Se(this.functions,Wt.emulatorFunction[0],+Wt.emulatorFunction[1]);let J=ke(this.functionsInstances[0],"consComparisonCF");return this.consComparisonCF$=ce(J(H)),this.consComparisonCF$}};k.\u0275fac=function(H){return new(H||k)(Ft(be),Ft(we),Ft(ve),Ft(Ce))},k.\u0275prov=Jt({token:k,factory:k.\u0275fac,providedIn:"root"});let pt=k;return pt})();var Ee=class{constructor(k,it,E,H,J,nt,st){this.customerReference=k,this.propertyReference=it,this.method=E,this.uid=H,this.bedrooms=J,this.garden=nt,this.occupants=st}};var hs=(()=>{let k=class k{constructor(E,H,J,nt,st,lt){this.propertyService=E,this.customerService=H,this.http=J,this.globalSettingsService=nt,this.functions=st,this.functionsInstances=lt,this.baseUrl=Wt.baseUrl,this.globalSettings=this.globalSettingsService.getGlobalSettings(),this.globalSettingsService.globalSettingsChange.subscribe(ct=>{this.globalSettings=ct}),this.propertySubscription=this.propertyService.propertyChange.subscribe(ct=>{this.property=ct}),this.property=this.propertyService.getProperty(),this.customerSubscription=this.customerService.customerChange.subscribe(ct=>{this.customer=ct}),this.customer=this.customerService.getCustomer()}getBGOUpdateResponse(E,H,J){let nt=new Ee(this.customer.customerReference,this.property.propertyReference,"UPDATE",this.globalSettings?.uid,E,H,J);Wt.useEmulator&&Se(this.functions,Wt.emulatorFunction[0],+Wt.emulatorFunction[1]);let st=ke(this.functionsInstances[0],"bgoUpdateCF");return this.bgoUpdateCF$=ce(st(nt)),this.bgoUpdateCF$}};k.\u0275fac=function(H){return new(H||k)(Ft(Te),Ft(Me),Ft(be),Ft(we),Ft(ve),Ft(Ce))},k.\u0275prov=Jt({token:k,factory:k.\u0275fac,providedIn:"root"});let pt=k;return pt})();var cs=(()=>{let k=class k{constructor(E,H){this.el=E,this._zone=H,this.updateChange=new Zt(!0),this.chartInstance=new Zt}ngOnChanges(E){let H=E.update?.currentValue;(E.options||H)&&(this.wrappedUpdateOrCreateChart(),H&&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))}};k.\u0275fac=function(H){return new(H||k)(Ot(se),Ot(ii))},k.\u0275cmp=Qt({type:k,selectors:[["highcharts-chart"]],inputs:{Highcharts:"Highcharts",constructorType:"constructorType",callbackFunction:"callbackFunction",oneToOne:"oneToOne",runOutsideAngular:"runOutsideAngular",options:"options",update:"update"},outputs:{updateChange:"updateChange",chartInstance:"chartInstance"},features:[ei],decls:0,vars:0,template:function(H,J){},encapsulation:2});let pt=k;return pt})(),ds=(()=>{let k=class k{};k.\u0275fac=function(H){return new(H||k)},k.\u0275mod=Kt({type:k}),k.\u0275inj=qt({});let pt=k;return pt})();var js=["template"];
2function Rs(pt,k){if(pt&1&&It(0,"app-page-head",7),pt&2){let it=At();kt("alerts",it.alerts)("showWelcome",!1)("pageHeader",it.meters&&it.meters.length>0?"Your water use":"Your property")}}function Bs(pt,k){if(pt&1){let it=Ht();bt(0,"div")(1,"alert",9)(2,"div",10)(3,"div",11),It(4,"fa-icon",12),vt(),bt(5,"div",13)(6,"h4"),wt(7,"Fancy some FREE water saving devices? It\u2019s a no-brainer!"),vt(),bt(8,"p"),wt(9," Are you a savvy saver? Or perhaps you just care about doing your bit for the environment? Whatever your reasons for wanting to save water, we salute you! Get your hands on some FREE water saving devices by clicking on the link below "),vt(),bt(10,"a",14),Gt("click",function(){Nt(it);let H=At(2);return zt(H.logAlert("savewatersavemoney"))}),wt(11,"Give me free stuff"),vt()()()(),bt(12,"p",15),wt(13," Want to know more about your supply, including water and sewerage supplier & water hardness? "),bt(14,"a",16),wt(15,"Click here"),vt()()()}if(pt&2){let it=At(2);St(4),kt("icon",it.faGlobeEurope),St(10),kt("pageScrollDuration",100)}}function _s(pt,k){pt&1&&(bt(0,"div")(1,"p",15),wt(2," Want to know more about your supply, including water and sewerage supplier? "),bt(3,"a",16),wt(4,"Click here"),vt()()()),pt&2&&(St(3),kt("pageScrollDuration",100))}function Ns(pt,k){if(pt&1&&(bt(0,"section",8),Dt(1,Bs,16,2,"div",5)(2,_s,5,1,"div",5),vt()),pt&2){let it=At();St(),kt("ngIf",it.company==="SEW"),St(),kt("ngIf",it.company==="ICOSA"||it.company==="ESP"||it.company==="MTX"||it.company==="MUA"||it.company==="LEF")}}function zs(pt,k){pt&1&&(bt(0,"h2",50),wt(1," How do I compare to my neighbours? "),vt())}function Ws(pt,k){pt&1&&(bt(0,"h5",48),wt(1," This shows how your daily water use compares to your neighbours "),vt())}function Fs(pt,k){pt&1&&(bt(0,"h2",50),wt(1," How do I compare to other customers? "),vt())}function Hs(pt,k){pt&1&&(bt(0,"h5",48),wt(1," This shows how your daily water use compares to your neighbours "),vt())}function Gs(pt,k){pt&1&&(bt(0,"h3"),wt(1," We are grabbing your neighbour comparison data to show you how you compare against your neighbours "),vt())}function Us(pt,k){pt&1&&(bt(0,"h3"),wt(1," Next time you're billed we can show you how you compare against your neighbours. For now, we don\u2019t have enough data about you just yet "),vt())}function Xs(pt,k){if(pt&1&&(bt(0,"div",51),It(1,"i"),Dt(2,Gs,2,0,"h3",5)(3,Us,2,0,"h3",5),vt()),pt&2){let it=At(3);St(),Ne("fas fa-chart-bar fa-10x ",it.company==="MUA"?"text-secondary-light":"text-primary",""),St(),kt("ngIf",!it.consComparison),St(),kt("ngIf",it.consComparison||it.consComparisonReturnMessage==="RED"||it.consComparisonReturnMessage==="AMBER")}}
vendor: 4,144 bytes, line 2
2function Ys(pt,k){if(pt&1){let it=Ht();bt(0,"highcharts-chart",53),me("updateChange",function(H){Nt(it);let J=At(4);return ge(J.updateFlag,H)||(J.updateFlag=H),zt(H)}),vt()}if(pt&2){let it=At(4);kt("Highcharts",it.highcharts)("callbackFunction",it.latestChartCallback)("options",it.latestChart)("constructorType",it.chartConstructor),ue("update",it.updateFlag)}}function Vs(pt,k){if(pt&1&&(bt(0,"div",52),Dt(1,Ys,1,5,"highcharts-chart",49),vt()),pt&2){let it=At(3);St(),kt("ngIf",it.consComparison)}}function $s(pt,k){pt&1&&(bt(0,"div",54),It(1,"i",55),bt(2,"div",56),wt(3,"You're doing great!"),vt(),bt(4,"p"),wt(5," It looks like you\u2019re using less water than your neighbours. Thanks for being a water saving hero. Keep up the good work. "),vt()())}function qs(pt,k){pt&1&&(bt(0,"div",54),It(1,"i",57),bt(2,"div",58),wt(3,"Not bad!"),vt(),bt(4,"p"),wt(5," Looks like your water use is in line with your neighbours. Why not check out our top tips to save more water and money? "),vt()())}function Ks(pt,k){pt&1&&(bt(0,"div",54),It(1,"i",59),bt(2,"div",60),wt(3,"High water use"),vt(),bt(4,"p"),wt(5," Your water use is higher than average. Why not take a look at our water saving freebies to help you save water and money? "),vt()())}function Zs(pt,k){pt&1&&(bt(0,"div",38)(1,"p",61),wt(2," * when we talk about comparing your water use to your neighbours, we mean customers in your region \u2013 it might not be your direct neighbours "),vt()())}function Js(pt,k){pt&1&&(bt(0,"h3"),wt(1," We are grabbing your neighbour comparison data to show you how you compare against your neighbours "),vt())}function Qs(pt,k){pt&1&&(bt(0,"h3"),wt(1," Next time you're billed we can show you how you compare against your neighbours. For now, we don\u2019t have enough data about you just yet "),vt())}function tr(pt,k){if(pt&1&&(bt(0,"div",51),It(1,"i"),Dt(2,Js,2,0,"h3",5)(3,Qs,2,0,"h3",5),vt()),pt&2){let it=At(3);St(),Ne("fas fa-chart-bar fa-10x ",it.company==="MUA"?"text-secondary-light":"text-primary",""),St(),kt("ngIf",!it.consComparison),St(),kt("ngIf",it.consComparison||it.consComparisonReturnMessage==="RED"||it.consComparisonReturnMessage==="AMBER")}}function er(pt,k){if(pt&1){let it=Ht();bt(0,"highcharts-chart",53),me("updateChange",function(H){Nt(it);let J=At(3);return ge(J.updateFlag,H)||(J.updateFlag=H),zt(H)}),vt()}if(pt&2){let it=At(3);kt("Highcharts",it.highcharts)("callbackFunction",it.historyChartCallback)("options",it.historyChart)("constructorType",it.chartConstructor),ue("update",it.updateFlag)}}function ir(pt,k){if(pt&1&&(bt(0,"div",32)(1,"div",20)(2,"div",33)(3,"tabset",34)(4,"tab",35)(5,"div",36)(6,"div",37)(7,"div",38),Dt(8,zs,2,0,"h2",39)(9,Ws,2,0,"h5",40)(10,Fs,2,0,"h2",39)(11,Hs,2,0,"h5",40),vt(),Dt(12,Xs,4,5,"div",41)(13,Vs,2,1,"div",42)(14,$s,6,0,"div",43)(15,qs,6,0,"div",43)(16,Ks,6,0,"div",43)(17,Zs,3,0,"div",44),vt()()(),bt(18,"tab",45)(19,"div",46)(20,"div",20)(21,"div",38)(22,"h2",47),wt(23,"Usage history"),vt(),bt(24,"h5",48),wt(25," You can see how your usage has changed, hopefully you're using a bit less each time "),vt(),Dt(26,tr,4,5,"div",41)(27,er,1,5,"highcharts-chart",49),vt()()()()()()()()),pt&2){let it=At(2);St(8),kt("ngIf",(it.consComparison==null?null:it.consComparison.staticData)==="N"),St(),kt("ngIf",(it.consComparison==null?null:it.consComparison.staticData)==="N"),St(),kt("ngIf",!it.consComparison||!(it.consComparison!=null&&it.consComparison.staticData)||(it.consComparison==null?null:it.consComparison.staticData)==="Y"),St(),kt("ngIf",(it.consComparison==null?null:it.consComparison.staticData)==="Y"),St(),kt("ngIf",!it.consComparison||it.consComparisonReturnMessage==="RED"||it.consComparisonReturnMessage==="AMBER"),St(),kt("ngIf",it.consComparison&&it.consComparisonReturnMessage==="GREEN"),St(),kt("ngIf",it.iconCode==="A"),St(),kt("ngIf",it.iconCode==="B"),St(),kt("ngIf",it.iconCode==="C"),St(),kt("ngIf",it.consComparison&&it.consComparisonReturnMessage==="GREEN"),St(9),kt("ngIf",!it.consComparison||it.consComparisonReturnMessage==="RED"||it.consComparisonReturnMessage==="AMBER"),St(),kt("ngIf",it.consComparison&&it.consComparisonReturnMessage==="GREEN")}}
2function sr(pt,k){if(pt&1&&(bt(0,"option",64),wt(1),vt()),pt&2){let it=k.$implicit,E=k.index;kt("value",E),St(),Vt(" ",it==null?null:it.meterSerial," ")}}function rr(pt,k){if(pt&1){let it=Ht();bt(0,"select",62),Gt("change",function(H){Nt(it);let J=At(2);return zt(J.onChangeMeter(H.target.value))}),me("ngModelChange",function(H){Nt(it);let J=At(2);return ge(J.currentMeter,H)||(J.currentMeter=H),zt(H)}),Dt(1,sr,2,2,"option",63),vt()}if(pt&2){let it=At(2);ue("ngModel",it.currentMeter),St(),kt("ngForOf",it.meters)}}function or(pt,k){pt&1&&(bt(0,"th",65),wt(1," Usage (m"),bt(2,"sup"),wt(3,"3"),vt(),wt(4,") "),vt())}function nr(pt,k){pt&1&&(bt(0,"th",65),wt(1," Usage (kWh) "),vt())}function ar(pt,k){pt&1&&(bt(0,"th",65),wt(1," Daily (litres) "),vt())}function lr(pt,k){pt&1&&(bt(0,"th",65),wt(1," Daily "),vt())}function hr(pt,k){if(pt&1&&(bt(0,"tr")(1,"td",66),wt(2),te(3,"date"),It(4,"br"),bt(5,"strong",67),wt(6),vt(),It(7,"br"),wt(8),te(9,"amDifference"),te(10,"number"),vt(),bt(11,"td",68),wt(12),bt(13,"div",69),wt(14),bt(15,"sup"),wt(16,"3"),vt()(),bt(17,"div",69),wt(18),vt()(),bt(19,"td",70),wt(20),vt(),bt(21,"td",70),wt(22),vt()()),pt&2){let it=k.$implicit;kt("@enterAnimation",void 0),St(2),Vt(" ",ze(3,9,it.readingDate,"dd MMM yy")," "),St(4),pe(it.readingMethod),St(2),Vt(" ",ze(10,17,di(9,12,it.readingDate,it.previousReadingDate,"days",!0),"1.0-0")," days "),St(4),Vt(" ",it.reading," "),St(2),Vt(" Usage: ",it.consumption," m"),St(4),Vt(" Daily: ",it.litresPerDay," litres "),St(2),Vt(" ",it.consumption," "),St(2),Vt(" ",it.litresPerDay," ")}}function cr(pt,k){if(pt&1){let it=Ht();bt(0,"button",71),Gt("click",function(){Nt(it);let H=At(2);return zt(H.loadMore())}),wt(1," Load More "),vt()}pt&2&&kt("pageScrollDuration",1e3)}function dr(pt,k){if(pt&1&&(bt(0,"section",17),Dt(1,ir,28,12,"div",18),bt(2,"div",19)(3,"div",20)(4,"div",21)(5,"h2",22),wt(6,"Meter readings"),vt(),bt(7,"form",23),Dt(8,rr,2,2,"select",24),vt()()(),bt(9,"table",25)(10,"thead")(11,"tr")(12,"th"),wt(13,"Date"),vt(),bt(14,"th",26),wt(15,"Reading"),vt(),Dt(16,or,5,0,"th",27)(17,nr,2,0,"th",27)(18,ar,2,0,"th",27)(19,lr,2,0,"th",27),vt()(),bt(20,"tbody"),Dt(21,hr,23,20,"tr",28),te(22,"orderBy"),te(23,"slice"),vt()(),bt(24,"div",20)(25,"div",29),Dt(26,cr,2,1,"button",30),vt(),It(27,"div",31),vt()()()),pt&2){let it=At();kt("ngClass",it.company==="SEW"?"bg-info":""),St(),kt("ngIf",(it.consComparison==null?null:it.consComparison.graphPossible)==="Y"&&!it.customer.hideComparison),St(7),kt("ngIf",it.meters&&it.meters.length>1),St(8),kt("ngIf",it.sector!=="ENERGY"),St(),kt("ngIf",it.sector==="ENERGY"),St(),kt("ngIf",it.sector!=="ENERGY"),St(),kt("ngIf",it.sector==="ENERGY"),St(2),kt("ngForOf",We(23,13,We(22,9,it.meters[it.selectedMeterIndex]==null?null:it.meters[it.selectedMeterIndex].readings,"readingSequence",!0),0,it.readingsRestrict)),St(5),kt("ngIf",(it.meters[it.selectedMeterIndex]==null?null:it.meters[it.selectedMeterIndex].readings.length)>it.readingsRestrict)}}function pr(pt,k){pt&1&&It(0,"app-water-saving-top-tips")}function ur(pt,k){if(pt&1&&It(0,"app-campaign",73),pt&2){let it=k.$implicit;kt("campaign",it)}}function gr(pt,k){if(pt&1&&(bt(0,"section"),Dt(1,ur,1,1,"app-campaign",72),vt()),pt&2){let it=At();St(),kt("ngForOf",it.campaigns)}}function mr(pt,k){if(pt&1&&(bt(0,"div"),It(1,"i",81),vt()),pt&2){let it=At(2);St(),kt("ngClass",it.success?"bg-secondary fal fa-check":"bg-danger shadow fal fa-times")}}function fr(pt,k){pt&1&&(bt(0,"div")(1,"div",82),Re(),bt(2,"svg",83),It(3,"path",84),vt(),bt(4,"svg",85),It(5,"path",86),vt()()())}function xr(pt,k){pt&1&&(bt(0,"div")(1,"div",87),Re(),bt(2,"svg",83),It(3,"path",84),vt(),bt(4,"svg",88),It(5,"path",89),vt()()())}function yr(pt,k){if(pt&1&&(bt(0,"div"),Dt(1,fr,6,0,"div",5)(2,xr,6,0,"div",5),vt()),pt&2){let it=At(2);St(),kt("ngIf",it.success),St(),kt("ngIf",!it.success)}}function br(pt,k){if(pt&1){let it=Ht();bt(0,"div",74),Dt(1,mr,2,1,"div",5)(2,yr,3,2,"div",5),vt(),bt(3,"div",75),It(4,"h4",76),vt(),bt(5,"div",77),It(6,"p",78),vt(),bt(7,"div",79)(8,"button",80),Gt("click",function(){Nt(it);let H=At();return zt(H.closeModal())}),wt(9," Close "),vt()()}if(pt&2){let it=At();St(),kt("ngIf",it.company==="SEW"||it.company==="ESP"),St(),kt("ngIf",it.company==="ICOSA"||it.company==="MTX"||it.company==="MUA"),St(2),kt("innerHTML",it.modalTitle,Be),St(2),kt("innerHTML",it.modalBody,Be)}}var ps=(()=>{let k=class k{onSelect(E){}constructor(E,H,J,nt,st,lt,ct,K,q,$,S,B){this.customerService=E,this.meterService=H,this.propertyService=J,this.consComparisonService=nt,this.fb=st,this.bgoService=lt,this.analyticsService=ct,this.pageScrollService=K,this.document=q,this.spinner=$,this.spinnerSevice=S,this.modalService=B,this.alerts=[],this.campaigns=[],this.questionAnswered=!1,this.readingsRestrict=2,this.view=[],this.consComparison=null,this.faBed=wi,this.faUser=vi,this.faPagelines=Ki,this.faSmileBeam=bi,this.faTachometerAlt=Mi,this.faHome=ki,this.faUserFriends=Ci,this.faTimesCircle=Ai,this.faArrowCircleRight=Si,this.faGlobeEurope=Ti,this.company=Wt.company,this.sector=Wt.sector,this.graphDataSet="",this.highcharts=Ye,this.chartConstructor="chart",this.updateFlag=!1,this.latestChart={chart:{type:"column",backgroundColor:"#fff",style:{fontFamily:"jaf-facitweb"}},title:{text:null,style:{fontSize:"20px",color:"#084951",fontWeight:"bold"}},xAxis:{lineColor:null,lineWidth:2,labels:{enabled:!1},categories:[]},yAxis:{title:{text:"Litres per day",style:{fontSize:"16px",color:"#084951",fontWeight:"bold"}},color:null,gridLineColor:null,labels:{autoRotation:!1,style:{fontSize:"16px",color:"#084951",fontWeight:"bold"}},tickInterval:100},series:[{name:"",data:[],color:"#ed89c5",dataLabels:{color:"#ed89c5",crop:!1,overflow:"none",style:{fontSize:"16px",textOutline:"none"}}},{name:"",data:[],color:"",dataLabels:{color:"",crop:!1,overflow:"none",style:{fontSize:"16px",textOutline:"none"}}},{name:"",data:[],color:"#13818F",dataLabels:{color:"#13818F",crop:!1,overflow:"none",style:{fontSize:"16px",textOutline:"none"}}}],plotOptions:{series:{borderRadius:5,dataLabels:{enabled:!0}}},legend:{itemStyle:{fontSize:"16px",fontWeight:"Regular"},symbolRadius:0},credits:{enabled:!1},responsive:{rules:[{condition:{maxWidth:500,maxHeight:500},chartOptions:{yAxis:{labels:{align:"left",x:0,y:-2}}}}]}},this.historyChart={chart:{type:"column",backgroundColor:"#fff",style:{fontFamily:"jaf-facitweb"}},title:{text:null},xAxis:{lineColor:null,lineWidth:2,labels:{autoRotation:!1,style:{fontSize:"14px",color:"#084951",fontWeight:"bold"}},categories:[]},yAxis:{title:{text:"Litres per day",style:{fontSize:"16px",color:"#084951",fontWeight:"bold"}},color:null,gridLineColor:null,labels:{autoRotation:!1,style:{fontSize:"14px",color:"#084951",fontWeight:"bold"}},tickInterval:100},series:[{name:"",data:[],color:"#ed89c5"},{name:"",data:[],color:""},{name:"",data:[],color:"#13818F"}],plotOptions:{series:{borderRadius:5}},legend:{itemStyle:{fontSize:"16px",fontWeight:"Regular"},symbolRadius:0},credits:{enabled:!1},responsive:{rules:[{condition:{maxWidth:500,maxHeight:500},chartOptions:{yAxis:{labels:{align:"left",x:0,y:-2}}}}]}},this.selectedMeterIndex=0,this.currentMeter=0,this.sewerageProvider="",this.sewerageExempt=!1,this.config={animated:!0,keyboard:!0,backdrop:!0,ignoreBackdropClick:!1,class:""},this.subscriptions=[],this.graphDataSet="usage",Ye.setOptions({lang:{thous
2andsSep:""}});let R=this;this.latestChartCallback=L=>{R.latestChartShowHide=L},this.historyChartCallback=L=>{R.historyChartShowHide=L}}ngOnInit(){this.analyticsService.pageView("usage","./usage","usage page"),this.propertySubscription=this.propertyService.propertyChange.subscribe(E=>{this.property=E,this.bedrooms=this.property.bedrooms,this.occupants=this.property.occupants,this.initForm(),this.consComparison===null&&this.property.propertyReference!==void 0&&this.updateChart()}),this.property=this.propertyService.getProperty(),this.initForm(),this.meterSubscription=this.meterService.metersChange.subscribe(E=>{this.meters=E;let H=0;this.calculateGraphData()}),this.meters=this.meterService.getMeters(),this.calculateGraphData(),this.customerSubscription=this.customerService.customerChange.subscribe(E=>{this.customer=E,this.alerts=this.customerService.getAlerts("usage"),this.campaigns=this.customerService.getCampaigns("usage")}),this.customer=this.customerService.getCustomer(),this.alerts=this.customerService.getAlerts("usage"),this.campaigns=this.customerService.getCampaigns("usage")}updateChart(){let E=this,H=this.latestChartShowHide,J=this.historyChartShowHide;H?.showLoading("Please wait..."),J?.showLoading("Please wait..."),this.consComparisonService.getConsComparison(this.property.propertyReference).subscribe(nt=>{if(this.consComparison=nt.data,this.consComparisonReturnMessage=nt.data.returnMessage,this.consComparison.response!=="post error getting data"&&this.consComparisonReturnMessage==="GREEN"){for(let st=0;st<1;){this.iconCode=this.consComparison.cycles[st].iconCode;let lt=this.consComparison.cycles[st].graphLabel;E.latestChart.title.text=lt;let ct=this.consComparison.cycles[st].graphLabel;E.latestChart.xAxis.categories.push(ct);let K=this.consComparison.cycles[st].efficient;E.latestChart.series[0].data.push(K);let q=this.consComparison.cycles[st].subject;E.latestChart.series[1].data.push(q);let $=this.consComparison.cycles[st].average;E.latestChart.series[2].data.push($),st++}this.historyLimit=3,this.historyCycleLength=this.consComparison.cycles.length,this.historyCycleLength<this.historyLimit&&(this.historyLimit=this.historyCycleLength);for(let st=0;st<this.historyLimit;){let lt=this.consComparison.cycles[st].graphLabel;E.historyChart.xAxis.categories.push(lt);let ct=this.consComparison.cycles[st].efficient;E.historyChart.series[0].data.push(ct);let K=this.consComparison.cycles[st].subject;E.historyChart.series[1].data.push(K);let q=this.consComparison.cycles[st].average;E.historyChart.series[2].data.push(q),st++}this.consComparison.staticData==="Y"?(E.latestChart.series[0].name="Efficient Customer",E.latestChart.series[1].name="You",E.latestChart.series[2].name="Average Customer",E.historyChart.series[0].name="Efficient Customer",E.historyChart.series[1].name="You",E.historyChart.series[2].name="Average Customer"):this.consComparison.staticData==="N"&&(E.latestChart.series[0].name="Efficient Neighbour",E.latestChart.series[1].name="You",E.latestChart.series[2].name="Average Neighbour",E.historyChart.series[0].name="Efficient Neighbour",E.historyChart.series[1].name="You",E.historyChart.series[2].name="Average Neighbour"),this.iconCode==="A"?this.company==="SEW"||this.company==="ESP"?(E.latestChart.series[1].color="#35be8a",E.latestChart.series[1].dataLabels.color="#35be8a",E.historyChart.series[1].color="#35be8a"):this.company==="ICOSA"&&(E.latestChart.series[1].color="#22603b",E.latestChart.series[1].dataLabels.color="#22603b",E.historyChart.series[1].color="#22603b"):this.iconCode==="B"?this.company==="SEW"||this.company==="ESP"?(E.latestChart.series[1].color="#fbbe5e",E.latestChart.series[1].dataLabels.color="#fbbe5e",E.historyChart.series[1].color="#fbbe5e"):this.company==="ICOSA"&&(E.latestChart.series[1].color="#c99a00",E.latestChart.series[1].dataLabels.color="#c99a00",E.historyChart.series[1].color="#c99a00"):this.company==="SEW"||this.company==="ESP"?(E.latestChart.series[1].color="#e01111",E.latestChart.series[1].dataLabels.color="#e01111",E.historyChart.series[1].color="#e01111"):this.company==="ICOSA"&&(E.latestChart.series[1].color="#c13644",E.latestChart.series[1].dataLabels.color="#c13644",E.historyChart.series[1].color="#c13644"),E.updateFlag=!0,H?.hideLoading(),J?.hideLoading()}else this.consComparisonReturnMessage==="RED"||this.consComparisonReturnMessage==="AMBER"?(H?.showLoading("Check back next time you are billed"),J?.showLoading("Check back next time you are billed")):this.consComparisonReturnMessage==="post error getting data"&&(H?.showLoading("Sorry we have run into an issue generating your chart please try again later"),J?.showLoading("Sorry we have run into an issue generating your chart please try again later"))},nt=>{console.error(nt)})}initForm(){let E="",H="",J="";this.property&&(E=this.property.bedrooms,J=this.property.occupants,H=this.property.garden,this.property.sewerageProvider?(this.sewerageProvider=this.property.sewerageProvider.replace(/ .*/,""),this.sewerageExempt=this.property.sewerageProvider.includes("EXEMPT")):(this.sewerageProvider="",this.sewerageExempt=!1)),this.propertyUsageForm=this.fb.group({bedrooms:[E,Ae.required],occupants:[J,Ae.required],garden:[H,Ae.required]})}onCancel(){}calculateGraphData(){}onChangeMeter(E){this.meterService.setActive(E),this.selectedMeterIndex=E,this.readingsRestrict=5}onSubmit(){this.success=null,this.spinnerSevice.setSpinnerDescription("updating your info ..."),this.spinner.show(),this.bgoService.getBGOUpdateResponse(this.propertyUsageForm.get("bedrooms").value,this.propertyUsageForm.get("garden").value,this.propertyUsageForm.get("occupants").value).subscribe(E=>{this.spinner.hide(),this.returnMessage=E.data.returnMessage,this.success=this.returnMessage==="GREEN"||this.returnMessage==="AMBER",this.config.class=this.success?"success-modal":"warning-modal",this.modalTitle=this.success?"All complete":"Sorry we've hit a problem",this.modalBody=this.success&&this.returnMessage==="AMBER"?"Thanks for updating your information! We've passed this over to our Billing Team who will check you're on the best tariff. If any changes are made we'll be in touch":this.success&&this.returnMessage==="GREEN"?"That\u2019s all updated for you. Thanks so much for keeping your details up to date.":"Oh no, I am so sorry but that didn't seem to work, please make sure you have updated all the details and try again",this.openModal(this.templateRef)},E=>{this.spinner.hide(),this.success=!1,this.config.class=this.success?"success-modal":"danger-modal",this.modalTitle=this.success?"All complete":"Sorry we've hit a problem",this.modalBody=this.success?"Thanks for updating your information! We've passed this over to our Billing Team who will check you're on the best tariff. If any changes are made we'll be in touch":"Oh no, I am so sorry but that didn't seem to work, please make sure you have updated all the details and try again",this.openModal(this.templateRef)})}loadMore(){this.readingsRestrict=this.readingsRestrict+5,this.meters[this.selectedMeterIndex]?.readings.length<this.readingsRestrict&&(this.readingsRestrict=this.meters[this.selectedMeterIndex]?.readings.length)}openModal(E){this.modalRef=this.modalService.show(E,Object.assign({},this.config)),this.subscriptions.push(this.modalService.onHide.subscribe(H=>{H==="backdrop-click"&&this.success&&this.onCancel()}))}closeModal(){if(this.modalRef)this.success&&this.onCancel();else return;this.modalRef.hide(),this.modalRef=null}onDeactivate(E){this.pageScrollService.scroll({document:this.document,scrollTarget:"#topnav",duration:100})}ngOnDestroy(){this.meterSubscription.unsubscribe(),this.propertySubscription.unsubscribe()}logAlert(E){this.analyticsService.selectPromotion(null,E,E)}};k.\u0275fac=function(H){return new(H||k)(Ot(Me),Ot(es),Ot(Te),Ot(ls),Ot(Vi),Ot(hs),Ot(ji),Ot(Ri),Ot(ui),Ot(Di),Ot(Ii),Ot($i))},k.\u0275cmp=Qt({type:k,selectors:[["app-usage"]],viewQuery:function(H,J){if(H&1&&ni(js,5),H&2){let nt;ai(nt=li())&&(J.templateRef=nt.first)}},decls:10,vars:5,consts:[["outlet","outlet"],["template",""],[3,"alerts","showWelcome","pageHeader",4,"ngIf"],["class","container p-0 mt-3 mb-3",4,"ngIf"],["class","py-11",3,"ngClass",4,"ngIf"],[4,"ngIf"],[3,"deactivate"],[3,"alerts","showWelcome","pageHeader"],[1,"container","p-0","mt-3","mb-3"],["type","success mt-4","role","alert"],[1,"row","vertical-align"],[1,"col-lg-2",".d-none",".d-sm-block","text-center","px-5","py-2"],["size","4x",3,"icon"],[1,"col-lg-10","text-center","text-lg-left"],["href","https://www.savewatersavemoney.co.uk/southeast/free-water-saving-products?utm_source=MyAccount&utm_medium=devices",1,"btn","btn-info","float-right","mt-auto","mb-1","mr-2",3,"click"],[1,"text-center"],["routerLink","../supply","href","#topnav","pageScroll","",3,"pageScrollDuration"],[1,"py-11",3,"ngClass"],["class","container",4,"ngIf"],[1,"container","bg-white"],[1,"row"],[1,"col-12","text-center"],[1,"my-5"],[1,"form"],["class","form-control","id","meter","name","meter",3,"ngModel","change","ngModelChange",4,"ngIf"],[1,"table"],[1,"text-right"],["class","text-right d-none d-lg-table-cell",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"col-12","pb-3"],["class","btn btn-dark btn-block p-4","href","#endList","pageScroll","",3,"pageScrollDuration","click",4,"ngIf"],["id","endList"],[1,"container"],[1,"card","col-12","text-white","text-center"],["type","pills"],["heading","Latest",1,"p-0","p-md-2","text-white"],[1,"card-body","p-0"],[1,"row","px-5"],[1,"col-md-12"],["class","my-3",4,"ngIf"],["class","text-muted mb-5",4,"ngIf"],["class","col-md-12 p-12 border-primary mt-5","style","background-color: #f8f8f8",4,"ngIf"],["class","col-md-8 border border-info border-15",4,"ngIf"],["class","col-md-4 text-center bg-info py-5 px-3",4,"ngIf"],["class","col-md-12",4,"ngIf"],["heading","History",1,"p-0","p-md-2"],[1,"card-body","p-0","text-center"],[1,"mb-3"],[1,"text-muted","mb-5"],["id","container","style","display: block",3,"Highcharts","callbackFunction","options","constructorType","update","updateChange",4,"ngIf"],[1,"my-3"],[1,"col-md-12","p-12","border-primary","mt-5",2,"background-color","#f8f8f8"],[1,"col-md-8","border","border-info","border-15"],["id","container",2,"display","block",3,"updateChange","Highcharts","callbackFunction","options","constructorType","update"],[1,"col-md-4","text-center","bg-info","py-5","px-3"],[1,"fal","fa-smile-beam","fa-10x","text-success","mb-5"],[1,"h4","text-success"],[1,"fal","fa-smile","fa-10x","text-warning","mb-5"],[1,"h4","text-warning"],[1,"fal","fa-frown","fa-10x","text-danger","mb-5"],[1,"h4","text-danger"],[1,"text-muted"],["id","meter","name","meter",1,"form-control",3,"change","ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"text-right","d-none","d-lg-table-cell"],[1,"py-2"],[1,"text-dark"],[1,"py-4","text-right","align-middle"],[1,"d-block","d-lg-none","text-muted","small"],[1,"py-4","text-right","align-middle","d-none","d-lg-table-cell"],["href","#endList","pageScroll","",1,"btn","btn-dark","btn-block","p-4",3,"click","pageScrollDuration"],[3,"campaign",4,"ngFor","ngForOf"],[3,"campaign"],[1,"icon-circle"],[1,"modal-header","justify-content-center"],[1,"modal-title",3,"innerHTML"],[1,"modal-body"],[1,"text-center",3,"innerHTML"],[1,"modal-footer","justify-content-center"],["type","button",1,"btn","btn-dark",3,"click"],[3,"ngClass"],[1,"icon-circle-inner","bg-active"],["xmlns","http://www.w3.org/2000/svg","width","279.5","height","268.79","viewBox","0 0 279.5 268.79",1,"pentagon"],["d","M856.134,1644.16a30,30,0,0,1-35.268,0L711.1,1564.41a30.009,30.009,0,0,1-10.9-33.55l41.926-129.04a30,30,0,0,1,28.532-20.73H906.338a30,30,0,0,1,28.532,20.73L976.8,1530.86a30.009,30.009,0,0,1-10.9,33.55Z","transform","translate(-698.75 -1381.09)"],["xmlns","http://www.w3.org/2000/svg","viewBox","0 0 448 512","fill","white"],["d","M413.505 91.951L133.49 371.966l-98.995-98.995c-4.686-4.686-12.284-4.686-16.971 0L6.211 284.284c-4.686 4.686-4.686 12.284 0 16.971l118.794 118.794c4.686 4.686 12.284 4.686 16.971 0l299.813-299.813c4.686-4.686 4.686-12.284 0-16.971l-11.314-11.314c-4.686-4.686-12.284-4.686-16.97 0z"],[1,"icon-circle-inner","bg-danger"],["xmlns","http://www.w3.org/2000/svg","viewBox","0 0 512 512"],["d","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2
262.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z"]],template:function(H,J){if(H&1){let nt=Ht();Dt(0,Rs,1,3,"app-page-head",2)(1,Ns,3,2,"section",3)(2,dr,28,17,"section",4)(3,pr,1,0,"app-water-saving-top-tips",5)(4,gr,2,1,"section",5),bt(5,"section")(6,"router-outlet",6,0),Gt("deactivate",function(lt){return Nt(nt),zt(J.onDeactivate(lt))}),vt()(),Dt(8,br,10,4,"ng-template",null,1,pi)}if(H&2){let nt=hi(7);kt("ngIf",nt.isActivated==!1),St(),kt("ngIf",nt.isActivated==!1),St(),kt("ngIf",nt.isActivated==!1),St(),kt("ngIf",nt.isActivated==!1),St(),kt("ngIf",nt.isActivated==!1)}},dependencies:[Ei,Oi,Bi,Ni,fe,xe,ye,Gi,Xi,Yi,Ui,zi,Wi,Hi,Fi,Pi,Li,_i,Zi,rs,Xe,cs,fi,mi,gi,Qi,is],styles:[".ngx-charts g .grid-panel.odd rect{fill:none}.tab-pane[_ngcontent-%COMP%]{margin-top:2px;padding:1.2rem 2.2rem 2.2rem}.border-15[_ngcontent-%COMP%]{border-width:15px!important}"],data:{animation:[yi("enterAnimation",[He(":enter",[oe({transform:"translateY(100%)",opacity:0}),Fe("500ms",oe({transform:"translateY(0)",opacity:1,"overflow-y":"hidden"}))]),He(":leave",[oe({transform:"translateX(0)",opacity:1}),Fe("500ms",oe({transform:"translateX(100%)",opacity:0}))])])]}});let pt=k;return pt})();var vr=()=>ti(pt=>pt?!0:["auth/login"]),Cr=[{path:"",component:ps,data:{authGuardPipe:vr},canActivate:[qi],resolve:{settings:Ue}}],us=(()=>{let k=class k{};k.\u0275fac=function(H){return new(H||k)},k.\u0275mod=Kt({type:k}),k.\u0275inj=qt({providers:[Ue],imports:[Ge.forChild(Cr),Ge]});let pt=k;return pt})();var Ho=(()=>{let k=class k{};k.\u0275fac=function(H){return new(H||k)},k.\u0275mod=Kt({type:k}),k.\u0275inj=qt({imports:[us,Ji,ts,ss,os.forRoot(),ds]});let pt=k;return pt})();export{Ho as UsageModule};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.