From 3cd7341838a0aabbb58279f546feaea951695fd8 Mon Sep 17 00:00:00 2001 From: Mandy Chen Date: Mon, 20 May 2024 02:23:09 -0700 Subject: [PATCH] Updates --- asset-manifest.json | 12 ++++++------ index.html | 2 +- static/css/{main.92e7ade7.css => main.062f5701.css} | 4 ++-- static/css/main.062f5701.css.map | 1 + static/css/main.92e7ade7.css.map | 1 - static/js/{main.49e616ce.js => main.172bdcc7.js} | 6 +++--- ...e.js.LICENSE.txt => main.172bdcc7.js.LICENSE.txt} | 0 .../{main.49e616ce.js.map => main.172bdcc7.js.map} | 2 +- 8 files changed, 14 insertions(+), 14 deletions(-) rename static/css/{main.92e7ade7.css => main.062f5701.css} (59%) create mode 100644 static/css/main.062f5701.css.map delete mode 100644 static/css/main.92e7ade7.css.map rename static/js/{main.49e616ce.js => main.172bdcc7.js} (99%) rename static/js/{main.49e616ce.js.LICENSE.txt => main.172bdcc7.js.LICENSE.txt} (100%) rename static/js/{main.49e616ce.js.map => main.172bdcc7.js.map} (56%) diff --git a/asset-manifest.json b/asset-manifest.json index a587c6a..d79b4f8 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,15 +1,15 @@ { "files": { - "main.css": "/epa-uv/static/css/main.92e7ade7.css", - "main.js": "/epa-uv/static/js/main.49e616ce.js", + "main.css": "/epa-uv/static/css/main.062f5701.css", + "main.js": "/epa-uv/static/js/main.172bdcc7.js", "static/js/453.edda05fc.chunk.js": "/epa-uv/static/js/453.edda05fc.chunk.js", "index.html": "/epa-uv/index.html", - "main.92e7ade7.css.map": "/epa-uv/static/css/main.92e7ade7.css.map", - "main.49e616ce.js.map": "/epa-uv/static/js/main.49e616ce.js.map", + "main.062f5701.css.map": "/epa-uv/static/css/main.062f5701.css.map", + "main.172bdcc7.js.map": "/epa-uv/static/js/main.172bdcc7.js.map", "453.edda05fc.chunk.js.map": "/epa-uv/static/js/453.edda05fc.chunk.js.map" }, "entrypoints": [ - "static/css/main.92e7ade7.css", - "static/js/main.49e616ce.js" + "static/css/main.062f5701.css", + "static/js/main.172bdcc7.js" ] } \ No newline at end of file diff --git a/index.html b/index.html index 8412562..21f7057 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -React App
\ No newline at end of file +React App
\ No newline at end of file diff --git a/static/css/main.92e7ade7.css b/static/css/main.062f5701.css similarity index 59% rename from static/css/main.92e7ade7.css rename to static/css/main.062f5701.css index 630d88f..e1062c6 100644 --- a/static/css/main.92e7ade7.css +++ b/static/css/main.062f5701.css @@ -1,2 +1,2 @@ -@import url(https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap);h1,p{font-family:Lato}html{background-color:#eee8}#root,body{max-height:100vh}button{position:relative}.highcharts-series{filter:drop-shadow(1pt 2pt 1pt #1026)} -/*# sourceMappingURL=main.92e7ade7.css.map*/ \ No newline at end of file +@import url(https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap);h1,p{font-family:Lato}html{background-color:#eee8}#root,body{max-height:100vh}button{position:relative}.highcharts-series{filter:drop-shadow(1pt 2pt 1pt #1026)}.highcharts-legend text{cursor:auto!important}button:not(:disabled){cursor:pointer} +/*# sourceMappingURL=main.062f5701.css.map*/ \ No newline at end of file diff --git a/static/css/main.062f5701.css.map b/static/css/main.062f5701.css.map new file mode 100644 index 0000000..3a48ad3 --- /dev/null +++ b/static/css/main.062f5701.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/main.062f5701.css","mappings":"8IAEA,KAEE,gBACF,CAEA,KACE,sBACF,CACA,WAEE,gBACF,CAEA,OACE,iBACF,CAEA,mBACE,qCACF,CAEA,wBACE,qBACF,CAEA,sBACE,cACF","sources":["index.css"],"sourcesContent":["@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');\n\nh1,\np {\n font-family: Lato;\n}\n\nhtml {\n background-color: #eee8;\n}\nbody,\n#root {\n max-height: 100vh;\n}\n\nbutton {\n position: relative;\n}\n\n.highcharts-series {\n filter: drop-shadow( 1pt 2pt 1pt #1026);\n}\n\n.highcharts-legend text {\n cursor: auto !important;\n}\n\nbutton:not(:disabled) {\n cursor: pointer\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/css/main.92e7ade7.css.map b/static/css/main.92e7ade7.css.map deleted file mode 100644 index 538c7aa..0000000 --- a/static/css/main.92e7ade7.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/main.92e7ade7.css","mappings":"8IAEA,KAEE,gBACF,CAEA,KACE,sBACF,CACA,WAEE,gBACF,CAEA,OACE,iBACF,CAEA,mBACE,qCACF","sources":["index.css"],"sourcesContent":["@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');\n\nh1,\np {\n font-family: Lato;\n}\n\nhtml {\n background-color: #eee8;\n}\nbody,\n#root {\n max-height: 100vh;\n}\n\nbutton {\n position: relative;\n}\n\n.highcharts-series {\n filter: drop-shadow( 1pt 2pt 1pt #1026);\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/main.49e616ce.js b/static/js/main.172bdcc7.js similarity index 99% rename from static/js/main.49e616ce.js rename to static/js/main.172bdcc7.js index 11ba0ec..9962486 100644 --- a/static/js/main.49e616ce.js +++ b/static/js/main.172bdcc7.js @@ -1,3 +1,3 @@ -/*! For license information please see main.49e616ce.js.LICENSE.txt */ -(()=>{var t={999:function(t,e,i){var n;"undefined"!=typeof self&&self,t.exports=(n=i(43),function(t){function e(n){if(i[n])return i[n].exports;var r=i[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var i={};return e.m=t,e.c=i,e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=0)}([function(t,e,i){"use strict";function n(){return n=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var i=0,n=new Array(e);iparseInt(i.userAgent.split("Firefox/")[1],10),i.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],i.noop=function(){},i.supportsPassiveEvents=function(){let t=!1;if(!i.isMS){let e=Object.defineProperty({},"passive",{get:function(){t=!0}});i.win.addEventListener&&i.win.removeEventListener&&(i.win.addEventListener("testPassive",i.noop,e),i.win.removeEventListener("testPassive",i.noop,e))}return t}(),i.charts=[],i.composed=[],i.dateFormats={},i.seriesTypes={},i.symbolSizes={},i.chartCount=0,e})),i(e,"Core/Utilities.js",[e["Core/Globals.js"]],(function(t){let e,{charts:i,doc:n,win:r}=t;function s(e,i,n,o){let a=i?"Highcharts error":"Highcharts warning";32===e&&(e="".concat(a,": Deprecated member"));let l=u(e),h=l?"".concat(a," #").concat(e,": www.highcharts.com/errors/").concat(e,"/"):e.toString();if(void 0!==o){let t="";l&&(h+="?"),S(o,(function(e,i){t+="\n - ".concat(i,": ").concat(e),l&&(h+=encodeURI(i)+"="+encodeURI(e))})),h+=t}C(t,"displayError",{chart:n,code:e,message:h,params:o},(function(){if(i)throw Error(h);r.console&&-1===s.messages.indexOf(h)&&console.warn(h)})),s.messages.push(h)}function o(t,e){return parseInt(t,e||10)}function a(t){return"string"==typeof t}function l(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function h(t,e){return!!t&&"object"==typeof t&&(!e||!l(t))}function c(t){return h(t)&&"number"==typeof t.nodeType}function d(t){let e=t&&t.constructor;return!(!h(t,!0)||c(t)||!e||!e.name||"Object"===e.name)}function u(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function p(t){return null!=t}function f(t,e,i){let n,r=a(e)&&!p(i),s=(e,i)=>{p(e)?t.setAttribute(i,e):r?(n=t.getAttribute(i))||"class"!==i||(n=t.getAttribute(i+"Name")):t.removeAttribute(i)};return a(e)?s(i,e):S(e,s),n}function g(t){return l(t)?t:[t]}function m(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function y(){let t=arguments,e=t.length;for(let i=0;i1e14?t:parseFloat(t.toPrecision(e||14))}(s||(s={})).messages=[],Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)};let k=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i,n=t.length;for(i=0;it.order-e.order)),t.forEach((t=>{!1===t.fn.call(e,r)&&r.preventDefault()}))}s&&!r.defaultPrevented&&s.call(e,r)}S({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},(function(e,i){t[i]=function(t){return s(32,!1,void 0,{["Highcharts.".concat(i)]:"use Array.".concat(e)}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}}));let M=function(){let t=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(e?"":t)+i++}}();return r.jQuery&&(r.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new(t[a(e[0])?e.shift():"Chart"])(this[0],e[0],e[1]),this):i[f(this[0],"data-highcharts-chart")]}),{addEvent:function(e,i,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(s,"hcEvents")||(s.hcEvents={});let o=s.hcEvents;t.Point&&e instanceof t.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let a=e.addEventListener;a&&a.call(e,i,n,!!t.supportsPassiveEvents&&{passive:void 0===r.passive?-1!==i.indexOf("touch"):r.passive,capture:!1}),o[i]||(o[i]=[]);let l={fn:n,order:"number"==typeof r.order?r.order:1/0};return o[i].push(l),o[i].sort(((t,e)=>t.order-e.order)),function(){w(e,i,n)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]e?t-1&&r[c]){i=g(i),s[c]=[];for(let e=0;e{if(t.length>1)for(s=n=t.length-1;s>0;s--){var a;(r=t[s]-t[s-1])<0&&!o?(null!==(a=e)&&void 0!==a&&a(),e=void 0):r&&(void 0===i||r=i-1&&(i=Math.floor(n)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let a=r.getComputedStyle(e,void 0);return a&&(s=a.getPropertyValue(i),y(n,"opacity"!==i)&&(s=o(s))),s},inArray:function(t,e,i){return s(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i,n=t.options.index,r=e.length;for(i=t.options.isInternal?r:0;i=t))&&(r||!(a<=(e[s]+(e[s+1]||e[s]))/2)));s++);return x(o*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:S,offset:function(t){let e=n.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(r.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(r.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:y,pInt:o,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:w,replaceNested:function(t){let e,i;for(var n=arguments.length,r=new Array(n>1?n-1:0),s=1;s0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:M,useSerialIds:function(t){return e=y(t,e)},wrap:function(t,e,i){let n=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return n.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}}})),i(e,"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"}})),i(e,"Core/Color/Palettes.js",[],(function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}})),i(e,"Core/Time.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{win:i}=t,{defined:n,error:r,extend:s,isNumber:o,isObject:a,merge:l,objectEach:h,pad:c,pick:d,splat:u,timeUnits:p}=e,f=t.isSafari&&i.Intl&&i.Intl.DateTimeFormat.prototype.formatRange,g=t.isSafari&&i.Intl&&!i.Intl.DateTimeFormat.prototype.formatRange;class m{constructor(t){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=i.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(t)}get(t,e){if(this.variableTimezone||this.timezoneOffset){let i=e.getTime(),n=i-this.getTimezoneOffset(e);e.setTime(n);let r=e["getUTC"+t]();return e.setTime(i),r}return this.useUTC?e["getUTC"+t]():e["get"+t]()}set(t,e,i){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===t||"Seconds"===t||"Minutes"===t&&this.getTimezoneOffset(e)%36e5==0)return e["setUTC"+t](i);let n=this.getTimezoneOffset(e),r=e.getTime()-n;e.setTime(r),e["setUTC"+t](i);let s=this.getTimezoneOffset(e);return r=e.getTime()+s,e.setTime(r)}return this.useUTC||f&&"FullYear"===t?e["setUTC"+t](i):e["set"+t](i)}update(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=d(t.useUTC,!0);this.options=t=l(!0,this.options,t),this.Date=t.Date||i.Date||Date,this.useUTC=e,this.timezoneOffset=e&&t.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=e&&!(!t.getTimezoneOffset&&!t.timezone)}makeTime(t,e,i,n,r,s){let o,a,l;return this.useUTC?(o=this.Date.UTC.apply(0,arguments),a=this.getTimezoneOffset(o),o+=a,a!==(l=this.getTimezoneOffset(o))?o+=l-a:a-36e5!==this.getTimezoneOffset(o-36e5)||g||(o-=36e5)):o=new this.Date(t,e,d(i,1),d(n,0),d(r,0),d(s,0)).getTime(),o}timezoneOffsetFunction(){let t=this,e=this.options,i=e.getTimezoneOffset;return this.useUTC?e.timezone?t=>{try{let i="shortOffset,".concat(e.timezone||""),[n,r,s,a,l=0]=(m.formatCache[i]=m.formatCache[i]||Intl.DateTimeFormat("en",{timeZone:e.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),h=-36e5*(s+l/60);if(o(h))return h}catch(t){r(34)}return 0}:this.useUTC&&i?t=>6e4*i(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(e,i,r){if(!n(i)||isNaN(i))return t.defaultOptions.lang&&t.defaultOptions.lang.invalidDate||"";e=d(e,"%Y-%m-%d %H:%M:%S");let o=this,a=new this.Date(i),l=this.get("Hours",a),u=this.get("Day",a),p=this.get("Date",a),f=this.get("Month",a),g=this.get("FullYear",a),m=t.defaultOptions.lang,y=m&&m.weekdays,v=m&&m.shortWeekdays;return h(s({a:v?v[u]:y[u].substr(0,3),A:y[u],d:c(p),e:c(p,2," "),w:u,b:m.shortMonths[f],B:m.months[f],m:c(f+1),o:f+1,y:g.toString().substr(2,2),Y:g,H:c(l),k:l,I:c(l%12||12),l:l%12||12,M:c(this.get("Minutes",a)),p:l<12?"AM":"PM",P:l<12?"am":"pm",S:c(this.get("Seconds",a)),L:c(Math.floor(i%1e3),3)},t.dateFormats),(function(t,n){for(;-1!==e.indexOf("%"+n);)e=e.replace("%"+n,"function"==typeof t?t.call(o,i):t)})),r?e.substr(0,1).toUpperCase()+e.substr(1):e}resolveDTLFormat(t){return a(t,!0)?t:{main:(t=u(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,r){let o,a,l,h,c=this,u=c.Date,f=[],g={},m=new u(e),y=t.unitRange,v=t.count||1;if(r=d(r,1),n(e)){c.set("Milliseconds",m,y>=p.second?0:v*Math.floor(c.get("Milliseconds",m)/v)),y>=p.second&&c.set("Seconds",m,y>=p.minute?0:v*Math.floor(c.get("Seconds",m)/v)),y>=p.minute&&c.set("Minutes",m,y>=p.hour?0:v*Math.floor(c.get("Minutes",m)/v)),y>=p.hour&&c.set("Hours",m,y>=p.day?0:v*Math.floor(c.get("Hours",m)/v)),y>=p.day&&c.set("Date",m,y>=p.month?1:Math.max(1,v*Math.floor(c.get("Date",m)/v))),y>=p.month&&(c.set("Month",m,y>=p.year?0:v*Math.floor(c.get("Month",m)/v)),a=c.get("FullYear",m)),y>=p.year&&(a-=a%v,c.set("FullYear",m,a)),y===p.week&&(h=c.get("Day",m),c.set("Date",m,c.get("Date",m)-h+r+(h4*p.month||c.getTimezoneOffset(e)!==c.getTimezoneOffset(i));let u=m.getTime();for(o=1;u1?u=c.makeTime(a,t,s,d+o*v):u+=y*v:u=c.makeTime(a,t,s+o*v*(y===p.day?1:7)),o++;f.push(u),y<=p.hour&&f.length<1e4&&f.forEach((function(t){t%18e5==0&&"000000000"===c.dateFormat("%H%M%S%L",t)&&(g[t]="day")}))}return f.info=s(t,{higherRanks:g,totalRange:y*v}),f}getDateFormat(t,e,i,n){let r=this.dateFormat("%m-%d %H:%M:%S.%L",e),s="01-01 00:00:00.000",o={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond",l=a;for(a in p){if(t===p.week&&+this.dateFormat("%w",e)===i&&r.substr(6)===s.substr(6)){a="week";break}if(p[a]>t){a=l;break}if(o[a]&&r.substr(o[a])!==s.substr(o[a]))break;"week"!==a&&(l=a)}return this.resolveDTLFormat(n[a]).main}}return m.formatCache={},m})),i(e,"Core/Defaults.js",[e["Core/Chart/ChartDefaults.js"],e["Core/Globals.js"],e["Core/Color/Palettes.js"],e["Core/Time.js"],e["Core/Utilities.js"]],(function(t,e,i,n,r){let{isTouchDevice:s,svg:o}=e,{merge:a}=r,l={colors:i.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:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,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",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:o,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:s?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',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"}};l.chart.styledMode=!1;let h=new n(l.time);return{defaultOptions:l,defaultTime:h,getOptions:function(){return l},setOptions:function(t){return a(!0,l,t),(t.time||t.global)&&(e.time?e.time.update(a(l.global,l.time,t.global,t.time)):e.time=h),l}}})),i(e,"Core/Color/Color.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{isNumber:i,merge:n,pInt:r}=e;class s{static parse(t){return t?new s(t):s.None}constructor(e){let i,n,r,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=e;let a=t.Color;if(a&&a!==s)return new a(e);if("object"==typeof e&&void 0!==e.stops)this.stops=e.stops.map((t=>new s(t[1])));else if("string"==typeof e){if(this.input=e=s.names[e.toLowerCase()]||e,"#"===e.charAt(0)){let t=e.length,i=parseInt(e.substr(1),16);7===t?n=[(16711680&i)>>16,(65280&i)>>8,255&i,1]:4===t&&(n=[(3840&i)>>4|(3840&i)>>8,(240&i)>>4|240&i,(15&i)<<4|15&i,1])}if(!n)for(r=s.parsers.length;r--&&!n;)(i=(o=s.parsers[r]).regex.exec(e))&&(n=o.parse(i))}n&&(this.rgba=n)}get(t){let e=this.input,r=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=n(e);return i.stops=[].slice.call(i.stops),this.stops.forEach(((e,n)=>{i.stops[n]=[i.stops[n][0],e.get(t)]})),i}return r&&i(r[0])?"rgb"===t||!t&&1===r[3]?"rgb("+r[0]+","+r[1]+","+r[2]+")":"a"===t?"".concat(r[3]):"rgba("+r.join(",")+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach((function(e){e.brighten(t)}));else if(i(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=r(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let n=this.rgba,r=t.rgba;if(!i(n[0])||!i(r[0]))return t.input||"none";let s=1!==r[3]||1!==n[3];return(s?"rgba(":"rgb(")+Math.round(r[0]+(n[0]-r[0])*(1-e))+","+Math.round(r[1]+(n[1]-r[1])*(1-e))+","+Math.round(r[2]+(n[2]-r[2])*(1-e))+(s?","+(r[3]+(n[3]-r[3])*(1-e)):"")+")"}}return s.names={white:"#ffffff",black:"#000000"},s.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(t){return[r(t[1]),r(t[2]),r(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(t){return[r(t[1]),r(t[2]),r(t[3]),1]}}],s.None=new s(""),s})),i(e,"Core/Animation/Fx.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){let{parse:n}=t,{win:r}=e,{isNumber:s,objectEach:o}=i;class a{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],n=this.now||0,r=[];if(1!==n&&e&&i)if(e.length===i.length&&n<1)for(let o=0;o=l+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,o(h,(function(t){!0!==t&&(i=!1)})),i&&a&&a.call(s),e=!1):(this.pos=r.easing((n-this.startTime)/l),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let n,r,o,a,l=t.startX,h=t.endX,c=i.slice(),d=t.isArea,u=d?2:1,p=e&&e.slice();if(!p)return[c,c];function f(t,e){for(;t.length{let n=c(t.options.animation);a=o(e)&&i(e.defer)?r.defer:Math.max(a,n.duration+n.defer),l=Math.min(r.duration,n.duration)})),t.renderer.forExport&&(a=0),{defer:Math.max(0,a-l),duration:Math.min(a,l)}},setAnimation:function(t,e){e.renderer.globalAnimation=h(t,e.options.chart.animation,!0)},stop:d}})),i(e,"Core/Renderer/HTML/AST.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{SVG_NS:i,win:n}=t,{attr:r,createElement:s,css:o,error:a,isFunction:l,isString:h,objectEach:c,splat:d}=e,{trustedTypes:u}=n,p=u&&l(u.createPolicy)&&u.createPolicy("highcharts",{createHTML:t=>t}),f=p?p.createHTML(""):"",g=function(){try{return!!(new DOMParser).parseFromString(f,"text/html")}catch(t){return!1}}();class m{static filterUserAttributes(t){return c(t,((e,i)=>{let n=!0;-1===m.allowedAttributes.indexOf(i)&&(n=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(n=h(e)&&m.allowedReferences.some((t=>0===e.indexOf(t)))),n||(a(33,!1,void 0,{"Invalid attribute in config":"".concat(i)}),delete t[i]),h(e)&&t[i]&&(t[i]=e.replace(/{let i=e.split(":").map((t=>t.trim())),n=i.shift();return n&&i.length&&(t[n.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))]=i.join(":")),t}),{})}static setElementHTML(t,e){t.innerHTML=m.emptyHTML,e&&new m(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(e){return function e(n,s){let l;return d(n).forEach((function(n){let h,d=n.tagName,u=n.textContent?t.doc.createTextNode(n.textContent):void 0,p=m.bypassHTMLFiltering;if(d)if("#text"===d)h=u;else if(-1!==m.allowedTags.indexOf(d)||p){let a="svg"===d?i:s.namespaceURI||i,l=t.doc.createElementNS(a,d),f=n.attributes||{};c(n,(function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(f[e]=t)})),r(l,p?f:m.filterUserAttributes(f)),n.style&&o(l,n.style),u&&l.appendChild(u),e(n.children||[],l),h=l}else a(33,!1,void 0,{"Invalid tagName in config":d});h&&s.appendChild(h),l=h})),l}(this.nodes,e)}parseMarkup(t){let e,i=[];if(t=t.trim().replace(/ style=(["'])/g," data-style=$1"),g)e=(new DOMParser).parseFromString(p?p.createHTML(t):t,"text/html");else{let i=s("div");i.innerHTML=t,e={body:i}}let n=(t,e)=>{let i=t.nodeName.toLowerCase(),r={tagName:i};"#text"===i&&(r.textContent=t.textContent||"");let s=t.attributes;if(s){let t={};[].forEach.call(s,(e=>{"data-style"===e.name?r.style=m.parseStyle(e.value):t[e.name]=e.value})),r.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,(t=>{n(t,e)})),e.length&&(r.children=e)}e.push(r)};return[].forEach.call(e.body.childNodes,(t=>n(t,i))),i}}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","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","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","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","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})),i(e,"Core/Templating.js",[e["Core/Defaults.js"],e["Core/Utilities.js"]],(function(t,e){let{defaultOptions:i,defaultTime:n}=t,{extend:r,getNestedProperty:s,isArray:o,isNumber:a,isObject:l,pick:h,pInt:c}=e,d={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!o(t)&&t.map(((i,n)=>u(e.body,r(l(i)?i:{"@this":i},{"@index":n,"@first":0===n,"@last":n===t.length-1})))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function u(){let t,e,r,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=arguments.length>1?arguments[1]:void 0,l=arguments.length>2?arguments[2]:void 0,c=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,f=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,g=[],m=/f$/,y=/\.([0-9])/,v=i.lang,b=l&&l.time||n,x=l&&l.numberFormatter||p,k=function(){let t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return"true"===e||"false"!==e&&((t=Number(e)).toString()===e?t:s(e,a))},S=0;for(;null!==(t=c.exec(o));){var w;let i=f.exec(t[1]);i&&(t=i,r=!0),e&&e.isBlock||(e={ctx:a,expression:t[1],find:t[0],isBlock:"#"===t[1].charAt(0),start:t.index,startInner:t.index+t[0].length,length:t[0].length});let n=t[1].split(" ")[0].replace("#","");d[n]&&(e.isBlock&&n===e.fn&&S++,e.fn||(e.fn=n));let s="else"===t[1];if(e.isBlock&&e.fn&&(t[1]==="/".concat(e.fn)||s))if(S)!s&&S--;else{let i=e.startInner,n=o.substr(i,t.index-i);void 0===e.body?(e.body=n,e.startInner=t.index+t[0].length):e.elseBody=n,e.find+=n+t[0],s||(g.push(e),e=void 0)}else e.isBlock||g.push(e);if(i&&(null===(w=e)||void 0===w||!w.isBlock))break}return g.forEach((t=>{let e,i,{body:n,elseBody:r,expression:s,fn:l}=t;if(l){let o=[t],h=s.split(" ");for(i=d[l].length;i--;)o.unshift(k(h[i+1]));e=d[l].apply(a,o),t.isBlock&&"boolean"==typeof e&&(e=u(e?n:r,a))}else{let t=s.split(":");if(e=k(t.shift()||""),t.length&&"number"==typeof e){let i=t.join(":");if(m.test(i)){let t=parseInt((i.match(y)||["","-1"])[1],10);null!==e&&(e=x(e,t,v.decimalPoint,i.indexOf(",")>-1?v.thousandsSep:""))}else e=b.dateFormat(i,e)}}o=o.replace(t.find,h(e,""))})),r?u(o,a,l):o}function p(t,e,n,r){let s,o;t=+t||0,e=+e;let l=i.lang,d=(t.toString().split(".")[1]||"").split("e")[0].length,u=t.toString().split("e"),p=e;-1===e?e=Math.min(d,20):a(e)?e&&u[1]&&u[1]<0&&((o=e+ +u[1])>=0?(u[0]=(+u[0]).toExponential(o).split("e")[0],e=o):(u[0]=u[0].split(".")[0]||0,t=e<20?(u[0]*Math.pow(10,u[1])).toFixed(e):0,u[1]=0)):e=2;let f=(Math.abs(u[1]?u[0]:t)+Math.pow(10,-Math.max(e,d)-1)).toFixed(e),g=String(c(f)),m=g.length>3?g.length%3:0;return n=h(n,l.decimalPoint),r=h(r,l.thousandsSep),s=(t<0?"-":"")+(m?g.substr(0,m)+r:""),0>+u[1]&&!p?s="0":s+=g.substr(m).replace(/(\d{3})(?=\d)/g,"$1"+r),e&&(s+=n+f.slice(-e)),u[1]&&0!=+s&&(s+="e"+u[1]),s}return{dateFormat:function(t,e,i){return n.dateFormat(t,e,i)},format:u,helpers:d,numberFormat:p}})),i(e,"Core/Renderer/RendererRegistry.js",[e["Core/Globals.js"]],(function(t){var e,i;let n;return(i=e||(e={})).rendererTypes={},i.getRendererType=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n;return i.rendererTypes[t]||i.rendererTypes[n]},i.registerRendererType=function(e,r,s){i.rendererTypes[e]=r,(!n||s)&&(n=e,t.Renderer=r)},e})),i(e,"Core/Renderer/RendererUtilities.js",[e["Core/Utilities.js"]],(function(t){var e;let{clamp:i,pick:n,pushUnique:r,stableSort:s}=t;return(e||(e={})).distribute=function t(e,o,a){let l,h,c,d,u,p,f=e,g=f.reducedLen||o,m=(t,e)=>t.target-e.target,y=[],v=e.length,b=[],x=y.push,k=!0,S=0;for(l=v;l--;)S+=e[l].size;if(S>g){for(s(e,((t,e)=>(e.rank||0)-(t.rank||0))),c=(p=e[0].rank===e[e.length-1].rank)?v/2:-1,h=p?c:v-1;c&&S>g;)d=e[l=Math.floor(h)],r(b,l)&&(S-=d.size),h+=c,p&&h>=e.length&&(c/=2,h=c);b.sort(((t,e)=>e-t)).forEach((t=>x.apply(y,e.splice(t,1))))}for(s(e,m),e=e.map((t=>({size:t.size,targets:[t.target],align:n(t.align,.5)})));k;){for(l=e.length;l--;)d=e[l],u=(Math.min.apply(0,d.targets)+Math.max.apply(0,d.targets))/2,d.pos=i(u-d.size*d.align,0,o-d.size);for(l=e.length,k=!1;l--;)l>0&&e[l-1].pos+e[l-1].size>e[l].pos&&(e[l-1].size+=e[l].size,e[l-1].targets=e[l-1].targets.concat(e[l].targets),e[l-1].align=.5,e[l-1].pos+e[l-1].size>o&&(e[l-1].pos=o-e[l-1].size),e.splice(l,1),k=!0)}return x.apply(f,y),l=0,e.some((e=>{let i=0;return(e.targets||[]).some((()=>(f[l].pos=e.pos+i,void 0!==a&&Math.abs(f[l].pos-f[l].target)>a?(f.slice(0,l+1).forEach((t=>delete t.pos)),f.reducedLen=(f.reducedLen||o)-.1*o,f.reducedLen>.1*o&&t(f,o,a),!0):(i+=f[l].size,l++,!1))))})),s(f,m),f},e})),i(e,"Core/Renderer/SVG/SVGElement.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i,n){let{animate:r,animObject:s,stop:o}=t,{deg2rad:a,doc:l,svg:h,SVG_NS:c,win:d}=i,{addEvent:u,attr:p,createElement:f,css:g,defined:m,erase:y,extend:v,fireEvent:b,isArray:x,isFunction:k,isObject:S,isString:w,merge:C,objectEach:M,pick:T,pInt:P,replaceNested:E,syncTimeout:A,uniqueKey:L}=n;class O{_defaultGetter(t){let e=T(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^[\-0-9\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,n=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(n),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce((function(t,e){return-1===i.indexOf(e)&&t.push(e),t}),i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i){let n,r,s,o,a,l=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],h={},c=this.renderer,d=c.alignedObjects;t?(this.alignOptions=t,this.alignByTranslate=e,(!i||w(i))&&(this.alignTo=s=i||"renderer",y(d,this),d.push(this),i=void 0)):(t=this.alignOptions,e=this.alignByTranslate,s=this.alignTo),i=T(i,c[s],c);let u=t.align,p=t.verticalAlign;return n=(i.x||0)+(t.x||0),r=(i.y||0)+(t.y||0),"right"===u?o=1:"center"===u&&(o=2),o&&(n+=(i.width-(t.width||0))/o),h[e?"translateX":"x"]=Math.round(n),"bottom"===p?a=1:"middle"===p&&(a=2),a&&(r+=(i.height-(t.height||0))/a),h[e?"translateY":"y"]=Math.round(r),l&&(this[this.placed?"animate":"attr"](h),this.placed=!0),this.alignAttr=h,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let n=s(T(e,this.renderer.globalAnimation,!0)),o=n.defer;return l.hidden&&(n.duration=0),0!==n.duration?(i&&(n.complete=i),A((()=>{this.element&&r(this,t,n)}),o)):(this.attr(t,void 0,i||n.complete),M(t,(function(t,e){n.step&&n.step.call(this,t,{prop:e,pos:1,elem:this})}),this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let n=t.split(" "),r=n[n.length-1],s=n[0];if(s&&"none"!==s&&i.svg){this.fakeTS=!0,s=s.replace(/(^[\d\.]+)(.*?)$/g,(function(t,e,i){return 2*Number(e)+i})),this.removeTextOutline();let t=l.createElementNS(c,"tspan");p(t,{class:"highcharts-text-outline",fill:r,stroke:r,"stroke-width":s,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,(e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach((t=>i.removeAttribute(t))),t.appendChild(i)}));let n=0;[].forEach.call(i.querySelectorAll("text tspan"),(t=>{n+=Number(t.getAttribute("dy"))}));let o=l.createElementNS(c,"tspan");o.textContent="\u200b",p(o,{x:Number(e.getAttribute("x")),dy:-n}),t.appendChild(o),i.insertBefore(t,i.firstChild)}}attr(t,e,i,n){let r,s,a,l=this.element,h=O.symbolCustomAttribs,c=this;return"string"==typeof t&&void 0!==e&&(r=t,(t={})[r]=e),"string"==typeof t?c=(this[t+"Getter"]||this._defaultGetter).call(this,t,l):(M(t,(function(e,i){a=!1,n||o(this,i),this.symbolName&&-1!==h.indexOf(i)&&(s||(this.symbolAttr(t),s=!0),a=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),a||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,l)}),this),this.afterSetters()),i&&i.call(this),c}clip(t){if(t&&!t.clipPath){let e=L()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);v(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?"url(".concat(this.renderer.url,"#").concat(t.id,")"):"none")}crisp(t,e){let i=Math.round(e=e||t.strokeWidth||0)%2/2;return t.x=Math.floor(t.x||this.x||0)+i,t.y=Math.floor(t.y||this.y||0)+i,t.width=Math.floor((t.width||this.width||0)-2*i),t.height=Math.floor((t.height||this.height||0)-2*i),m(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,i,n){let r,s,o,a,l,h,c,d,u,p,f,g=this.renderer,y=[];b(this.renderer,"complexColor",{args:arguments},(function(){if(t.radialGradient?s="radialGradient":t.linearGradient&&(s="linearGradient"),s){if(o=t[s],l=g.gradients,h=t.stops,u=n.radialReference,x(o)&&(t[s]=o={x1:o[0],y1:o[1],x2:o[2],y2:o[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===s&&u&&!m(o.gradientUnits)&&(a=o,o=C(o,g.getRadialAttr(u,a),{gradientUnits:"userSpaceOnUse"})),M(o,(function(t,e){"id"!==e&&y.push(e,t)})),M(h,(function(t){y.push(t)})),l[y=y.join(",")])p=l[y].attr("id");else{o.id=p=L();let t=l[y]=g.createElement(s).attr(o).add(g.defs);t.radAttr=a,t.stops=[],h.forEach((function(i){0===i[1].indexOf("rgba")?(c=(r=e.parse(i[1])).get("rgb"),d=r.get("a")):(c=i[1],d=1);let n=g.createElement("stop").attr({offset:i[0],"stop-color":c,"stop-opacity":d}).add(t);t.stops.push(n)}))}f="url("+g.url+"#"+p+")",n.setAttribute(i,f),n.gradient=y,t.toString=function(){return f}}}))}css(t){let e,i=this.styles,n={},r=this.element,s=!i;if(i&&M(t,(function(t,e){i&&i[e]!==t&&(n[e]=t,s=!0)})),s){i&&(t=v(i,n)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===r.nodeName.toLowerCase()&&t.width&&(e=this.textWidth=P(t.width)),v(this.styles,t),e&&!h&&this.renderer.forExport&&delete t.width;let s=C(t);r.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach((t=>s&&delete s[t])),s.color&&(s.fill=s.color)),g(r,s)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let n=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=n.length;e--;)n[e]=""+P(n[e])*T(i,NaN);t=n.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){var t;let e,i,n=this,r=n.element||{},s=n.renderer,a=r.ownerSVGElement,l="SPAN"===r.nodeName&&n.parentGroup||void 0;if(r.onclick=r.onmouseout=r.onmouseover=r.onmousemove=r.point=null,o(n),n.clipPath&&a){let t=n.clipPath;[].forEach.call(a.querySelectorAll("[clip-path],[CLIP-PATH]"),(function(e){e.getAttribute("clip-path").indexOf(t.element.id)>-1&&e.removeAttribute("clip-path")})),n.clipPath=t.destroy()}if(n.connector=null===(t=n.connector)||void 0===t?void 0:t.destroy(),n.stops){for(i=0;ie&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString()),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,n,r,s,{alignValue:o,element:a,renderer:l,styles:h,textStr:c}=this,{cache:d,cacheKeys:u}=l,p=a.namespaceURI===this.SVG_NS,f=T(e,this.rotation,0),y=l.styledMode?a&&O.prototype.getStyle.call(a,"font-size"):h.fontSize;if(m(c)&&(-1===(s=c.toString()).indexOf("<")&&(s=s.replace(/[0-9]/g,"0")),s+=["",l.rootFontSize,y,f,this.textWidth,o,h.textOverflow,h.fontWeight].join(",")),s&&!t&&(i=d[s]),!i){if(p||l.forExport){try{r=this.fakeTS&&function(t){let e=a.querySelector(".highcharts-text-outline");e&&g(e,{display:t})},k(r)&&r("none"),i=a.getBBox?v({},a.getBBox()):{width:a.offsetWidth,height:a.offsetHeight,x:0,y:0},k(r)&&r("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();n=i.height,p&&(i.height=n={"11px,17":14,"13px,20":16}["".concat(y||"",",").concat(Math.round(n))]||n),f&&(i=this.getRotatedBox(i,f))}if(s&&(""===c||i.height>0)){for(;u.length>250;)delete d[u.shift()];d[s]||u.push(s),d[s]=i}return i}getRotatedBox(t,e){let{x:i,y:n,width:r,height:s}=t,{alignValue:o,translateY:l,rotationOriginX:h=0,rotationOriginY:c=0}=this,d={right:1,center:.5}[o||0]||0,u=Number(this.element.getAttribute("y")||0)-(l?0:n),p=e*a,f=(e-90)*a,g=Math.cos(p),m=Math.sin(p),y=r*g,v=r*m,b=Math.cos(f),x=Math.sin(f),[[k,S],[w,C]]=[h,c].map((t=>[t-t*g,t*m])),M=i+d*(r-y)+k+C+u*b,T=M+y,P=T-s*b,E=P-y,A=n+u-d*v-S+w+u*x,L=A+v,O=L-s*x,D=O-v,I=Math.min(M,T,P,E),z=Math.min(A,L,O,D);return{x:I,y:z,width:Math.max(M,T,P,E)-I,height:Math.max(A,L,O,D)-z}}getStyle(t){return d.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=c,this.element="span"===e||"body"===e?f(e):l.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},b(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=u(this.element,t,e),this}opacitySetter(t,e,i){let n=Number(Number(t).toFixed(3));this.opacity=n,i.setAttribute(e,n)}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(w(t)?RegExp("(^| )".concat(t,"( |$)")):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}setTextPath(t,e){e=C(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let i=this.renderer.url,n=this.text||this,r=n.textPath,{attributes:s,enabled:o}=e;if(t=t||r&&r.path,r&&r.undo(),t&&o){let e=u(n,"afterModifyTree",(e=>{if(t&&o){let r=t.attr("id");r||t.attr("id",r=L());let o={x:0,y:0};m(s.dx)&&(o.dx=s.dx,delete s.dx),m(s.dy)&&(o.dy=s.dy,delete s.dy),n.attr(o),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let a=e.nodes.slice(0);e.nodes.length=0,e.nodes[0]={tagName:"textPath",attributes:v(s,{"text-anchor":s.textAnchor,href:"".concat(i,"#").concat(r)}),children:a}}}));n.textPath={path:t,undo:e}}else n.attr({dx:0,dy:0}),delete n.textPath;return this.added&&(n.textCache="",this.renderer.buildText(n)),this}shadow(t){var e;let{renderer:i}=this,n=C(90===(null===(e=this.parentGroup)||void 0===e?void 0:e.rotation)?{offsetX:-1,offsetY:-1}:{},S(t)?t:{}),r=i.shadowDefinition(n);return this.attr({filter:t?"url(".concat(i.url,"#").concat(r,")"):"none"})}show(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t,e=this.getStyle("stroke-width"),i=0;return/px$/.test(e)?i=P(e):""!==e&&(p(t=l.createElementNS(c,"rect"),{width:e,"stroke-width":0}),this.element.parentNode.appendChild(t),i=t.getBBox().width,t.parentNode.removeChild(t)),i}symbolAttr(t){let e=this;O.symbolCustomAttribs.forEach((function(i){e[i]=T(t[i],e[i])})),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this))}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||l.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=E(T(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(){var t;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"transform",{element:i,matrix:n,rotation:r=0,rotationOriginX:s,rotationOriginY:o,scaleX:a,scaleY:l,translateX:h=0,translateY:c=0}=this,d=["translate("+h+","+c+")"];m(n)&&d.push("matrix("+n.join(",")+")"),r&&(d.push("rotate("+r+" "+T(s,i.getAttribute("x"),0)+" "+T(o,i.getAttribute("y")||0)+")"),"SPAN"===(null===(t=this.text)||void 0===t?void 0:t.element.tagName)&&this.text.attr({rotation:r,rotationOriginX:(s||0)-this.padding,rotationOriginY:(o||0)-this.padding})),(m(a)||m(l))&&d.push("scale("+T(a,1)+" "+T(l,1)+")"),d.length&&!(this.text||this).textPath&&i.setAttribute(e,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i,n,r,s,o,a=this.renderer,l=this.parentGroup,h=(l||a).element||a.box,c=this.element,d=h===a.box,u=!1,p=this.added;if(m(t)?(c.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):m(this[e])&&c.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&l&&(l.handleZ=!0),o=(i=h.childNodes).length-1;o>=0&&!u;o--)s=!m(r=(n=i[o]).getAttribute("data-z-index")),n!==c&&(t<0&&s&&!d&&!o?(h.insertBefore(c,i[o]),u=!0):(P(r)<=t||s&&(!m(t)||t>=0))&&(h.insertBefore(c,i[o+1]),u=!0));u||(h.insertBefore(c,i[d?3:0]),u=!0)}return u}}return O.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],O.prototype.strokeSetter=O.prototype.fillSetter,O.prototype.yGetter=O.prototype.xGetter,O.prototype.matrixSetter=O.prototype.rotationOriginXSetter=O.prototype.rotationOriginYSetter=O.prototype.rotationSetter=O.prototype.scaleXSetter=O.prototype.scaleYSetter=O.prototype.translateXSetter=O.prototype.translateYSetter=O.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},O})),i(e,"Core/Renderer/SVG/SVGLabel.js",[e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],(function(t,e){let{defined:i,extend:n,isNumber:r,merge:s,pick:o,removeEvent:a}=e;class l extends t{constructor(t,e,i,n,r,s,o,a,h,c){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=e,this.x=i,this.y=n,this.anchorX=s,this.anchorY=o,this.baseline=h,this.className=c,this.addClass("button"===c?"highcharts-no-tooltip":"highcharts-label"),c&&this.addClass("highcharts-"+c),this.text=t.text(void 0,0,0,a).attr({zIndex:1}),"string"==typeof r&&((d=/^url\((.*?)\)$/.test(r))||this.renderer.symbols[r])&&(this.symbolKey=r),this.bBox=l.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e={left:0,center:.5,right:1}[t];e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&r(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(e){if(e){let t={};e=s(e),l.textProps.forEach((i=>{void 0!==e[i]&&(t[i]=e[i],delete e[i])})),this.text.css(t),"fontSize"in t||"fontWeight"in t?this.updateTextPadding():("width"in t||"textOverflow"in t)&&this.updateBoxSize()}return t.prototype.css.call(this,e)}destroy(){a(this.element,"mouseenter"),a(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:n=0,translateX:r=0,translateY:s=0,width:a=0}=this,l=o(this.paddingLeft,i),h=null!==e&&void 0!==e?e:this.rotation||0,c={width:a,height:n,x:r+this.bBox.x-l,y:s+this.bBox.y-i+this.baselineOffset};return h&&(c=this.getRotatedBox(c,h)),c}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t}onAdd(){this.text.add(this),this.attr({text:o(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&i(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){r(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding()}updateBoxSize(){let t,e=this.text,s={},o=this.padding,a=this.bBox=r(this.widthSetting)&&r(this.heightSetting)&&!this.textAlign||!i(e.textStr)?l.emptyBBox:e.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||a.height||0)+2*o;let h=this.renderer.fontMetrics(e);if(this.baselineOffset=o+Math.min((this.text.firstLineMetrics||h).b,a.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-h.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),s.x=t,s.y=(this.baseline?-this.baselineOffset:0)+t,s.width=Math.round(this.width),s.height=Math.round(this.height),this.box.attr(n(s,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text;if(!t.textPath){this.updateBoxSize();let e=this.baseline?0:this.baselineOffset,n=o(this.paddingLeft,this.padding);i(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(n+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(n!==t.x||e!==t.y)&&(t.attr("x",n),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==e&&t.attr("y",e)),t.x=n,t.y=e}}widthSetter(t){this.widthSetting=r(t)?t:void 0}getPaddedWidth(){let t=this.padding,e=o(this.paddingLeft,t),i=o(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return l.emptyBBox={width:0,height:0,x:0,y:0},l.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],l})),i(e,"Core/Renderer/SVG/Symbols.js",[e["Core/Utilities.js"]],(function(t){let{defined:e,isNumber:i,pick:n}=t;function r(t,i,r,s,o){let a=[];if(o){let l=o.start||0,h=n(o.r,r),c=n(o.r,s||r),d=.001>Math.abs((o.end||0)-l-2*Math.PI),u=(o.end||0)-.001,p=o.innerR,f=n(o.open,d),g=Math.cos(l),m=Math.sin(l),y=Math.cos(u),v=Math.sin(u),b=n(o.longArc,u-l-Math.PI<.001?0:1),x=["A",h,c,0,b,n(o.clockwise,1),t+h*y,i+c*v];x.params={start:l,end:u,cx:t,cy:i},a.push(["M",t+h*g,i+c*m],x),e(p)&&((x=["A",p,p,0,b,e(o.clockwise)?1-o.clockwise:0,t+p*g,i+p*m]).params={start:u,end:l,cx:t,cy:i},a.push(f?["M",t+p*y,i+p*v]:["L",t+p*y,i+p*v],x)),f||a.push(["Z"])}return a}function s(t,e,i,n,r){return r&&r.r?o(t,e,i,n,r):[["M",t,e],["L",t+i,e],["L",t+i,e+n],["L",t,e+n],["Z"]]}function o(t,e,i,n,r){let s=(null===r||void 0===r?void 0:r.r)||0;return[["M",t+s,e],["L",t+i-s,e],["A",s,s,0,0,1,t+i,e+s],["L",t+i,e+n-s],["A",s,s,0,0,1,t+i-s,e+n],["L",t+s,e+n],["A",s,s,0,0,1,t,e+n-s],["L",t,e+s],["A",s,s,0,0,1,t+s,e],["Z"]]}return{arc:r,callout:function(t,e,n,r,s){let a=Math.min(s&&s.r||0,n,r),l=a+6,h=s&&s.anchorX,c=s&&s.anchorY||0,d=o(t,e,n,r,{r:a});if(!i(h)||h0&&c0)return d;if(t+h>n-l)if(c>e+l&&ce+l&&c0){let i=cr&&hl&&d.splice(1,1,["L",h-6,e],["L",h,e-6],["L",h+6,e],["L",n-a,e]);return d},circle:function(t,e,i,n){return r(t+i/2,e+n/2,i/2,n/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,n){return[["M",t+i/2,e],["L",t+i,e+n/2],["L",t+i/2,e+n],["L",t,e+n/2],["Z"]]},rect:s,roundedRect:o,square:s,triangle:function(t,e,i,n){return[["M",t+i/2,e],["L",t+i,e+n],["L",t,e+n],["Z"]]},"triangle-down":function(t,e,i,n){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+n],["Z"]]}}})),i(e,"Core/Renderer/SVG/TextBuilder.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){let{doc:n,SVG_NS:r,win:s}=e,{attr:o,extend:a,fireEvent:l,isString:h,objectEach:c,pick:d}=i;return class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!(!e||"ellipsis"!==e.textOverflow),this.noWrap=!(!e||"nowrap"!==e.whiteSpace)}buildSVG(){let e=this.svgElement,i=e.element,r=e.renderer,s=d(e.textStr,"").toString(),o=-1!==s.indexOf("<"),a=i.childNodes,l=!e.added&&r.box,c=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle("font-size"),this.width].join(",");if(c!==e.textCache){e.textCache=c,delete e.actualWidth;for(let t=a.length;t--;)i.removeChild(a[t]);if(o||this.ellipsis||this.width||e.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||//g.test(s))){if(""!==s){l&&l.appendChild(i);let n=new t(s);this.modifyTree(n.nodes),n.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("\u2026")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),l&&l.removeChild(i)}}else i.appendChild(n.createTextNode(this.unescapeEntities(s)));h(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){let t,e=this.svgElement,i=o(e.element,"x");for(e.firstLineMetrics=void 0;(t=e.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)e.element.removeChild(t);[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),((t,n)=>{t.nextSibling&&t.previousSibling&&(0===n&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),o(t,{dy:this.getLineHeight(t.nextSibling),x:i}))}));let a=this.width||0;if(!a)return;let l=(t,s)=>{let l=t.textContent||"",h=l.replace(/([^\^])-/g,"$1- ").split(" "),c=!this.noWrap&&(h.length>1||e.element.childNodes.length>1),d=this.getLineHeight(s),u=0,p=e.actualWidth;if(this.ellipsis)l&&this.truncate(t,l,void 0,0,Math.max(0,a-.8*d),((t,e)=>t.substring(0,e)+"\u2026"));else if(c){let l=[],c=[];for(;s.firstChild&&s.firstChild!==t;)c.push(s.firstChild),s.removeChild(s.firstChild);for(;h.length;)h.length&&!this.noWrap&&u>0&&(l.push(t.textContent||""),t.textContent=h.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,h,0===u&&p||0,a,((t,e)=>h.slice(0,e).join(" ").replace(/- /g,"-"))),p=e.actualWidth,u++;c.forEach((e=>{s.insertBefore(e,t)})),l.forEach((e=>{s.insertBefore(n.createTextNode(e),t);let a=n.createElementNS(r,"tspan");a.textContent="\u200b",o(a,{dy:d,x:i}),s.insertBefore(a,t)}))}},h=t=>{[].slice.call(t.childNodes).forEach((i=>{i.nodeType===s.Node.TEXT_NODE?l(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),h(i))}))};h(e.element)}getLineHeight(t){let e=t.nodeType===s.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,n)=>{let{attributes:r={},children:s,style:o={},tagName:l}=i,h=this.renderer.styledMode;if("b"===l||"strong"===l?h?r.class="highcharts-strong":o.fontWeight="bold":("i"===l||"em"===l)&&(h?r.class="highcharts-emphasized":o.fontStyle="italic"),o&&o.color&&(o.fill=o.color),"br"===l){r.class="highcharts-br",i.textContent="\u200b";let e=t[n+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===l&&s&&s.some((t=>"#text"===t.tagName))&&(i.children=[{children:s,tagName:"tspan"}]);"#text"!==l&&"a"!==l&&(i.tagName="tspan"),a(i,{attributes:r,style:o}),s&&s.filter((t=>"#text"!==t.tagName)).forEach(e)};t.forEach(e),l(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,n,r,s){let o,a,l=this.svgElement,{rotation:h}=l,c=[],d=i?1:0,u=(e||i||"").length,p=u,f=function(e,r){let s=r||e,o=t.parentNode;if(o&&void 0===c[s]&&o.getSubStringLength)try{c[s]=n+o.getSubStringLength(0,i?s+1:s)}catch(t){}return c[s]};if(l.rotation=0,n+(a=f(t.textContent.length))>r){for(;d<=u;)p=Math.ceil((d+u)/2),i&&(o=s(i,p)),a=f(p,o&&o.length-1),d===u?d=u+1:a>r?u=p-1:d=p;0===u?t.textContent="":e&&u===e.length-1||(t.textContent=o||s(e||i,p))}i&&i.splice(0,p),l.actualWidth=a,l.rotation=h}unescapeEntities(t,e){return c(this.renderer.escapes,(function(i,n){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),n))})),t}}})),i(e,"Core/Renderer/SVG/SVGRenderer.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGLabel.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Renderer/SVG/TextBuilder.js"],e["Core/Utilities.js"]],(function(t,e,i,n,r,s,o,a,l){let h,{charts:c,deg2rad:d,doc:u,isFirefox:p,isMS:f,isWebKit:g,noop:m,SVG_NS:y,symbolSizes:v,win:b}=i,{addEvent:x,attr:k,createElement:S,css:w,defined:C,destroyObjectProperties:M,extend:T,isArray:P,isNumber:E,isObject:A,isString:L,merge:O,pick:D,pInt:I,replaceNested:z,uniqueKey:N}=l;class j{constructor(t,e,i,n,r,s,o){let a,l,h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),c=h.element;o||h.css(this.getStyle(n||{})),t.appendChild(c),k(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&k(c,"xmlns",this.SVG_NS),this.box=c,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(u.createTextNode("Created with Highcharts 11.4.1")),this.defs=this.createElement("defs").add(),this.allowHTML=s,this.forExport=r,this.styledMode=o,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=h.getStyle("font-size"),this.setSize(e,i,!1),p&&t.getBoundingClientRect&&((a=function(){w(t,{left:0,top:0}),l=t.getBoundingClientRect(),w(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=x(b,"resize",a))}definition(e){return new t([e]).addToDOM(this.defs.element)}getReferenceURL(){if((p||g)&&u.getElementsByTagName("base").length){if(!C(h)){let e=N(),i=new t([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:e},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#".concat(e,")"),fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(u.body);w(i,{position:"fixed",top:0,left:0,zIndex:9e5});let n=u.elementFromPoint(6,6);h="hitme"===(n&&n.id),u.body.removeChild(i)}if(h)return z(b.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=T({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),M(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=["highcharts-drop-shadow-".concat(this.chartIndex),...Object.keys(t).map((e=>"".concat(e,"-").concat(t[e])))].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),i=O({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector("#".concat(e))||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:i.offsetX,dy:i.offsetY,"flood-color":i.color,"flood-opacity":Math.min(5*i.opacity,1),stdDeviation:i.width/2}}]}),e}buildText(t){new a(t).buildSVG()}getContrast(t){let i=e.parse(t).rgba.map((t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)})),n=.2126*i[0]+.7152*i[1]+.0722*i[2];return 1.05/(n+.05)>(n+.05)/.05?"#FFFFFF":"#000000"}button(e,i,n,r){let s,o,a,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},h=arguments.length>5?arguments[5]:void 0,c=arguments.length>6?arguments[6]:void 0,d=arguments.length>7?arguments[7]:void 0,u=arguments.length>8?arguments[8]:void 0,p=arguments.length>9?arguments[9]:void 0,g=this.label(e,i,n,u,void 0,void 0,p,void 0,"button"),m=this.styledMode,y=l.states||{},v=0;l=O(l),delete l.states;let b=O({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},l.style);delete l.style;let k=t.filterUserAttributes(l);return g.attr(O({padding:8,r:2},k)),m||(k=O({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},k),s=(h=O(k,{fill:"#e6e6e6"},t.filterUserAttributes(h||y.hover||{}))).style,delete h.style,o=(c=O(k,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},t.filterUserAttributes(c||y.select||{}))).style,delete c.style,a=(d=O(k,{style:{color:"#cccccc"}},t.filterUserAttributes(d||y.disabled||{}))).style,delete d.style),x(g.element,f?"mouseover":"mouseenter",(function(){3!==v&&g.setState(1)})),x(g.element,f?"mouseout":"mouseleave",(function(){3!==v&&g.setState(v)})),g.setState=function(t){if(1!==t&&(g.state=v=t),g.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t||0]),!m){g.attr([k,h,c,d][t||0]);let e=[b,s,o,a][t||0];A(e)&&g.css(e)}},!m&&(g.attr(k).css(T({cursor:"default"},b)),p&&g.text.css({pointerEvents:"none"})),g.on("touchstart",(t=>t.stopPropagation())).on("click",(function(t){3!==v&&r.call(g,t)}))}crispLine(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"round",n=t[0],r=t[1];return C(n[1])&&n[1]===r[1]&&(n[1]=r[1]=Math[i](n[1])-e%2/2),C(n[2])&&n[2]===r[2]&&(n[2]=r[2]=Math[i](n[2])+e%2/2),t}path(t){let e=this.styledMode?{}:{fill:"none"};return P(t)?e.d=t:A(t)&&T(e,t),this.createElement("path").attr(e)}circle(t,e,i){let n=A(t)?t:void 0===t?{}:{x:t,y:e,r:i},r=this.createElement("circle");return r.xSetter=r.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},r.attr(n)}arc(t,e,i,n,r,s){let o;A(t)?(e=(o=t).y,i=o.r,n=o.innerR,r=o.start,s=o.end,t=o.x):o={innerR:n,start:r,end:s};let a=this.symbol("arc",t,e,i,i,o);return a.r=i,a}rect(t,e,i,n,r,s){let o=A(t)?t:void 0===t?{}:{x:t,y:e,r:r,width:Math.max(i||0,0),height:Math.max(n||0,0)},a=this.createElement("rect");return this.styledMode||(void 0!==s&&(o["stroke-width"]=s,T(o,a.crisp(o))),o.fill="none"),a.rSetter=function(t,e,i){a.r=t,k(i,{rx:t,ry:t})},a.rGetter=function(){return a.r||0},a.attr(o)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:D(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,n,r,s){let o={preserveAspectRatio:"none"};E(e)&&(o.x=e),E(i)&&(o.y=i),E(n)&&(o.width=n),E(r)&&(o.height=r);let a=this.createElement("image").attr(o),l=function(e){a.attr({href:t}),s.call(a,e)};if(s){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new b.Image;x(e,"load",l),e.src=t,e.complete&&l({})}else a.attr({href:t});return a}symbol(t,e,i,n,r,s){let o,a,l,h,d=this,p=/^url\((.*?)\)$/,f=p.test(t),g=!f&&(this.symbols[t]?t:"circle"),m=g&&this.symbols[g];if(m)"number"==typeof e&&(a=m.call(this.symbols,Math.round(e||0),Math.round(i||0),n||0,r||0,s)),o=this.path(a),d.styledMode||o.attr("fill","none"),T(o,{symbolName:g||void 0,x:e,y:i,width:n,height:r}),s&&T(o,s);else if(f){l=t.match(p)[1];let n=o=this.image(l);n.imgwidth=D(s&&s.width,v[l]&&v[l].width),n.imgheight=D(s&&s.height,v[l]&&v[l].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach((t=>{n["".concat(t,"Setter")]=function(t,e){this[e]=t;let{alignByTranslate:i,element:n,width:r,height:o,imgwidth:a,imgheight:l}=this,h="width"===e?a:l,c=1;s&&"within"===s.backgroundSize&&r&&o&&a&&l?(c=Math.min(r/a,o/l),k(n,{width:Math.round(a*c),height:Math.round(l*c)})):n&&h&&n.setAttribute(e,h),!i&&a&&l&&this.translate(((r||0)-a*c)/2,((o||0)-l*c)/2)}})),C(e)&&n.attr({x:e,y:i}),n.isImg=!0,C(n.imgwidth)&&C(n.imgheight)?h(n):(n.attr({width:0,height:0}),S("img",{onload:function(){let t=c[d.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),u.body.appendChild(this)),v[l]={width:this.width,height:this.height},n.imgwidth=this.width,n.imgheight=this.height,n.element&&h(n),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:l}),this.imgCount++)}return o}clipRect(t,e,i,n){return this.rect(t,e,i,n,0)}text(t,e,i,n){let r={};if(n&&(this.allowHTML||!this.forExport))return this.html(t,e,i);r.x=Math.round(e||0),i&&(r.y=Math.round(i)),C(t)&&(r.text=t);let s=this.createElement("text").attr(r);return n&&(!this.forExport||this.allowHTML)||(s.xSetter=function(t,e,i){let n=i.getElementsByTagName("tspan"),r=i.getAttribute(e);for(let s,o=0;ot.align()))}}return T(j.prototype,{Element:r,SVG_NS:y,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:o,draw:m}),n.registerRendererType("svg",j,!0),j})),i(e,"Core/Renderer/HTML/HTMLElement.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],(function(t,e,i,n){let{composed:r}=e,{attr:s,css:o,createElement:a,defined:l,extend:h,pInt:c,pushUnique:d}=n;function u(t,e,n){var r;let s=(null===(r=this.div)||void 0===r?void 0:r.style)||n.style;i.prototype["".concat(e,"Setter")].call(this,t,e,n),s&&(s[e]=t)}let p=(t,e)=>{if(!t.div){var n;let r=s(t.element,"class"),o=t.css,l=a("div",r?{className:r}:void 0,{position:"absolute",left:"".concat(t.translateX||0,"px"),top:"".concat(t.translateY||0,"px"),...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},(null===(n=t.parentGroup)||void 0===n?void 0:n.div)||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),l.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,l.style["translateX"===i?"left":"top"]="".concat(e,"px"),t.doTransform=!0},t.opacitySetter=t.visibilitySetter=u,t.css=e=>(o.call(t,e),e.cursor&&(l.style.cursor=e.cursor),e.pointerEvents&&(l.style.pointerEvents=e.pointerEvents),t),t.on=function(){return i.prototype.on.apply({element:l,onEvents:t.onEvents},arguments),t},t.div=l}return t.div};class f extends i{static compose(t){d(r,this.compose)&&(t.prototype.html=function(t,e,i){return new f(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e,{element:i}=this,n="SPAN"===i.tagName&&t&&"width"in t,r=n&&t.width;return n&&(delete t.width,this.textWidth=c(r)||void 0,e=!0),"ellipsis"===(null===t||void 0===t?void 0:t.textOverflow)&&(t.whiteSpace="nowrap",t.overflow="hidden"),h(this.styles,t),o(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:t,renderer:e,rotation:i,rotationOriginX:n,rotationOriginY:r,styles:s,textAlign:a="left",textWidth:h,translateX:c=0,translateY:d=0,x:u=0,y:p=0}=this,f=s.whiteSpace;if(o(t,{marginLeft:"".concat(c,"px"),marginTop:"".concat(d,"px")}),"SPAN"===t.tagName){var g;let s,c=[i,a,t.innerHTML,h,this.textAlign].join(","),d=-1*(null===(g=this.parentGroup)||void 0===g?void 0:g.padding)||0,m=!1;if(h!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(o(t,{width:"",whiteSpace:f||"nowrap"}),t.offsetWidth),n=h||0;(n>this.oldTextWidth||e>n)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(o(t,{width:e>n||i?h+"px":"auto",display:"block",whiteSpace:f||"normal"}),this.oldTextWidth=h,m=!0)}this.hasBoxWidthChanged=m,c!==this.cTT&&(s=e.fontMetrics(t).b,l(i)&&(i!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(i,d,d),this.getSpanCorrection(!l(i)&&this.textPxLength||t.offsetWidth,s,{left:0,center:.5,right:1}[a]));let{xCorr:y=0,yCorr:v=0}=this,b=(null!==n&&void 0!==n?n:u)-y-u-d,x=(null!==r&&void 0!==r?r:p)-v-p-d;o(t,{left:"".concat(u+y,"px"),top:"".concat(p+v,"px"),transformOrigin:"".concat(b,"px ").concat(x,"px")}),this.cTT=c,this.oldRotation=i,this.oldAlign=a}}setSpanRotation(t,e,i){o(this.element,{transform:"rotate(".concat(t,"deg)"),transformOrigin:"".concat(e,"% ").concat(i,"px")})}add(t){let e,i=this.renderer.box.parentNode,n=[];if(this.parentGroup=t,t&&!(e=t.div)){let r=t;for(;r;)n.push(r),r=r.parentGroup;for(let t of n.reverse())e=p(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(e){e!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t.setElementHTML(this.element,null!==e&&void 0!==e?e:""),this.textStr=e,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let g=f.prototype;return g.visibilitySetter=g.opacitySetter=u,g.ySetter=g.rotationSetter=g.rotationOriginXSetter=g.rotationOriginYSetter=g.xSetter,f})),i(e,"Core/Axis/AxisDefaults.js",[],(function(){var t,e;return(e=t||(t={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,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"},e.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:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},t})),i(e,"Core/Foundation.js",[e["Core/Utilities.js"]],(function(t){var e;let{addEvent:i,isFunction:n,objectEach:r,removeEvent:s}=t;return(e||(e={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},r(e.events,(function(e,r){t.eventOptions[r]!==e&&(t.eventOptions[r]&&(s(t,r,t.eventOptions[r]),delete t.eventOptions[r]),n(e)&&(t.eventOptions[r]=e,i(t,r,e,{order:0})))}))},e})),i(e,"Core/Axis/Tick.js",[e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){let{deg2rad:n}=e,{clamp:r,correctFloat:s,defined:o,destroyObjectProperties:a,extend:l,fireEvent:h,isNumber:c,merge:d,objectEach:u,pick:p}=i;return class{constructor(t,e,i,n,r){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=r||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,h(this,"init"),i||n||this.addLabel()}addLabel(){let e,i,n,r=this,a=r.axis,d=a.options,u=a.chart,f=a.categories,g=a.logarithmic,m=a.names,y=r.pos,v=p(r.options&&r.options.labels,d.labels),b=a.tickPositions,x=y===b[0],k=y===b[b.length-1],S=(!v.step||1===v.step)&&1===a.tickInterval,w=b.info,C=r.label,M=this.parameters.category||(f?p(f[y],m[y],y):y);g&&c(M)&&(M=s(g.lin2log(M))),a.dateTime&&(w?e=(i=u.time.resolveDTLFormat(d.dateTimeLabelFormats[!d.grid&&w.higherRanks[y]||w.unitName])).main:c(M)&&(e=a.dateTime.getXDateFormat(M,d.dateTimeLabelFormats||{}))),r.isFirst=x,r.isLast=k;let T={axis:a,chart:u,dateTimeLabelFormat:e,isFirst:x,isLast:k,pos:y,tick:r,tickPositionInfo:w,value:M};h(this,"labelFormat",T);let P=e=>v.formatter?v.formatter.call(e,e):v.format?(e.text=a.defaultLabelFormatter.call(e),t.format(v.format,e,u)):a.defaultLabelFormatter.call(e),E=P.call(T,T),A=i&&i.list;r.shortenLabel=A?function(){for(n=0;n0&&a+g*m>d&&(r=Math.round((l-a)/Math.cos(f*n))):(e=a-g*m,i=a+(1-g)*m,ed&&(b=d-t.x+b*g,x=-1),(b=Math.min(y,b))b||s.autoRotation&&(u.styles||{}).width)&&(r=b)),r&&(this.shortenLabel?this.shortenLabel():(v.width=Math.floor(r)+"px",(o.style||{}).textOverflow||(v.textOverflow="ellipsis"),u.css(v)))}moveLabel(t,e){let i,n=this,r=n.label,s=n.axis,o=!1;r&&r.textStr===t?(n.movedLabel=r,o=!0,delete n.label):u(s.ticks,(function(e){o||e.isNew||e===n||!e.label||e.label.textStr!==t||(n.movedLabel=e.label,o=!0,e.labelPos=n.movedLabel.xy,delete e.label)})),!o&&(n.labelPos||r)&&(i=n.labelPos||r.xy,n.movedLabel=n.createLabel(t,e,i),n.movedLabel&&n.movedLabel.attr({opacity:0}))}render(t,e,i){let n=this.axis,r=n.horiz,o=this.pos,a=p(this.tickmarkOffset,n.tickmarkOffset),l=this.getPosition(r,o,a,e),c=l.x,d=l.y,u=n.pos,f=u+n.len,g=r&&c===f||!r&&d===u?-1:1,m=r?c:d;!n.chart.polar&&this.isNew&&(s(m)f)&&(i=0);let y=p(i,this.label&&this.label.newOpacity,1);i=p(i,1),this.isActive=!0,this.renderGridLine(e,i,g),this.renderMark(l,i,g),this.renderLabel(l,e,y,t),this.isNew=!1,h(this,"afterRender")}renderGridLine(t,e,i){let n,r=this.axis,s=r.options,o={},a=this.pos,l=this.type,h=p(this.tickmarkOffset,r.tickmarkOffset),c=r.chart.renderer,d=this.gridLine,u=s.gridLineWidth,f=s.gridLineColor,g=s.gridLineDashStyle;"minor"===this.type&&(u=s.minorGridLineWidth,f=s.minorGridLineColor,g=s.minorGridLineDashStyle),d||(r.chart.styledMode||(o.stroke=f,o["stroke-width"]=u||0,o.dashstyle=g),l||(o.zIndex=1),t&&(e=0),this.gridLine=d=c.path().attr(o).addClass("highcharts-"+(l?l+"-":"")+"grid-line").add(r.gridGroup)),d&&(n=r.getPlotLinePath({value:a+h,lineWidth:d.strokeWidth()*i,force:"pass",old:t,acrossPanes:!1}))&&d[t||this.isNew?"attr":"animate"]({d:n,opacity:e})}renderMark(t,e,i){let n=this.axis,r=n.options,s=n.chart.renderer,o=this.type,a=n.tickSize(o?o+"Tick":"tick"),l=t.x,h=t.y,c=p(r["minor"!==o?"tickWidth":"minorTickWidth"],!o&&n.isXAxis?1:0),d=r["minor"!==o?"tickColor":"minorTickColor"],u=this.mark,f=!u;a&&(n.opposite&&(a[0]=-a[0]),u||(this.mark=u=s.path().addClass("highcharts-"+(o?o+"-":"")+"tick").add(n.axisGroup),n.chart.styledMode||u.attr({stroke:d,"stroke-width":c})),u[f?"attr":"animate"]({d:this.getMarkPath(l,h,a[0],u.strokeWidth()*i,n.horiz,s),opacity:e}))}renderLabel(t,e,i,n){let r=this.axis,s=r.horiz,o=r.options,a=this.label,l=o.labels,h=l.step,d=p(this.tickmarkOffset,r.tickmarkOffset),u=t.x,f=t.y,g=!0;a&&c(u)&&(a.xy=t=this.getLabelPosition(u,f,a,s,l,d,n,h),this.isFirst&&!this.isLast&&!o.showFirstLabel||this.isLast&&!this.isFirst&&!o.showLastLabel?g=!1:!s||l.step||l.rotation||e||0===i||this.handleOverflow(t),h&&n%h&&(g=!1),g&&c(t.y)?(t.opacity=i,a[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(a.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}})),i(e,"Core/Axis/Axis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/AxisDefaults.js"],e["Core/Color/Color.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Axis/Tick.js"],e["Core/Utilities.js"]],(function(t,e,i,n,r,s,o,a){let{animObject:l}=t,{xAxis:h,yAxis:c}=e,{defaultOptions:d}=n,{registerEventOptions:u}=r,{deg2rad:p}=s,{arrayMax:f,arrayMin:g,clamp:m,correctFloat:y,defined:v,destroyObjectProperties:b,erase:x,error:k,extend:S,fireEvent:w,getClosestDistance:C,insertItem:M,isArray:T,isNumber:P,isString:E,merge:A,normalizeTickInterval:L,objectEach:O,pick:D,relativeLength:I,removeEvent:z,splat:N,syncTimeout:j}=a,R=(t,e)=>L(e,void 0,void 0,D(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);S(d,{xAxis:h,yAxis:A(h,c)});class B{constructor(t,e,i){this.init(t,e,i)}init(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.coll,n="xAxis"===i,r=this.isZAxis||(t.inverted?!n:n);this.chart=t,this.horiz=r,this.isXAxis=n,this.coll=i,w(this,"init",{userOptions:e}),this.opposite=D(e.opposite,this.opposite),this.side=D(e.side,this.side,r?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let s=this.options,o=s.labels,a=s.type;this.userOptions=e,this.minPixelPadding=0,this.reversed=D(s.reversed,this.reversed),this.visible=s.visible,this.zoomEnabled=s.zoomEnabled,this.hasNames="category"===a||!0===s.categories,this.categories=T(s.categories)&&s.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=v(s.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=s.minRange||s.maxZoom,this.range=s.range,this.offset=s.offset||0,this.max=void 0,this.min=void 0;let l=D(s.crosshair,N(t.options.tooltip.crosshairs)[n?0:1]);this.crosshair=!0===l?{}:l,-1===t.axes.indexOf(this)&&(n?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),M(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&n&&!v(this.reversed)&&(this.reversed=!0),this.labelRotation=P(o.rotation)?o.rotation:void 0,u(this,s),w(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}};this.options=A(e,d[this.coll],t),w(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t,e,i=this.axis,{numberFormatter:n}=this.chart,r=P(this.value)?this.value:NaN,s=i.chart.time,o=i.categories,a=this.dateTimeLabelFormat,l=d.lang,h=l.numericSymbols,c=l.numericSymbolMagnitude||1e3,u=i.logarithmic?Math.abs(r):i.tickInterval,p=h&&h.length;if(o)e="".concat(this.value);else if(a)e=s.dateFormat(a,r);else if(p&&h&&u>=1e3)for(;p--&&void 0===e;)u>=(t=Math.pow(c,p+1))&&10*r%t==0&&null!==h[p]&&0!==r&&(e=n(r/t,-1)+h[p]);return void 0===e&&(e=Math.abs(r)>=1e4?n(r,-1):n(r,-1,void 0,"")),e}getSeriesExtremes(){let t,e=this;w(this,"getSeriesExtremes",null,(function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach((i=>{if(i.reserveSpace()){let n,r,s,o=i.options,a=o.threshold;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(a||0)&&(a=void 0),e.isXAxis)(n=i.xData)&&n.length&&(n=e.logarithmic?n.filter((t=>t>0)):n,r=(t=i.getXExtremes(n)).min,s=t.max,P(r)||r instanceof Date||(n=n.filter(P),r=(t=i.getXExtremes(n)).min,s=t.max),n.length&&(e.dataMin=Math.min(D(e.dataMin,r),r),e.dataMax=Math.max(D(e.dataMax,s),s)));else{let t=i.applyExtremes();P(t.dataMin)&&(r=t.dataMin,e.dataMin=Math.min(D(e.dataMin,r),r)),P(t.dataMax)&&(s=t.dataMax,e.dataMax=Math.max(D(e.dataMax,s),s)),v(a)&&(e.threshold=a),(!o.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}}))})),w(this,"afterGetSeriesExtremes")}translate(t,e,i,n,r,s){var o;let a=this.linkedParent||this,l=n&&a.old?a.old.min:a.min;if(!P(l))return NaN;let h=a.minPixelPadding,c=(a.isOrdinal||(null===(o=a.brokenAxis)||void 0===o?void 0:o.hasBreaks)||a.logarithmic&&r)&&a.lin2val,d=1,u=0,p=n&&a.old?a.old.transA:a.transA,f=0;if(p||(p=a.transA),i&&(d*=-1,u=a.len),a.reversed&&(d*=-1,u-=d*(a.sector||a.len)),e)f=(t=t*d+u-h)/p+l,c&&(f=a.lin2val(f));else{c&&(t=a.val2lin(t));let e=d*(t-l)*p;f=(a.isRadial?e:y(e))+u+d*h+(P(s)?p*s:0)}return f}toPixels(t,e){return this.translate(t,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e,i,n,r,s,o=this,a=o.chart,l=o.left,h=o.top,c=t.old,d=t.value,u=t.lineWidth,p=c&&a.oldChartHeight||a.chartHeight,f=c&&a.oldChartWidth||a.chartWidth,g=o.transB,y=t.translatedValue,v=t.force;function b(t,e,i){return"pass"!==v&&(ti)&&(v?t=m(t,e,i):s=!0),t}let x={value:d,lineWidth:u,old:c,force:v,acrossPanes:t.acrossPanes,translatedValue:y};return w(this,"getPlotLinePath",x,(function(t){e=n=Math.round((y=m(y=D(y,o.translate(d,void 0,void 0,c)),-1e5,1e5))+g),i=r=Math.round(p-y-g),P(y)?o.horiz?(i=h,r=p-o.bottom+(a.scrollablePixelsY||0),e=n=b(e,l,l+o.width)):(e=l,n=f-o.right+(a.scrollablePixelsX||0),i=r=b(i,h,h+o.height)):(s=!0,v=!1),t.path=s&&!v?void 0:a.renderer.crispLine([["M",e,i],["L",n,r]],u||1)})),x.path}getLinearTickPositions(t,e,i){let n,r,s,o=y(Math.floor(e/t)*t),a=y(Math.ceil(i/t)*t),l=[];if(y(o+t)===o&&(s=20),this.single)return[e];for(n=o;n<=a&&(l.push(n),(n=y(n+t,s))!==r);)r=n;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?D(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t,e=this.options,i=this.tickPositions,n=this.minorTickInterval,r=this.pointRangePadding||0,s=(this.min||0)-r,o=(this.max||0)+r,a=o-s,l=[];if(a&&a/n{var e;return(t.xIncrement?null===(e=t.xData)||void 0===e?void 0:e.slice(0,2):t.xData)||[]})))||0),this.dataMax-this.dataMin)),P(o)&&P(a)&&P(l)&&o-a=l,t=(l-o+a)/2,i=[a-t,D(r.min,a-t)],e&&(i[2]=s?s.log2lin(this.dataMin):this.dataMin),n=[(a=f(i))+l,D(r.max,a+l)],e&&(n[2]=s?s.log2lin(this.dataMax):this.dataMax),(o=g(n))-at-e)),t=C([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e,i=T(this.options.categories),n=i?this.categories:this.names,r=t.options.x;return t.series.requireSorting=!1,v(r)||(r=this.options.uniqueNames&&n?i?n.indexOf(t.name):D(n.keys[t.name],-1):t.series.autoIncrement()),-1===r?!i&&n&&(e=n.length):e=r,void 0!==e?(this.names[e]=t.name,this.names.keys[t.name]=e):t.x&&(e=t.x),e}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach((function(t){delete e.keys[t]})),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach((e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max,e.xData.length-1),e.processData(),e.generatePoints()),e.data.forEach((function(i,n){let r;(null===i||void 0===i?void 0:i.options)&&void 0!==i.name&&void 0!==(r=t.nameToX(i))&&r!==i.x&&(i.x=r,e.xData[n]=r)}))})))}setAxisTranslation(){let t,e,i=this,n=i.max-i.min,r=i.linkedParent,s=!!i.categories,o=i.isXAxis,a=i.axisPointRange||0,l=0,h=0,c=i.transA;(o||s||a)&&(t=i.getClosest(),r?(l=r.minPointOffset,h=r.pointRangePadding):i.series.forEach((function(e){let n=s?1:o?D(e.options.pointRange,t,0):i.axisPointRange||0,r=e.options.pointPlacement;if(a=Math.max(a,n),!i.single||s){let t=e.is("xrange")?!o:o;l=Math.max(l,t&&E(r)?0:n/2),h=Math.max(h,t&&"on"===r?0:n)}})),e=i.ordinal&&i.ordinal.slope&&t?i.ordinal.slope/t:1,i.minPointOffset=l*=e,i.pointRangePadding=h*=e,i.pointRange=Math.min(a,i.single&&s?1:n),o&&t&&(i.closestPointRange=t)),i.translationSlope=i.transA=c=i.staticScale||i.len/(n+h||1),i.transB=i.horiz?i.left:i.bottom,i.minPixelPadding=c*l,w(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return P(t)&&P(e)&&t-e||void 0}setTickInterval(t){var e;let i,n,r,s,o,{categories:a,chart:l,dataMax:h,dataMin:c,dateTime:d,isXAxis:u,logarithmic:p,options:f,softThreshold:g}=this,m=P(this.threshold)?this.threshold:void 0,b=this.minRange||0,{ceiling:x,floor:S,linkedTo:C,softMax:M,softMin:T}=f,E=P(C)&&(null===(e=l[this.coll])||void 0===e?void 0:e[C]),A=f.tickPixelInterval,L=f.maxPadding,O=f.minPadding,I=0,z=P(f.tickInterval)&&f.tickInterval>=0?f.tickInterval:void 0;if(d||a||E||this.getTickAmount(),s=D(this.userMin,f.min),o=D(this.userMax,f.max),E?(this.linkedParent=E,i=E.getExtremes(),this.min=D(i.min,i.dataMin),this.max=D(i.max,i.dataMax),f.type!==E.options.type&&k(11,!0,l)):(g&&v(m)&&P(h)&&P(c)&&(c>=m?(n=m,O=0):h<=m&&(r=m,L=0)),this.min=D(s,n,c),this.max=D(o,r,h)),P(this.max)&&P(this.min)&&(p&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,D(c,this.min))&&k(10,!0,l),this.min=y(p.log2lin(this.min),16),this.max=y(p.log2lin(this.max),16)),this.range&&P(c)&&(this.userMin=this.min=s=Math.max(c,this.minFromRange()||0),this.userMax=o=this.max,this.range=void 0)),w(this,"foundExtremes"),this.adjustForMinRange(),P(this.min)&&P(this.max)){var N;if(!P(this.userMin)&&P(T)&&Tthis.max&&(this.max=o=M),a||this.axisPointRange||null!==(N=this.stacking)&&void 0!==N&&N.usePercentage||E||!(I=this.max-this.min)||(!v(s)&&O&&(this.min-=I*O),v(o)||!L||(this.max+=I*L)),!P(this.userMin)&&P(S)&&(this.min=Math.max(this.min,S)),!P(this.userMax)&&P(x)&&(this.max=Math.min(this.max,x)),g&&P(c)&&P(h)){let t=m||0;!v(s)&&this.min=t?this.min=f.minRange?Math.min(t,this.max-b):t:!v(o)&&this.max>t&&h<=t&&(this.max=f.minRange?Math.max(t,this.min+b):t)}!l.polar&&this.min>this.max&&(v(f.min)?this.max=this.min:v(f.max)&&(this.min=this.max)),I=this.max-this.min}if(this.min!==this.max&&P(this.min)&&P(this.max)?E&&!z&&A===E.options.tickPixelInterval?this.tickInterval=z=E.tickInterval:this.tickInterval=D(z,this.tickAmount?I/Math.max(this.tickAmount-1,1):void 0,a?1:I*A/Math.max(this.len,A)):this.tickInterval=1,u&&!t){var j,B;let t=this.min!==(null===(j=this.old)||void 0===j?void 0:j.min)||this.max!==(null===(B=this.old)||void 0===B?void 0:B.max);this.series.forEach((function(e){var i;e.forceCrop=null===(i=e.forceCropping)||void 0===i?void 0:i.call(e),e.processData(t)})),w(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),w(this,"initialAxisTranslation"),this.pointRange&&!z&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let _=D(f.minTickInterval,d&&!this.series.some((t=>t.noSharedTooltip))?this.closestPointRange:0);!z&&this.tickInterval<_&&(this.tickInterval=_),d||p||z||(this.tickInterval=R(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let t,e=this.options,i=e.tickPositions,n=e.tickPositioner,r=this.getMinorTickInterval(),s=!this.isPanning,o=s&&e.startOnTick,a=s&&e.endOnTick,l=[];if(this.tickmarkOffset=this.categories&&"between"===e.tickmarkPlacement&&1===this.tickInterval?.5:0,this.minorTickInterval="auto"===r&&this.tickInterval?this.tickInterval/e.minorTicksPerMajor:r,this.single=this.min===this.max&&v(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==e.allowDecimals),i)l=i.slice();else if(P(this.min)&&P(this.max)){var h,c;if((null===(h=this.ordinal)||void 0===h||!h.positions)&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))l=[this.min,this.max],k(19,!1,this.chart);else if(this.dateTime)l=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,e.units),this.min,this.max,e.startOfWeek,null===(c=this.ordinal)||void 0===c?void 0:c.positions,this.closestPointRange,!0);else if(this.logarithmic)l=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(l=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&l.length>this.tickAmount);)this.tickInterval=R(this,e*=1.1)}l.length>this.len&&(l=[l[0],l[l.length-1]])[0]===l[1]&&(l.length=1),n&&(this.tickPositions=l,(t=n.apply(this,[this.min,this.max]))&&(l=t))}this.tickPositions=l,this.paddedTicks=l.slice(0),this.trimTicks(l,o,a),!this.isLinked&&P(this.min)&&P(this.max)&&(this.single&&l.length<2&&!this.categories&&!this.series.some((t=>t.is("heatmap")&&"between"===t.options.pointPlacement))&&(this.min-=.5,this.max+=.5),i||t||this.adjustTickAmount()),w(this,"afterSetTickPositions")}trimTicks(t,e,i){let n=t[0],r=t[t.length-1],s=!this.isOrdinal&&this.minPointOffset||0;if(w(this,"trimTicks"),!this.isLinked){if(e&&n!==-1/0)this.min=n;else for(;this.min-s>t[0];)t.shift();if(i)this.max=r;else for(;this.max+s{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},s=r(this);i[this.coll].forEach((function(i){let{series:o}=i;o.length&&o.some((t=>t.visible))&&i!==e&&r(i)===s&&(t=!0,n.push(i))}))}if(t&&o){n.forEach((t=>{let i=t.getThresholdAlignment(e);P(i)&&a.push(i)}));let t=a.length>1?a.reduce(((t,e)=>t+e),0)/a.length:void 0;n.forEach((e=>{e.thresholdAlignment=t}))}return t}getThresholdAlignment(t){if((!P(this.dataMin)||this!==t&&this.series.some((t=>t.isDirty||t.isDirtyData)))&&this.getSeriesExtremes(),P(this.threshold)){let t=m((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;v(t.tickInterval)||i||!(this.lenl.push(y(l[l.length-1]+p)),g=()=>l.unshift(y(l[0]-p));if(P(c)&&(i=c<.5?Math.ceil(c*(h-1)):Math.floor(c*(h-1)),a.reversed&&(i=h-1-i)),n.hasData()&&P(o)&&P(s)){let c=()=>{n.transA*=(d-1)/(h-1),n.min=a.startOnTick?l[0]:Math.min(o,l[0]),n.max=a.endOnTick?l[l.length-1]:Math.max(s,l[l.length-1])};if(P(i)&&P(n.threshold)){for(;l[i]!==u||l.length!==h||l[0]>o||l[l.length-1]n.threshold?g():f();if(p>8*n.tickInterval)break;p*=2}c()}else if(d0&&e{r=r||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1})),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||r||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(n&&"yAxis"===i&&n.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),n&&"xAxis"===i&&n.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==(null===(t=this.old)||void 0===t?void 0:t.min)||this.max!==(null===(e=this.old)||void 0===e?void 0:e.max))):n&&n.cleanStacks(),r&&delete this.allExtremes,w(this,"afterSetScale")}setExtremes(t,e){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=arguments.length>3?arguments[3]:void 0,r=arguments.length>4?arguments[4]:void 0;this.series.forEach((t=>{delete t.kdTree})),w(this,"setExtremes",r=S(r,{min:t,max:e}),(t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(n)}))}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],n=this.horiz,r=this.width=Math.round(I(D(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),s=this.height=Math.round(I(D(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),o=this.top=Math.round(I(D(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),a=this.left=Math.round(I(D(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-s-o,this.right=t.chartWidth-r-a,this.len=Math.max(n?r:s,0),this.pos=n?a:o}getExtremes(){let t=this.logarithmic;return{min:t?y(t.lin2log(this.min)):this.min,max:t?y(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,n=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=n:i>t?t=i:n15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")})),i.align}tickSize(t){let e,i=this.options,n=D(i["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),r=i["tick"===t?"tickLength":"minorTickLength"];n&&r&&("inside"===i[t+"Position"]&&(r=-r),e=[r,n]);let s={tickSize:e};return w(this,"afterTickSize",s),s.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t,e,i=this.options.labels,n=this.horiz,r=this.tickInterval,s=this.len/(((this.categories?1:0)+this.max-this.min)/r),o=i.rotation,a=this.labelMetrics().h,l=Math.max(this.max-this.min,0),h=function(t){let e=t/(s||1);return(e=e>1?Math.ceil(e):1)*r>l&&t!==1/0&&s!==1/0&&l&&(e=Math.ceil(l/r)),y(e*r)},c=r,d=Number.MAX_VALUE;if(n){if(!i.staggerLines&&(P(o)?e=[o]:s=-90&&r<=90)&&(n=(i=h(Math.abs(a/Math.sin(p*r))))+Math.abs(r/360))m&&(m=e.label.textPxLength)})),this.maxLabelLength=m,this.autoRotation)m>u&&m>f.h?p.rotation=this.labelRotation:this.labelRotation=0;else if(d&&(t=u,!g))for(e="clip",n=o.length;!c&&n--;)(i=a[o[n]].label)&&("ellipsis"===i.styles.textOverflow?i.css({textOverflow:"clip"}):i.textPxLength>d&&i.css({width:d+"px"}),i.getBBox().height>this.len/o.length-(f.h-f.f)&&(i.specificTextOverflow="ellipsis"));p.rotation&&(t=m>.5*r.chartHeight?.33*r.chartHeight:m,g||(e="ellipsis")),this.labelAlign=l.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(p.align=this.labelAlign),o.forEach((function(i){let n=a[i],r=n&&n.label,s=h.width,o={};r&&(r.attr(p),n.shortenLabel?n.shortenLabel():t&&!s&&"nowrap"!==h.whiteSpace&&(tr.g(e).attr({zIndex:o}).addClass("highcharts-".concat(i.toLowerCase()).concat(s," ")+(this.isRadial?"highcharts-radial-axis".concat(s," "):"")+(n.className||"")).add(t);this.axisGroup||(this.gridGroup=s("grid","-grid",n.gridZIndex),this.axisGroup=s("axis","",n.zIndex),this.labelGroup=s("axis-labels","-labels",n.labels.zIndex))}getOffset(){let t,e,i,n,r=this,{chart:s,horiz:o,options:a,side:l,ticks:h,tickPositions:c,coll:d}=r,u=s.inverted&&!r.isZAxis?[1,0,3,2][l]:l,p=r.hasData(),f=a.title,g=a.labels,m=P(a.crossing),y=s.axisOffset,b=s.clipOffset,x=[-1,1,1,-1][l],k=0,S=0,C=0;if(r.showAxis=t=p||a.showEmpty,r.staggerLines=r.horiz&&g.staggerLines||void 0,r.createGroups(),p||r.isLinked?(c.forEach((function(t){r.generateTick(t)})),r.renderUnsquish(),r.reserveSpaceDefault=0===l||2===l||{1:"left",3:"right"}[l]===r.labelAlign,D(g.reserveSpace,!m&&null,"center"===r.labelAlign||null,r.reserveSpaceDefault)&&c.forEach((function(t){C=Math.max(h[t].getLabelSize(),C)})),r.staggerLines&&(C*=r.staggerLines),r.labelOffset=C*(r.opposite?-1:1)):O(h,(function(t,e){t.destroy(),delete h[e]})),null!==f&&void 0!==f&&f.text&&!1!==f.enabled&&(r.addTitle(t),t&&!m&&!1!==f.reserveSpace&&(r.titleOffset=k=r.axisTitle.getBBox()[o?"height":"width"],S=v(e=f.offset)?0:D(f.margin,o?5:10))),r.renderLine(),r.offset=x*D(a.offset,y[l]?y[l]+(a.margin||0):0),r.tickRotCorr=r.tickRotCorr||{x:0,y:0},n=0===l?-r.labelMetrics().h:2===l?r.tickRotCorr.y:0,i=Math.abs(C)+S,C&&(i-=n,i+=x*(o?D(g.y,r.tickRotCorr.y+x*g.distance):D(g.x,x*g.distance))),r.axisTitleMargin=D(e,i),r.getMaxLabelDimensions&&(r.maxLabelDimensions=r.getMaxLabelDimensions(h,c)),"colorAxis"!==d){let t=this.tickSize("tick");y[l]=Math.max(y[l],(r.axisTitleMargin||0)+k+x*r.offset,i,c&&c.length&&t?t[0]+x*r.offset:0);let e=!r.axisLine||a.offset?0:2*Math.floor(r.axisLine.strokeWidth()/2);b[u]=Math.max(b[u],e)}w(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,n=this.offset,r=this.horiz,s=this.left+(i?this.width:0)+n,o=e.chartHeight-this.bottom-(i?this.height:0)+n;return i&&(t*=-1),e.renderer.crispLine([["M",r?this.left:s,r?o:this.top],["L",r?e.chartWidth-this.right:s,r?o:e.chartHeight-this.bottom]],t)}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(t){let e=this.horiz,i=this.left,n=this.top,r=this.len,s=this.options.title,o=e?i:n,a=this.opposite,l=this.offset,h=s.x,c=s.y,d=this.chart.renderer.fontMetrics(t),u=t?Math.max(t.getBBox(!1,0).height-d.h-1,0):0,p={low:o+(e?0:r),middle:o+r/2,high:o+(e?r:0)}[s.align],f=(e?n+this.height:i)+(e?1:-1)*(a?-1:1)*(this.axisTitleMargin||0)+[-u,u,d.f,-u][this.side],g={x:e?p+h:f+(a?this.width:0)+l+h,y:e?f+c-(a?this.height:0)+l:p+c};return w(this,"afterGetTitlePosition",{titlePosition:g}),g}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new o(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let n=this.isLinked,r=this.ticks;(!n||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(r[t]||(r[t]=new o(this,t)),i&&r[t].isNew&&r[t].render(e,!0,-1),r[t].render(e))}render(){let t,e,i=this,n=i.chart,r=i.logarithmic,a=n.renderer,h=i.options,c=i.isLinked,d=i.tickPositions,u=i.axisTitle,p=i.ticks,f=i.minorTicks,g=i.alternateBands,m=h.stackLabels,y=h.alternateGridColor,v=h.crossing,b=i.tickmarkOffset,x=i.axisLine,k=i.showAxis,S=l(a.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[p,f,g].forEach((function(t){O(t,(function(t){t.isActive=!1}))})),P(v)){let t=this.isXAxis?n.yAxis[0]:n.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let n=t.toPixels(v,!0);i.horiz&&(n=t.len-n),i.offset=e*n}}if(i.hasData()||c){let a=i.chart.hasRendered&&i.old&&P(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach((function(t){i.renderMinorTick(t,a)})),d.length&&(d.forEach((function(t,e){i.renderTick(t,e,a)})),b&&(0===i.min||i.single)&&(p[-1]||(p[-1]=new o(i,-1,null,!0)),p[-1].render(-1))),y&&d.forEach((function(o,a){e=void 0!==d[a+1]?d[a+1]+b:i.max-b,a%2==0&&o=.5)t=Math.round(t),h=o.getLinearTickPositions(t,e,i);else if(t>=.08){let n,r,o,a,l,c,d;for(n=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=Math.floor(e);re&&(!s||c<=i)&&void 0!==c&&h.push(c),c>i&&(d=!0),c=l}else{let c=this.lin2log(e),d=this.lin2log(i),u=s?o.getMinorTickInterval():l.tickInterval,p=l.tickPixelInterval/(s?5:1),f=s?a/o.tickPositions.length:a;t=n(t=r("auto"===u?null:u,this.minorAutoInterval,(d-c)*p/(f||1))),h=o.getLinearTickPositions(t,c,d).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),h}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=o}(e||(e={})),e})),i(e,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[e["Core/Utilities.js"]],(function(t){var e;let{erase:i,extend:n,isNumber:r}=t;return function(t){let e;function s(t){return this.addPlotBandOrLine(t,"plotBands")}function o(t,i){let n=this.userOptions,r=new e(this,t);if(this.visible&&(r=r.render()),r){if(this._addedPlotLB||(this._addedPlotLB=!0,(n.plotLines||[]).concat(n.plotBands||[]).forEach((t=>{this.addPlotBandOrLine(t)}))),i){let e=n[i]||[];e.push(t),n[i]=e}this.plotLinesAndBands.push(r)}return r}function a(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let n,s,o=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),a=[],l=this.horiz,h=!r(this.min)||!r(this.max)||tthis.max&&e>this.max,c=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),d=1;if(c&&o)for(h&&(s=c.toString()===o.toString(),d=0),n=0;n{var i;null===(i=C)||void 0===i||i.on(e,(t=>{f[e].apply(this,[t])}))})),this.eventsAdded=!0),!E&&C.d||null===(e=M)||void 0===e||!e.length?C&&(M?(C.show(),C.animate({d:M})):C.d&&(C.hide(),w&&(this.label=w=w.destroy()))):C.attr({d:M}),S&&(r(S.text)||r(S.formatter))&&null!==(i=M)&&void 0!==i&&i.length&&s.width>0&&s.height>0&&!M.isFlat?(S=l({align:d&&T?"center":void 0,x:d?!T&&4:10,verticalAlign:!d&&T?"middle":void 0,y:d?T?16:10:T?6:-4,rotation:d&&!T?90:0},S),this.renderLabel(S,M,T,g)):w&&w.hide(),this}renderLabel(t,e,r,s){let o=this.axis,a=o.chart.renderer,h=this.label;h||(this.label=h=a.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(r?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||h.css(l({fontSize:"0.8em",textOverflow:"ellipsis"},t.style)),h.add());let c=e.xBounds||[e[0][1],e[1][1],r?e[2][1]:e[0][1]],d=e.yBounds||[e[0][2],e[1][2],r?e[2][2]:e[0][2]],u=n(c),p=n(d);if(h.align(t,!1,{x:u,y:p,width:i(c)-u,height:i(d)-p}),!h.alignValue||"left"===h.alignValue){let e=t.clip?o.width:o.chart.chartWidth;h.css({width:(90===h.rotation?o.height-(h.alignAttr.y-o.top):e-(h.alignAttr.x-o.left))+"px"})}h.show(!0)}getLabelText(t){return r(t.formatter)?t.formatter.call(this):t.text}destroy(){o(this.axis.plotLinesAndBands,this),delete this.axis,s(this)}}return d})),i(e,"Core/Tooltip.js",[e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,n,r){var s;let{format:o}=t,{composed:a,doc:l,isSafari:h}=e,{distribute:c}=i,{addEvent:d,clamp:u,css:p,discardElement:f,extend:g,fireEvent:m,isArray:y,isNumber:v,isString:b,merge:x,pick:k,pushUnique:S,splat:w,syncTimeout:C}=r;class M{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map((function(t){let e=t.series.tooltipOptions;return(e[(t.point.formatPrefix||"point")+"Formatter"]||t.point.tooltipFormatter).call(t.point,e[(t.point.formatPrefix||"point")+"Format"]||"")}))}cleanSplit(t){this.chart.series.forEach((function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)}))}defaultFormatter(t){let e,i=this.points||w(this);return(e=(e=[t.tooltipFooterHeaderFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.tooltipFooterHeaderFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),f(this.container)),r.clearTimeout(this.hideTimer),r.clearTimeout(this.tooltipTimeout)}getAnchor(t,e){let i,{chart:n,pointer:r}=this,s=n.inverted,o=n.plotTop,a=n.plotLeft;if((t=w(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=r.normalize(e)),i=[e.chartX-a,e.chartY-o];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let n=0,r=0;t.forEach((function(t){let e=t.pos(!0);e&&(n+=e[0],r+=e[1])})),n/=t.length,r/=t.length,this.shared&&t.length>1&&e&&(s?n=e.chartX:r=e.chartY),i=[n-a,r-o]}return i.map(Math.round)}getClassName(t,e,i){let n=this.options,r=t.series,s=r.options;return[n.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+k(t.colorIndex,r.colorIndex),s&&s.className].filter(b).join(" ")}getLabel(){let t=this,i=this.chart.styledMode,r=this.options,s=this.split&&this.allowShared,o=this.container,a=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!s&&t||s&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart.options.chart.style,i=n.getRendererType();this.container=o=e.doc.createElement("div"),o.className="highcharts-tooltip-container",p(o,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(t&&t.zIndex||0)+3)}),this.renderer=a=new i(o,0,0,t,void 0,void 0,a.styledMode)}if(s?this.label=a.g("tooltip"):(this.label=a.label("",0,0,r.shape,void 0,void 0,r.useHTML,void 0,"tooltip").attr({padding:r.padding,r:r.borderRadius}),i||this.label.attr({fill:r.backgroundColor,"stroke-width":r.borderWidth||0}).css(r.style).css({pointerEvents:r.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),t.outside){let e=this.label,{xSetter:i,ySetter:n}=e;e.xSetter=function(n){i.call(e,t.distance),o&&(o.style.left=n+"px")},e.ySetter=function(i){n.call(e,t.distance),o&&(o.style.top=i+"px")}}this.label.attr({zIndex:8}).shadow(r.shadow).add()}return o&&!o.parentElement&&e.doc.body.appendChild(o),this.label}getPlayingField(){let{body:t,documentElement:e}=l,{chart:i,distance:n,outside:r}=this;return{width:r?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*n:i.chartWidth,height:r?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){var n;let r,{distance:s,chart:o,outside:a,pointer:l}=this,{inverted:h,plotLeft:c,plotTop:d,polar:u}=o,{plotX:p=0,plotY:f=0}=i,g={},m=h&&i.h||0,{height:y,width:v}=this.getPlayingField(),b=l.getChartPosition(),x=t=>t*b.scaleX,S=t=>t*b.scaleY,w=i=>{let n="x"===i;return[i,n?v:y,n?t:e].concat(a?[n?x(t):S(e),n?b.left-s+x(p+c):b.top-s+S(f+d),0,n?v:y]:[n?t:e,n?p+c:f+d,n?c:d,n?c+o.plotWidth:d+o.plotHeight])},C=w("y"),M=w("x"),T=!!i.negative;!u&&(null===(n=o.hoverSeries)||void 0===n||null===(n=n.yAxis)||void 0===n?void 0:n.reversed)&&(T=!T);let P=!this.followPointer&&k(i.ttBelow,!u&&!h===T),E=function(t,e,i,n,r,o,l){let h=a?"y"===t?S(s):x(s):s,c=(i-n)/2,d=ne?f:f+m)}},A=function(t,e,i,n,r){if(re-s)return!1;g[t]=re-n/2?e-n-2:r-i/2},L=function(t){[C,M]=[M,C],r=t},O=()=>{!1!==E.apply(0,C)?!1!==A.apply(0,M)||r||(L(!0),O()):r?g.x=g.y=0:(L(!0),O())};return(h&&!u||this.len>1)&&L(),O(),g}hide(t){let e=this;r.clearTimeout(this.hideTimer),t=k(t,this.options.hideDelay),this.isHidden||(this.hideTimer=C((function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0}),t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=k(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,e,i,n){let s=this,o=s.now,a=!1!==s.options.animation&&!s.isHidden&&(Math.abs(t-o.x)>1||Math.abs(e-o.y)>1),l=s.followPointer||s.len>1;g(o,{x:a?(2*o.x+t)/3:t,y:a?(o.y+e)/2:e,anchorX:l?void 0:a?(2*o.anchorX+i)/3:i,anchorY:l?void 0:a?(o.anchorY+n)/2:n}),s.getLabel().attr(o),s.drawTracker(),a&&(r.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout((function(){s&&s.move(t,e,i,n)}),32))}refresh(t,e){let{chart:i,options:n,pointer:s,shared:a}=this,l=w(t),h=l[0],c=[],d=n.format,u=n.formatter||this.defaultFormatter,p=i.styledMode,f={};if(!n.enabled||!h.series)return;r.clearTimeout(this.hideTimer),this.allowShared=!(!y(t)&&t.series&&t.series.noSharedTooltip),this.followPointer=!this.split&&h.series.tooltipOptions.followPointer;let g=this.getAnchor(t,e),v=g[0],x=g[1];a&&this.allowShared?(s.applyInactiveState(l),l.forEach((function(t){t.setState("hover"),c.push(t.getLabelConfig())})),(f=h.getLabelConfig()).points=c):f=h.getLabelConfig(),this.len=c.length;let S=b(d)?o(d,f,i):u.call(f,this),C=h.series;if(this.distance=k(C.tooltipOptions.distance,16),!1===S)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(S,l);else{let t=v,r=x;if(e&&s.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),!i.polar&&!1!==C.options.clip&&!l.some((e=>s.isDirectTouch||e.series.shouldShowTooltip(t,r))))return void this.hide();{let t=this.getLabel();(!n.style.width||p)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({text:S&&S.join?S.join(""):S}),t.addClass(this.getClassName(h),!0),p||t.attr({stroke:n.borderColor||h.color||C.color||"#666666"}),this.updatePosition({plotX:v,plotY:x,negative:h.negative,ttBelow:h.ttBelow,h:g[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}m(this,"refresh")}renderSplit(t,e){var i;let n=this,{chart:r,chart:{chartWidth:s,chartHeight:o,plotHeight:a,plotLeft:d,plotTop:p,scrollablePixelsY:f=0,scrollablePixelsX:m,styledMode:y},distance:v,options:x,options:{positioner:S},pointer:w}=n,{scrollLeft:C=0,scrollTop:M=0}=(null===(i=r.scrollablePlotArea)||void 0===i?void 0:i.scrollingContainer)||{},T=n.outside&&"number"!=typeof m?l.documentElement.getBoundingClientRect():{left:C,right:C+s,top:M,bottom:M+o},P=n.getLabel(),E=this.renderer||r.renderer,A=!(!r.xAxis[0]||!r.xAxis[0].opposite),{left:L,top:O}=w.getChartPosition(),D=p+M,I=0,z=a-f;function N(t,e,i,r){let s,o,a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return i?(s=A?0:z,o=u(t-r/2,T.left,T.right-r-(n.outside?L:0))):(s=e-D,o=u(o=a?t-r-v:t+v,a?o:T.left,T.right)),{x:o,y:s}}b(t)&&(t=[!1,t]);let j=t.slice(0,e.length+1).reduce((function(t,i,r){if(!1!==i&&""!==i){let s=e[r-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},o=s.isHeader,l=o?n:s.series,h=l.tt=function(t,e,i){let r=t,{isHeader:s,series:o}=e;if(!r){var a;let t={padding:x.padding,r:x.borderRadius};y||(t.fill=x.backgroundColor,t["stroke-width"]=null!==(a=x.borderWidth)&&void 0!==a?a:1),r=E.label("",0,0,x[s?"headerShape":"shape"],void 0,void 0,x.useHTML).addClass(n.getClassName(e,!0,s)).attr(t).add(P)}return r.isActive=!0,r.attr({text:i}),y||r.css(x.style).attr({stroke:x.borderColor||e.color||o.color||"#333333"}),r}(l.tt,s,i.toString()),c=h.getBBox(),f=c.width+h.strokeWidth();o&&(I=c.height,z+=I,A&&(D-=I));let{anchorX:g,anchorY:m}=function(t){let e,i,{isHeader:n,plotX:r=0,plotY:s=0,series:o}=t;if(n)e=Math.max(d+r,d),i=p+a/2;else{let{xAxis:t,yAxis:n}=o;e=t.pos+u(r,-v,t.len+v),o.shouldShowTooltip(0,n.pos-p+s,{ignoreX:!0})&&(i=n.pos+s)}return{anchorX:e=u(e,T.left-v,T.right+v),anchorY:i}}(s);if("number"==typeof m){let e=c.height+1,i=S?S.call(n,f,e,s):N(g,m,o,f);t.push({align:S?0:void 0,anchorX:g,anchorY:m,boxWidth:f,point:s,rank:k(i.rank,o?1:0),size:e,target:i.y,tt:h,x:i.x})}else h.isActive=!1}return t}),[]);!S&&j.some((t=>{let{outside:e}=n,i=(e?L:0)+t.anchorX;return ii}))&&(j=j.map((t=>{let{x:e,y:i}=N(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return g(t,{target:i,x:e})}))),n.cleanSplit(),c(j,z);let R={left:L,right:L};j.forEach((function(t){let{x:e,boxWidth:i,isHeader:r}=t;!r&&(n.outside&&L+eR.right&&(R.right=L+e))})),j.forEach((function(t){let{x:e,anchorX:i,anchorY:r,pos:s,point:{isHeader:o}}=t,a={visibility:void 0===s?"hidden":"inherit",x:e,y:(s||0)+D,anchorX:i,anchorY:r};if(n.outside&&e0&&(o||(a.x=e+t,a.anchorX=i+t),o&&(a.x=(R.right-R.left)/2,a.anchorX=i+t))}t.tt.attr(a)}));let{container:B,outside:_,renderer:F}=n;if(_&&B&&F){let{width:t,height:e,x:i,y:n}=P.getBBox();F.setSize(t+i,e+n,!1),B.style.left=R.left+"px",B.style.top=O+"px"}h&&P.attr({opacity:1===P.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let n={x:0,y:0,width:0,height:0},r=this.getAnchor(i),s=e.getBBox();r[0]+=t.plotLeft-(e.translateX||0),r[1]+=t.plotTop-(e.translateY||0),n.x=Math.min(0,r[0]),n.y=Math.min(0,r[1]),n.width=r[0]<0?Math.max(Math.abs(r[0]),s.width-r[0]):Math.max(Math.abs(r[0]),s.width),n.height=r[1]<0?Math.max(Math.abs(r[1]),s.height-Math.abs(r[1])):Math.max(Math.abs(r[1]),s.height),this.tracker?this.tracker.attr(n):(this.tracker=e.renderer.rect(n).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(t,e){let i=t.series,n=i.tooltipOptions,r=i.xAxis,s=r&&r.dateTime,a={isFooter:e,labelConfig:t},l=n.xDateFormat,h=n[e?"footerFormat":"headerFormat"];return m(this,"headerFormatter",a,(function(e){s&&!l&&v(t.key)&&(l=s.getXDateFormat(t.key,n.dateTimeLabelFormats)),s&&l&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach((function(t){h=h.replace("{point."+t+"}","{point."+t+":"+l+"}")})),i.chart.styledMode&&(h=this.styledModeFormat(h)),e.text=o(h,{point:t,series:i},this.chart)})),a.text}update(t){this.destroy(),this.init(this.chart,x(!0,this.options,t))}updatePosition(t){let e,{chart:i,container:n,distance:r,options:s,pointer:o,renderer:a}=this,{height:l=0,width:h=0}=this.getLabel(),{left:c,top:d,scaleX:u,scaleY:f}=o.getChartPosition(),g=(s.positioner||this.getPosition).call(this,h,l,t),m=(t.plotX||0)+i.plotLeft,y=(t.plotY||0)+i.plotTop;a&&n&&(s.positioner&&(g.x+=c-r,g.y+=d-r),e=(s.borderWidth||0)+2*r+2,a.setSize(h+e,l+e,!1),(1!==u||1!==f)&&(p(n,{transform:"scale(".concat(u,", ").concat(f,")")}),m*=u,y*=f),m+=c-g.x,y+=d-g.y),this.move(Math.round(g.x),Math.round(g.y||0),m,y)}}return(s=M||(M={})).compose=function(t){S(a,"Core.Tooltip")&&d(t,"afterInit",(function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new s(t,t.options.tooltip,this))}))},M})),i(e,"Core/Series/Point.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],(function(t,e,i,n,r){let{animObject:s}=e,{defaultOptions:o}=i,{format:a}=n,{addEvent:l,erase:h,extend:c,fireEvent:d,getNestedProperty:u,isArray:p,isFunction:f,isNumber:g,isObject:m,merge:y,pick:v,syncTimeout:b,removeEvent:x,uniqueKey:k}=r;class S{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach((function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)})),i.plural.forEach((function(e){t[e].forEach((function(e){e.element&&e.animate(c({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))}))}))}applyOptions(t,e){let i=this.series,n=i.options.pointValKey||i.pointValKey;return c(this,t=S.prototype.optionsToObject.call(this,t)),this.options=this.options?c(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,n&&(this.y=S.prototype.getNestedProperty.call(this,n)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=void 0===e?i.autoIncrement():e:g(t.x)&&i.options.relativeXValue&&(this.x=i.autoIncrement(t.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,n=e.options.dataSorting,r=i.hoverPoints,o=s(t.series.chart.renderer.globalAnimation),a=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(x(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),r&&(t.setState(),h(r,t),r.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),n&&n.enabled?(this.animateBeforeDestroy(),b(a,o.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach((function(t){e[t]=e[t].destroy()})),i.plural.forEach((function(t){e[t].forEach((function(t){t&&t.element&&t.destroy()})),delete e[t]}))}firePointEvent(t,e,i){let n=this,r=this.series.options;n.manageEvent(t),"click"===t&&r.allowPointSelect&&(i=function(t){!n.destroyed&&n.select&&n.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),d(n,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i,n=this,r=[],s={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&r.push("graphic","connector"),t.dataLabel&&r.push("dataLabel","dataLabelPath","dataLabelUpper"),i=r.length;i--;)n[e=r[i]]&&s.singular.push(e);return["graphic","dataLabel"].forEach((function(e){let i=e+"s";t[e]&&n[i]&&s.plural.push(i)})),s}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(t){return t?0===t.indexOf("custom.")?u(t,this.options):this[t]:void 0}getZone(){let t,e=this.series,i=e.zones,n=e.zoneAxis||"y",r=0;for(t=i[0];this[n]>=t.value;)t=i[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),t&&t.color&&!this.options.color?this.color=t.color:this.color=this.nonZonedColor,t}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){var n;this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),null!==(n=this.id)&&void 0!==n||(this.id=k()),this.resolveColor(),t.chart.pointCount++,d(this,"afterInit")}isValid(){return(g(this.x)||this.x instanceof Date)&&g(this.y)}optionsToObject(t){let e,i=this.series,n=i.options.keys,r=n||i.pointArrayMap||["y"],s=r.length,o={},a=0,l=0;if(g(t)||null===t)o[r[0]]=t;else if(p(t))for(!n&&t.length>s&&("string"==(e=typeof t[0])?o.name=t[0]:"number"===e&&(o.x=t[0]),a++);l0?S.prototype.setNestedProperty(o,t[a],r[l]):o[r[l]]=t[a]),a++,l++;else"object"==typeof t&&(o=t,t.dataLabels&&(i.hasDataLabels=()=>!0),t.marker&&(i._hasPointMarkers=!0));return o}pos(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.plotY;if(!this.destroyed){let{plotX:i,series:n}=this,{chart:r,xAxis:s,yAxis:o}=n,a=0,l=0;if(g(i)&&g(e))return t&&(a=s?s.pos:r.plotLeft,l=o?o.pos:r.plotTop),r.inverted&&s&&o?[o.len-e+l,s.len-i+a]:[i+a,e+l]}}resolveColor(){let t,e,i,n=this.series,r=n.chart.options.chart,s=n.chart.styledMode,o=r.colorCount;delete this.nonZonedColor,n.options.colorByPoint?(s||(t=(e=n.options.colors||n.chart.options.colors)[n.colorCounter],o=e.length),i=n.colorCounter,n.colorCounter++,n.colorCounter===o&&(n.colorCounter=0)):(s||(t=n.color),i=n.colorIndex),this.colorIndex=v(this.options.colorIndex,i),this.color=v(this.options.color,t)}setNestedProperty(t,e,i){return i.split(".").reduce((function(t,i,n,r){let s=r.length-1===n;return t[i]=s?e:m(t[i],!0)?t[i]:{},t[i]}),t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let e=this.series,i=e.tooltipOptions,n=v(i.valueDecimals,""),r=i.valuePrefix||"",s=i.valueSuffix||"";return e.chart.styledMode&&(t=e.chart.tooltip.styledModeFormat(t)),(e.pointArrayMap||["y"]).forEach((function(e){e="{point."+e,(r||s)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+s)),t=t.replace(RegExp(e+"}","g"),e+":,."+n+"f}")})),a(t,{point:this,series:this.series},e.chart)}update(t,e,i,n){let r,s=this,o=s.series,a=s.graphic,l=o.chart,h=o.options;function c(){s.applyOptions(t);let n=a&&s.hasMockGraphic,c=null===s.y?!n:n;a&&c&&(s.graphic=a.destroy(),delete s.hasMockGraphic),m(t,!0)&&(a&&a.element&&t&&t.marker&&void 0!==t.marker.symbol&&(s.graphic=a.destroy()),null!==t&&void 0!==t&&t.dataLabels&&s.dataLabel&&(s.dataLabel=s.dataLabel.destroy())),r=s.index,o.updateParallelArrays(s,r),h.data[r]=m(h.data[r],!0)||m(t,!0)?s.options:v(t,h.data[r]),o.isDirty=o.isDirtyData=!0,!o.fixedBox&&o.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===h.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=v(e,!0),!1===n?c():s.firePointEvent("update",{options:t},c)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,n=i.series,r=n.chart;t=v(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},(function(){i.selected=i.options.selected=t,n.options.data[n.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||r.getSelectedPoints().forEach((function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(r.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))}))})),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach((function(t){t.setState()})),t.hoverPoints=t.hoverPoint=null}manageEvent(t){var e,i,n,r;let s=null===(e=y(this.series.options.point,this.options).events)||void 0===e?void 0:e[t];!f(s)||null!==(i=this.hcEvents)&&void 0!==i&&i[t]&&-1!==(null===(n=this.hcEvents)||void 0===n||null===(n=n[t])||void 0===n?void 0:n.map((t=>t.fn)).indexOf(s))?this.hasImportedEvents&&!s&&(null===(r=this.hcEvents)||void 0===r?void 0:r[t])&&(x(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(l(this,t,s),this.hasImportedEvents=!0)}setState(e,i){let n,r,s,a,l=this.series,h=this.state,u=l.options.states[e||"normal"]||{},p=o.plotOptions[l.type].marker&&l.options.marker,f=p&&!1===p.enabled,m=p&&p.states&&p.states[e||"normal"]||{},y=!1===m.enabled,b=this.marker||{},x=l.chart,k=p&&l.markerAttribs,S=l.halo,w=l.stateMarkerGraphic;if((e=e||"")===this.state&&!i||this.selected&&"select"!==e||!1===u.enabled||e&&(y||f&&!1===m.enabled)||e&&b.states&&b.states[e]&&!1===b.states[e].enabled)return;if(this.state=e,k&&(n=l.markerAttribs(this,e)),this.graphic&&!this.hasMockGraphic){if(h&&this.graphic.removeClass("highcharts-point-"+h),e&&this.graphic.addClass("highcharts-point-"+e),!x.styledMode){r=l.pointAttribs(this,e),s=v(x.options.chart.animation,u.animation);let t=r.opacity;l.options.inactiveOtherPoints&&g(t)&&(this.dataLabels||[]).forEach((function(e){e&&!e.hasClass("highcharts-data-label-hidden")&&(e.animate({opacity:t},s),e.connector&&e.connector.animate({opacity:t},s))})),this.graphic.animate(r,s)}n&&this.graphic.animate(n,v(x.options.chart.animation,m.animation,p.animation)),w&&w.hide()}else e&&m&&(a=b.symbol||l.symbol,w&&w.currentSymbol!==a&&(w=w.destroy()),n&&(w?w[i?"animate":"attr"]({x:n.x,y:n.y}):a&&(l.stateMarkerGraphic=w=x.renderer.symbol(a,n.x,n.y,n.width,n.height).add(l.markerGroup),w.currentSymbol=a)),!x.styledMode&&w&&"inactive"!==this.state&&w.attr(l.pointAttribs(this,e))),w&&(w[e&&this.isInside?"show":"hide"](),w.element.point=this,w.addClass(this.getClassName(),!0));let C=u.halo,M=this.graphic||w,T=M&&M.visibility||"inherit";C&&C.size&&M&&"hidden"!==T&&!this.isCluster?(S||(l.halo=S=x.renderer.path().add(M.parentGroup)),S.show()[i?"animate":"attr"]({d:this.haloPath(C.size)}),S.attr({class:"highcharts-halo highcharts-color-"+v(this.colorIndex,l.colorIndex)+(this.className?" "+this.className:""),visibility:T,zIndex:-1}),S.point=this,x.styledMode||S.attr(c({fill:this.color||l.color,"fill-opacity":C.opacity},t.filterUserAttributes(C.attributes||{})))):S&&S.point&&S.point.haloPath&&S.animate({d:S.point.haloPath(0)},null,S.hide),d(this,"afterSetState",{state:e})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(Math.floor(e[0])-t,e[1]-t,2*t,2*t):[]}}return S})),i(e,"Core/Pointer.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){var n;let{parse:r}=t,{charts:s,composed:o,isTouchDevice:a}=e,{addEvent:l,attr:h,css:c,extend:d,find:u,fireEvent:p,isNumber:f,isObject:g,objectEach:m,offset:y,pick:v,pushUnique:b,splat:x}=i;class k{applyInactiveState(t){let e,i=[];(t||[]).forEach((function(t){e=t.series,i.push(e),e.linkedParent&&i.push(e.linkedParent),e.linkedSeries&&(i=i.concat(e.linkedSeries)),e.navigatorSeries&&i.push(e.navigatorSeries)})),this.chart.series.forEach((function(t){-1===i.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")}))}destroy(){let t=this;this.eventsToUnbind.forEach((t=>t())),this.eventsToUnbind=[],!e.chartCount&&(k.unbindDocumentMouseUp&&(k.unbindDocumentMouseUp=k.unbindDocumentMouseUp()),k.unbindDocumentTouchEnd&&(k.unbindDocumentTouchEnd=k.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),m(t,(function(e,i){t[i]=void 0}))}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return p(this,"getSelectionMarkerAttrs",i,(i=>{let n,{chart:r,zoomHor:s,zoomVert:o}=this,{mouseDownX:a=0,mouseDownY:l=0}=r,h=i.attrs;h.x=r.plotLeft,h.y=r.plotTop,h.width=s?1:r.plotWidth,h.height=o?1:r.plotHeight,s&&(n=t-a,h.width=Math.max(1,Math.abs(n)),h.x=(n>0?0:n)+a),o&&(n=e-l,h.height=Math.max(1,Math.abs(n)),h.y=(n>0?0:n)+l)})),i}drag(t){let e,{chart:i}=this,{mouseDownX:n=0,mouseDownY:s=0}=i,{panning:o,panKey:a,selectionMarkerFill:l}=i.options.chart,h=i.plotLeft,c=i.plotTop,d=i.plotWidth,u=i.plotHeight,p=g(o)?o.enabled:o,f=a&&t["".concat(a,"Key")],m=t.chartX,y=t.chartY,v=this.selectionMarker;if((!v||!v.touch)&&(mh+d&&(m=h+d),yc+u&&(y=c+u),this.hasDragged=Math.sqrt(Math.pow(n-m,2)+Math.pow(s-y,2)),this.hasDragged>10)){e=i.isInsidePlot(n-h,s-c,{visiblePlotOnly:!0});let{shapeType:a,attrs:d}=this.getSelectionMarkerAttrs(m,y);(i.hasCartesianSeries||i.mapView)&&this.hasZoom&&e&&!f&&!v&&(this.selectionMarker=v=i.renderer[a](),v.attr({class:"highcharts-selection-marker",zIndex:7}).add(),i.styledMode||v.attr({fill:l||r("#334eff").setOpacity(.25).get()})),v&&v.attr(d),e&&!v&&p&&i.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return p(this,"getSelectionBox",e),e.result}drop(t){let e,{chart:i,selectionMarker:n}=this;for(let r of i.axes)r.isPanning&&(r.isPanning=!1,(r.options.startOnTick||r.options.endOnTick||r.series.some((t=>t.boosted)))&&(r.forceRedraw=!0,r.setExtremes(r.userMin,r.userMax,!1),e=!0));if(e&&i.redraw(),n&&t){if(this.hasDragged){let e=this.getSelectionBox(n);i.transform({axes:i.axes.filter((t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY))),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}f(i.index)&&(this.selectionMarker=n.destroy())}i&&f(i.index)&&(c(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let n;return t.forEach((function(t){let r=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),s=t.searchPoint(i,r);g(s,!0)&&s.series&&(!g(n,!0)||function(t,i,n,r){let s=t.distX-i.distX,o=t.dist-i.dist,a=(null===(n=i.series.group)||void 0===n?void 0:n.zIndex)-(null===(r=t.series.group)||void 0===r?void 0:r.zIndex);return 0!==s&&e?s:0!==o?o:0!==a?a:t.series.index>i.series.index?-1:1}(n,s)>0)&&(n=s)})),n}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:n}=t.series,r=t.shapeArgs;if(i&&n){var s,o;let a=null!==(s=null!==(o=t.clientX)&&void 0!==o?o:t.plotX)&&void 0!==s?s:0,l=t.plotY||0;return t.isNode&&r&&f(r.x)&&f(r.y)&&(a=r.x,l=r.y),e?{chartX:n.len+n.pos-l,chartY:i.len+i.pos-a}:{chartX:a+i.pos,chartY:l+n.pos}}if(r&&r.x&&r.y)return{chartX:r.x,chartY:r.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=y(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:n}=t;return n>2&&i>2&&(this.chartPosition.scaleX=e.width/n,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,n,r,s){let o,a=[],l=function(t){return t.visible&&!(!r&&t.directTouch)&&v(t.options.enableMouseTracking,!0)},h=e,c={chartX:s?s.chartX:void 0,chartY:s?s.chartY:void 0,shared:r};p(this,"beforeGetHoverData",c),o=h&&!h.stickyTracking?[h]:i.filter((t=>t.stickyTracking&&(c.filter||l)(t)));let d=n&&t||!s?t:this.findNearestKDPoint(o,r,s);return h=d&&d.series,d&&(r&&!h.noSharedTooltip?(o=i.filter((function(t){return c.filter?c.filter(t):l(t)&&!t.noSharedTooltip}))).forEach((function(t){let e=u(t.points,(function(t){return t.x===d.x&&!t.isNull}));g(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))})):a.push(d)),p(this,"afterGetHoverData",c={hoverPoint:d}),{hoverPoint:c.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e,i=t.target;for(;i&&!e;)e=i.point,i=i.parentNode;return e}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,n=e.hoverSeries;this.isDirectTouch=!1,!n||!i||n.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+n.index)&&this.inClass(i,"highcharts-tracker")||n.onMouseOut()}inClass(t,e){let i,n=t;for(;n;){if(i=h(n,"class")){if(-1!==i.indexOf(e))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}n=n.parentElement}}constructor(t,e){var i;this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!(null===(i=e.chart.events)||void 0===i||!i.click),this.pinchDown=[],this.setDOMEvents(),p(this,"afterInit")}normalize(t,e){let i=t.touches,n=i?i.length?i.item(0):v(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let r=n.pageX-e.left,s=n.pageY-e.top;return d(t,{chartX:Math.round(r/=e.scaleX),chartY:Math.round(s/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,n=this.normalize(t),r=e.plotLeft,s=e.plotTop;!e.cancelClick&&(i&&this.inClass(n.target,"highcharts-tracker")?(p(i.series,"click",d(n,{point:i})),e.hoverPoint&&i.firePointEvent("click",n)):(d(n,this.getCoordinates(n)),e.isInsidePlot(n.chartX-r,n.chartY-s,{visiblePlotOnly:!0})&&p(e,"click",n)))}onContainerMouseDown(t){var i,n;let r=1==(1&(t.buttons||t.button));t=this.normalize(t),e.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||r)&&(this.zoomOption(t),r&&null!==(i=(n=t).preventDefault)&&void 0!==i&&i.call(n),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=s[v(k.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&t.relatedTarget&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,n=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(n))&&this.drag(n),!e.openMenu&&(this.inClass(n.target,"highcharts-tracker")||e.isInsidePlot(n.chartX-e.plotLeft,n.chartY-e.plotTop,{visiblePlotOnly:!0}))&&(!i||!i.shouldStickOnContact(n))&&(this.inClass(n.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(n))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,n=this.chartPosition,r=this.normalize(t,n);!n||e.isInsidePlot(r.chartX-e.plotLeft,r.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(r)||this.inClass(r.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){var e;null===(e=s[v(k.hoverChartIndex,-1)])||void 0===e||null===(e=e.pointer)||void 0===e||e.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:n,lastTouches:r}=e,s=[].map.call(t.touches||[],(t=>e.normalize(t))),o=s.length,a=1===o&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,h=1===o&&v(null===l||void 0===l?void 0:l.options.followTouchMove,!0);o>1?e.initiated=!0:h&&(e.initiated=!1),n&&e.initiated&&!a&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=s,e.res=!0):h?this.runPointActions(e.normalize(t)):r&&(p(i,"touchpan",{originalEvent:t,touches:s},(()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter((t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz))),to:e(s),from:e(r),trigger:t.type})})),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=s}reset(t,e){let i=this.chart,n=i.hoverSeries,r=i.hoverPoint,s=i.hoverPoints,o=i.tooltip,a=o&&o.shared?s:r;t&&a&&x(a).forEach((function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)})),t?o&&a&&x(a).length&&(o.refresh(a),o.shared&&s?s.forEach((function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))})):r&&(r.setState(r.state,!0),i.axes.forEach((function(t){t.crosshair&&r.series[t.coll]===t&&t.drawCrosshair(null,r)})))):(r&&r.onMouseOut(),s&&s.forEach((function(t){t.setState()})),n&&n.onMouseOut(),o&&o.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach((function(t){t.hideCrosshair()})),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let n=this.chart,r=n.series,o=n.tooltip&&n.tooltip.options.enabled?n.tooltip:void 0,a=!!o&&o.shared,h=e||n.hoverPoint,c=h&&h.series||n.hoverSeries,d=(!t||"touchmove"!==t.type)&&(!!e||c&&c.directTouch&&this.isDirectTouch),p=this.getHoverData(h,c,r,d,a,t);h=p.hoverPoint,c=p.hoverSeries;let f=p.hoverPoints,g=c&&c.tooltipOptions.followPointer&&!c.tooltipOptions.split,m=a&&c&&!c.noSharedTooltip;if(h&&(i||h!==n.hoverPoint||o&&o.isHidden)){if((n.hoverPoints||[]).forEach((function(t){-1===f.indexOf(t)&&t.setState()})),n.hoverSeries!==c&&c.onMouseOver(),this.applyInactiveState(f),(f||[]).forEach((function(t){t.setState("hover")})),n.hoverPoint&&n.hoverPoint.firePointEvent("mouseOut"),!h.series)return;n.hoverPoints=f,n.hoverPoint=h,h.firePointEvent("mouseOver",void 0,(()=>{o&&h&&o.refresh(m?f:h,t)}))}else if(g&&o&&!o.isHidden){let e=o.getAnchor([{}],t);n.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&o.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=l(n.container.ownerDocument,"mousemove",(t=>{var e,i;return null===(e=s[null!==(i=k.hoverChartIndex)&&void 0!==i?i:-1])||void 0===e||null===(e=e.pointer)||void 0===e?void 0:e.onDocumentMouseMove(t)})),this.eventsToUnbind.push(this.unDocMouseMove)),n.axes.forEach((function(e){let i,r=v((e.crosshair||{}).snap,!0);!r||(i=n.hoverPoint)&&i.series[e.coll]===e||(i=u(f,(t=>t.series&&t.series[e.coll]===e))),i||!r?e.drawCrosshair(t,i):e.hideCrosshair()}))}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(l(t,"mouseenter",this.onContainerMouseEnter.bind(this)),l(t,"mouseleave",this.onContainerMouseLeave.bind(this))),k.unbindDocumentMouseUp||(k.unbindDocumentMouseUp=l(e,"mouseup",this.onDocumentMouseUp.bind(this)));let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(l(i,"scroll",(()=>{delete this.chartPosition}))),i=i.parentElement;this.eventsToUnbind.push(l(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),l(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),k.unbindDocumentTouchEnd||(k.unbindDocumentTouchEnd=l(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),l(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){var t,e;if(!a)return;let i=this.pointerCaptureEventsToUnbind,n=this.chart,r=n.container,s=v(null===(t=n.options.tooltip)||void 0===t?void 0:t.followTouchMove,!0)&&n.series.some((t=>t.options.findNearestPointBy.indexOf("y")>-1));!this.hasPointerCapture&&s?(i.push(l(r,"pointerdown",(t=>{var e,i;(null===(e=t.target)||void 0===e?void 0:e.hasPointerCapture(t.pointerId))&&(null===(i=t.target)||void 0===i||i.releasePointerCapture(t.pointerId))})),l(r,"pointermove",(t=>{var e;null===(e=n.pointer)||void 0===e||null===(e=e.getPointFromEvent(t))||void 0===e||e.onMouseOver(t)}))),n.styledMode||c(r,{"touch-action":"none"}),r.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(i.forEach((t=>t())),i.length=0,n.styledMode||c(r,{"touch-action":v(null===(e=n.options.chart.style)||void 0===e?void 0:e["touch-action"],"manipulation")}),r.className=r.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){var i;let n=this.chart,r=e.charts[v(k.hoverChartIndex,-1)];r&&r!==n&&null!==(i=r.pointer)&&void 0!==i&&i.onContainerMouseLeave(t||{relatedTarget:n.container}),r&&r.mouseIsDown||(k.hoverChartIndex=n.index)}touch(t,e){let i,{chart:n,pinchDown:r=[]}=this;this.setHoverChartIndex(),1===t.touches.length?(t=this.normalize(t),n.isInsidePlot(t.chartX-n.plotLeft,t.chartY-n.plotTop,{visiblePlotOnly:!0})&&!n.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!r[0]&&Math.pow(r[0].chartX-t.chartX,2)+Math.pow(r[0].chartY-t.chartY,2)>=16),v(i,!0)&&this.pinch(t)):e&&this.reset()):2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let e,i,n=this.chart,r=n.inverted,s=n.zooming.type||"";/touch/.test(t.type)&&(s=v(n.zooming.pinchType,s)),this.zoomX=e=/x/.test(s),this.zoomY=i=/y/.test(s),this.zoomHor=e&&!r||i&&r,this.zoomVert=i&&!r||e&&r,this.hasZoom=e||i}}return(n=k||(k={})).compose=function(t){b(o,"Core.Pointer")&&l(t,"beforeRender",(function(){this.pointer=new n(this,this.options)}))},k})),i(e,"Core/Legend/Legend.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Series/Point.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,n,r,s){var o;let{animObject:a,setAnimation:l}=t,{format:h}=e,{composed:c,marginNames:d}=i,{distribute:u}=r,{addEvent:p,createElement:f,css:g,defined:m,discardElement:y,find:v,fireEvent:b,isNumber:x,merge:k,pick:S,pushUnique:w,relativeLength:C,stableSort:M,syncTimeout:T}=s;class P{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),p(this.chart,"endResize",(function(){this.legend.positionCheckboxes()}))),p(this.chart,"render",(()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())}))}setOptions(t){let e=S(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=k(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=S(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(k(!0,this.options,t)),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,S(e,!0)&&i.redraw(),b(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let{area:i,group:n,label:r,line:s,symbol:o}=t.legendItem||{};if(null!==n&&void 0!==n&&n[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:n={}}=this,a=n.color,{fillColor:l,fillOpacity:h,lineColor:c,marker:d}=t.options,u=t=>(!e&&(t.fill&&(t.fill=a),t.stroke&&(t.stroke=a)),t);null!==r&&void 0!==r&&r.css(k(e?this.itemStyle:n)),null!==s&&void 0!==s&&s.attr(u({stroke:c||t.color})),o&&o.attr(u(d&&o.isMarker?t.pointAttribs():{fill:t.color})),null===i||void 0===i||i.attr(u({fill:l||t.color,"fill-opacity":l?1:null!==h&&void 0!==h?h:.75}))}b(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:n=0}=t.legendItem||{},r=this.options,s=r.symbolPadding,o=!r.rtl,a=t.checkbox;if(e&&e.element){let r={translateX:o?i:this.legendWidth-i-2*s-4,translateY:n};e[m(e.translateY)?"animate":"attr"](r,void 0,(()=>{b(this,"afterPositionItem",{item:t})}))}a&&(a.x=i,a.y=n)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let n of["group","label","line","symbol"])i[n]&&(i[n]=i[n].destroy());e&&y(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t,e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,n=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach((function(r){let s,o=r.checkbox;o&&(s=t+n+o.y+(this.scrollOffset||0)+3,g(o,{left:e.translateX+r.checkboxOffset+o.x-20+"px",top:s+"px",display:this.proximate||s>t-6&&s1.5*w?x.height:w))}layoutItem(t){let e=this.options,i=this.padding,n="horizontal"===e.layout,r=t.itemHeight,s=this.itemMarginBottom,o=this.itemMarginTop,a=n?S(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,c=t.legendItem||{};n&&this.itemX-i+h>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=o+this.lastLineHeight+s),this.lastLineHeight=0),this.lastItemY=o+this.itemY+s,this.lastLineHeight=Math.max(r,this.lastLineHeight),c.x=this.itemX,c.y=this.itemY,n?this.itemX+=h:(this.itemY+=o+r+s,this.lastLineHeight=r),this.offsetWidth=this.widthOption||Math.max((n?this.itemX-i-(t.checkbox?0:a):h)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach((function(e){let i=e&&e.options;e&&S(i.showInLegend,!m(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))})),b(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,n=this.options,r=this.getAlignment();r&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach((function(s,o){s.test(r)&&!m(t[o])&&(i[d[o]]=Math.max(i[d[o]],i.legend[(o+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][o]*n[o%2?"x":"y"]+S(n.margin,12)+e[o]+(i.titleOffset[o]||0)))}))}proximatePositions(){let t,e=this.chart,i=[],n="left"===this.options.align;for(let r of(this.allItems.forEach((function(t){let r,s,o,a,l=n;t.yAxis&&(t.xAxis.options.reversed&&(l=!l),t.points&&(r=v(l?t.points:t.points.slice(0).reverse(),(function(t){return x(t.plotY)}))),s=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,a=t.yAxis.top-e.plotTop,o=t.visible?(r?r.plotY:t.yAxis.height)+(a-.3*s):a+t.yAxis.height,i.push({target:o,size:s,item:t}))}),this),u(i,e.plotHeight)))t=r.item.legendItem||{},x(r.pos)&&(t.y=e.plotTop-e.spacing[0]+r.pos)}render(){let t,e,i,n,r=this.chart,s=r.renderer,o=this.options,a=this.padding,l=this.getAllItems(),h=this.group,c=this.box;this.itemX=a,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=C(o.width,r.spacingBox.width-a),n=r.spacingBox.width-2*a-o.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(n/=2),this.maxLegendWidth=this.widthOption||n,h||(this.group=h=s.g("legend").addClass(o.className||"").attr({zIndex:7}).add(),this.contentGroup=s.g().attr({zIndex:1}).add(h),this.scrollGroup=s.g().add(this.contentGroup)),this.renderTitle(),M(l,((t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0))),o.reversed&&l.reverse(),this.allItems=l,this.display=t=!!l.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,l.forEach(this.renderItem,this),l.forEach(this.layoutItem,this),e=(this.widthOption||this.offsetWidth)+a,i=this.lastItemY+this.lastLineHeight+this.titleHeight,i=this.handleOverflow(i)+a,c||(this.box=c=s.rect().addClass("highcharts-legend-box").attr({r:o.borderRadius}).add(h)),r.styledMode||c.attr({stroke:o.borderColor,"stroke-width":o.borderWidth||0,fill:o.backgroundColor||"none"}).shadow(o.shadow),e>0&&i>0&&c[c.placed?"animate":"attr"](c.crisp.call({},{x:0,y:0,width:e,height:i},c.strokeWidth())),h[t?"show":"hide"](),r.styledMode&&"none"===h.getStyle("display")&&(e=i=0),this.legendWidth=e,this.legendHeight=i,t&&this.align(),this.proximate||this.positionItems(),b(this,"afterRender")}align(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.chart.spacingBox,e=this.chart,i=this.options,n=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?n+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(n-=e.titleOffset[2]),n!==t.y&&(t=k(t,{y:n})),e.hasRendered||(this.group.placed=!1),this.group.align(k(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e,i,n,r=this,s=this.chart,o=s.renderer,a=this.options,l=a.y,h="top"===a.verticalAlign,c=this.padding,d=a.maxHeight,u=a.navigation,p=S(u.animation,!0),f=u.arrowSize||12,g=this.pages,m=this.allItems,y=function(t){"number"==typeof t?k.attr({height:t}):k&&(r.clipRect=k.destroy(),r.contentGroup.clip()),r.contentGroup.div&&(r.contentGroup.div.style.clip=t?"rect("+c+"px,9999px,"+(c+t)+"px,0)":"auto")},v=function(t){return r[t]=o.circle(0,0,1.3*f).translate(f/2,f/2).add(x),s.styledMode||r[t].attr("fill","rgba(0,0,0,0.0001)"),r[t]},b=s.spacingBox.height+(h?-l:l)-c,x=this.nav,k=this.clipRect;return"horizontal"!==a.layout||"middle"===a.verticalAlign||a.floating||(b/=2),d&&(b=Math.min(b,d)),g.length=0,t&&b>0&&t>b&&!1!==u.enabled?(this.clipHeight=e=Math.max(b-20-this.titleHeight-c,0),this.currentPage=S(this.currentPage,1),this.fullHeight=t,m.forEach(((t,r)=>{let s=(n=t.legendItem||{}).y||0,o=Math.round(n.label.getBBox().height),a=g.length;(!a||s-g[a-1]>e&&(i||s)!==g[a-1])&&(g.push(i||s),a++),n.pageIx=a-1,i&&((m[r-1].legendItem||{}).pageIx=a-1),r===m.length-1&&s+o-g[a-1]>e&&s>g[a-1]&&(g.push(s),n.pageIx=a),s!==i&&(i=s)})),k||(k=r.clipRect=o.clipRect(0,c-2,9999,0),r.contentGroup.clip(k)),y(e),x||(this.nav=x=o.g().attr({zIndex:1}).add(this.group),this.up=o.symbol("triangle",0,0,f,f).add(x),v("upTracker").on("click",(function(){r.scroll(-1,p)})),this.pager=o.text("",15,10).addClass("highcharts-legend-navigation"),!s.styledMode&&u.style&&this.pager.css(u.style),this.pager.add(x),this.down=o.symbol("triangle-down",0,0,f,f).add(x),v("downTracker").on("click",(function(){r.scroll(1,p)}))),r.scroll(0),t=b):x&&(y(),this.nav=x.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,n=this.pages,r=n.length,s=this.clipHeight,o=this.options.navigation,h=this.pager,c=this.padding,d=this.currentPage+t;d>r&&(d=r),d>0&&(void 0!==e&&l(e,i),this.nav.attr({translateX:c,translateY:s+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach((function(t){t.attr({class:1===d?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})})),h.attr({text:d+"/"+r}),[this.down,this.downTracker].forEach((function(t){t.attr({x:18+this.pager.getBBox().width,class:d===r?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),this),i.styledMode||(this.up.attr({fill:1===d?o.inactiveColor:o.activeColor}),this.upTracker.css({cursor:1===d?"default":"pointer"}),this.down.attr({fill:d===r?o.inactiveColor:o.activeColor}),this.downTracker.css({cursor:d===r?"default":"pointer"})),this.scrollOffset=-n[d-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=d,this.positionCheckboxes(),T((()=>{b(this,"afterScroll",{currentPage:d})}),a(S(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let r=this,s=t.legendItem||{},o=r.chart.renderer.boxWrapper,a=t instanceof n,l="highcharts-legend-"+(a?"point":"series")+"-active",h=r.chart.styledMode,c=i?[e,s.symbol]:[s.group],d=e=>{r.allItems.forEach((i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach((t=>{t.setState(e,!a)}))}))};for(let n of c)n&&n.on("mouseover",(function(){t.visible&&d("inactive"),t.setState("hover"),t.visible&&o.addClass(l),h||e.css(r.options.itemHoverStyle)})).on("mouseout",(function(){r.chart.styledMode||e.css(k(t.visible?r.itemStyle:r.itemHiddenStyle)),d(""),o.removeClass(l),t.setState()})).on("click",(function(e){let i="legendItemClick",n=function(){t.setVisible&&t.setVisible(),d(t.visible?"inactive":"")};o.removeClass(l),e={browserEvent:e},t.firePointEvent?t.firePointEvent(i,e,n):b(t,i,e,n)}))}createCheckboxForItem(t){t.checkbox=f("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),p(t.checkbox,"click",(function(e){let i=e.target;b(t.series||t,"checkboxClick",{checked:i.checked,item:t},(function(){t.select()}))}))}}return(o=P||(P={})).compose=function(t){w(c,"Core.Legend")&&p(t,"beforeMargins",(function(){this.legend=new o(this,this.options.legend)}))},P})),i(e,"Core/Legend/LegendSymbol.js",[e["Core/Utilities.js"]],(function(t){var e;let{extend:i,merge:n,pick:r}=t;return function(t){function e(t,e,s){let o,a=this.legendItem=this.legendItem||{},{chart:l,options:h}=this,{baseline:c=0,symbolWidth:d,symbolHeight:u}=t,p=this.symbol||"circle",f=u/2,g=l.renderer,m=a.group,y=c-Math.round(u*(s?.4:.3)),v={},b=h.marker,x=0;if(l.styledMode||(v["stroke-width"]=Math.min(h.lineWidth||0,24),h.dashStyle?v.dashstyle=h.dashStyle:"square"===h.linecap||(v["stroke-linecap"]="round")),a.line=g.path().addClass("highcharts-graph").attr(v).add(m),s&&(a.area=g.path().addClass("highcharts-area").add(m)),v["stroke-linecap"]&&(x=Math.min(a.line.strokeWidth(),d)/2),d){var k;let t=[["M",x,y],["L",d-x,y]];a.line.attr({d:t}),null===(k=a.area)||void 0===k||k.attr({d:[...t,["L",d-x,c],["L",x,c]]})}if(b&&!1!==b.enabled&&d){let t=Math.min(r(b.radius,f),f);0===p.indexOf("url")&&(b=n(b,{width:u,height:u}),t=0),a.symbol=o=g.symbol(p,d/2-t,y-t,2*t,2*t,i({context:"legend"},b)).addClass("highcharts-point").add(m),o.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},n=t.options,s=t.symbolHeight,o=n.squareSymbol,a=o?s:t.symbolWidth;i.symbol=this.chart.renderer.rect(o?(t.symbolWidth-s)/2:0,t.baseline-s+1,a,s,r(t.options.symbolRadius,s/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(e||(e={})),e})),i(e,"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:t}=this.series.chart;return"number"!=typeof this.y?"":t(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"}})),i(e,"Core/Series/SeriesRegistry.js",[e["Core/Globals.js"],e["Core/Defaults.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],(function(t,e,i,n){var r;let{defaultOptions:s}=e,{extend:o,extendClass:a,merge:l}=n;return function(e){function n(t,n){let r=s.plotOptions||{},o=n.defaultOptions,a=n.prototype;return a.type=t,a.pointClass||(a.pointClass=i),!e.seriesTypes[t]&&(o&&(r[t]=o),e.seriesTypes[t]=n,!0)}e.seriesTypes=t.seriesTypes,e.registerSeriesType=n,e.seriesType=function(t,r,h,c,d){let u=s.plotOptions||{};if(r=r||"",u[t]=l(u[r],h),delete e.seriesTypes[t],n(t,a(e.seriesTypes[r]||function(){},c)),e.seriesTypes[t].prototype.type=t,d){class n extends i{}o(n.prototype,d),e.seriesTypes[t].prototype.pointClass=n}return e.seriesTypes[t]}}(r||(r={})),r})),i(e,"Core/Series/Series.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],(function(t,e,i,n,r,s,o,a,l,h){let{animObject:c,setAnimation:d}=t,{defaultOptions:u}=e,{registerEventOptions:p}=i,{svg:f,win:g}=n,{seriesTypes:m}=a,{arrayMax:y,arrayMin:v,clamp:b,correctFloat:x,defined:k,destroyObjectProperties:S,diffObjects:w,erase:C,error:M,extend:T,find:P,fireEvent:E,getClosestDistance:A,getNestedProperty:L,insertItem:O,isArray:D,isNumber:I,isString:z,merge:N,objectEach:j,pick:R,removeEvent:B,splat:_,syncTimeout:F}=h;class W{constructor(){this.zoneAxis="y"}init(t,e){let i;E(this,"init",{options:e});let n=this,r=t.series;this.eventsToUnbind=[],n.chart=t,n.options=n.setOptions(e);let s=n.options,o=!1!==s.visible;n.linkedSeries=[],n.bindAxes(),T(n,{name:s.name,state:"",visible:o,selected:!0===s.selected}),p(this,s);let a=s.events;(a&&a.click||s.point&&s.point.events&&s.point.events.click||s.allowPointSelect)&&(t.runTrackerClick=!0),n.getColor(),n.getSymbol(),n.parallelArrays.forEach((function(t){n[t+"Data"]||(n[t+"Data"]=[])})),n.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),n._i=R(i&&i._i,-1)+1,n.opacity=n.options.opacity,t.orderItems("series",O(this,r)),s.dataSorting&&s.dataSorting.enabled?n.setDataSortingOptions():n.points||n.data||n.setData(s.data,!1),E(this,"afterInit")}is(t){return m[t]&&this instanceof m[t]}bindAxes(){let t,e=this,i=e.options,n=e.chart;E(this,"bindAxes",null,(function(){(e.axisTypes||[]).forEach((function(r){(n[r]||[]).forEach((function(n){t=n.options,(R(i[r],0)===n.index||void 0!==i[r]&&i[r]===t.id)&&(O(e,n.series),e[r]=n,n.isDirty=!0)})),e[r]||e.optionalAxis===r||M(18,!0,n)}))})),E(this,"afterBindAxes")}updateParallelArrays(t,e,i){let n=t.series,r=I(e)?function(i){let r="y"===i&&n.toYData?n.toYData(t):t[i];n[i+"Data"][e]=r}:function(t){Array.prototype[e].apply(n[t+"Data"],i)};n.parallelArrays.forEach(r)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(t,e){let i=t.marker,n=e.marker||{};return i&&(n.enabled&&!i.enabled||n.symbol!==i.symbol||n.height!==i.height||n.width!==i.width)}autoIncrement(t){let e,i,n=this.options,r=n.pointIntervalUnit,s=n.relativeXValue,o=this.chart.time,a=this.xIncrement;return a=R(a,n.pointStart,0),this.pointInterval=i=R(this.pointInterval,n.pointInterval,1),s&&I(t)&&(i*=t),r&&(e=new o.Date(a),"day"===r?o.set("Date",e,o.get("Date",e)+i):"month"===r?o.set("Month",e,o.get("Month",e)+i):"year"===r&&o.set("FullYear",e,o.get("FullYear",e)+i),i=e.getTime()-a),s&&I(t)?a+i:(this.xIncrement=a+i,a)}setDataSortingOptions(){let t=this.options;T(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),k(t.pointRange)||(t.pointRange=1)}setOptions(t){var e,i;let n,r=this.chart,s=r.options.plotOptions,o=r.userOptions||{},a=N(t),l=r.styledMode,h={plotOptions:s,userOptions:a};E(this,"setOptions",h);let c=h.plotOptions[this.type],d=o.plotOptions||{},p=d.series||{},f=u.plotOptions[this.type]||{},g=d[this.type]||{};this.userOptions=h.userOptions;let m=N(c,s.series,g,a);this.tooltipOptions=N(u.tooltip,null===(e=u.plotOptions.series)||void 0===e?void 0:e.tooltip,null===f||void 0===f?void 0:f.tooltip,r.userOptions.tooltip,null===(i=d.series)||void 0===i?void 0:i.tooltip,g.tooltip,a.tooltip),this.stickyTracking=R(a.stickyTracking,g.stickyTracking,p.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||m.stickyTracking),null===c.marker&&delete m.marker,this.zoneAxis=m.zoneAxis||"y";let y=this.zones=(m.zones||[]).map((t=>({...t})));return(m.negativeColor||m.negativeFillColor)&&!m.zones&&(n={value:m[this.zoneAxis+"Threshold"]||m.threshold||0,className:"highcharts-negative"},l||(n.color=m.negativeColor,n.fillColor=m.negativeFillColor),y.push(n)),y.length&&k(y[y.length-1].value)&&y.push(l?{}:{color:this.color,fillColor:this.fillColor}),E(this,"afterSetOptions",{options:m}),m}getName(){return R(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let n,r,s=this.chart,o="".concat(t,"Index"),a="".concat(t,"Counter"),l=(null===i||void 0===i?void 0:i.length)||s.options.chart.colorCount;!e&&(k(r=R("color"===t?this.options.colorIndex:void 0,this[o]))?n=r:(s.series.length||(s[a]=0),n=s[a]%l,s[a]+=1),i&&(e=i[n])),void 0!==n&&(this[o]=n),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||u.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(t,e){let i,n,r,o=t.id,a=t.x,l=this.points,h=this.options.dataSorting;if(o){let t=this.chart.get(o);t instanceof s&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(h&&h.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=P(l,e)))return}return i&&void 0!==(r=i&&i.index)&&(n=!0),void 0===r&&I(a)&&(r=this.xData.indexOf(a,e)),-1!==r&&void 0!==r&&this.cropped&&(r=r>=this.cropStart?r-this.cropStart:r),!n&&I(r)&&l[r]&&l[r].touched&&(r=void 0),r}updateData(t,e){let i,n,r,s,o=this.options,a=o.dataSorting,l=this.points,h=[],c=this.requireSorting,d=t.length===l.length,u=!0;if(this.xIncrement=null,t.forEach((function(t,e){let n,r=k(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},u=r.x;r.id||I(u)?(-1===(n=this.findPointIndex(r,s))||void 0===n?h.push(t):l[n]&&t!==o.data[n]?(l[n].update(t,!1,null,!1),l[n].touched=!0,c&&(s=n+1)):l[n]&&(l[n].touched=!0),(!d||e!==n||a&&a.enabled||this.hasDerivedData)&&(i=!0)):h.push(t)}),this),i)for(n=l.length;n--;)(r=l[n])&&!r.touched&&r.remove&&r.remove(!1,e);else!d||a&&a.enabled?u=!1:(t.forEach((function(t,e){t===l[e].y||l[e].destroyed||l[e].update(t,!1,null,!1)})),h.length=0);return l.forEach((function(t){t&&(t.touched=!1)})),!!u&&(h.forEach((function(t){this.addPoint(t,!1,null,null,!1)}),this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=y(this.xData),this.autoIncrement()),!0)}setData(t){let e,i,n,r,s=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0,l=this,h=l.points,c=h&&h.length||0,d=l.options,u=l.chart,p=d.dataSorting,f=l.xAxis,g=d.turboThreshold,m=this.xData,y=this.yData,v=l.pointArrayMap,b=v&&v.length,x=d.keys,k=0,S=1,w=null;u.options.chart.allowMutatingData||(d.data&&delete l.options.data,l.userOptions.data&&delete l.userOptions.data,r=N(!0,t));let C=(t=r||t||[]).length;if(p&&p.enabled&&(t=this.sortData(t)),u.options.chart.allowMutatingData&&!1!==a&&C&&c&&!l.cropped&&!l.hasGroupedData&&l.visible&&!l.boosted&&(n=this.updateData(t,o)),!n){if(l.xIncrement=null,l.colorCounter=0,this.parallelArrays.forEach((function(t){l[t+"Data"].length=0})),g&&C>g)if(I(w=l.getFirstValidPoint(t)))for(e=0;e=0?k:0,S=S>=0?S:1),1===w.length&&(S=0),k===S)for(e=0;e{let n=L(i,t),r=L(i,e);return rn?1:0})).forEach((function(t,e){t.x=e}),this),e.linkedSeries&&e.linkedSeries.forEach((function(e){let i=e.options,r=i.data;i.dataSorting&&i.dataSorting.enabled||!r||(r.forEach((function(i,s){r[s]=n(e,i),t[s]&&(r[s].x=t[s].x,r[s].index=s)})),e.setData(r,!1))})),t}getProcessedData(t){let e,i,n,r,s,o=this,a=o.xAxis,l=o.options,h=l.cropThreshold,c=t||o.getExtremesFromAll||l.getExtremesFromAll,d=null===a||void 0===a?void 0:a.logarithmic,u=o.isCartesian,p=0,f=o.xData,g=o.yData,m=!1,y=f.length;a&&(r=(n=a.getExtremes()).min,s=n.max,m=!(!a.categories||a.names.length)),u&&o.sorted&&!c&&(!h||y>h||o.forceCrop)&&(f[y-1]s?(f=[],g=[]):o.yData&&(f[0]s)&&(f=(e=this.cropData(o.xData,o.yData,r,s)).xData,g=e.yData,p=e.start,i=!0));let v=A([d?f.map(d.log2lin):f],(()=>o.requireSorting&&!m&&M(15,!1,o.chart)));return{xData:f,yData:g,cropped:i,cropStart:p,closestPointRange:v}}processData(t){let e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let i=this.getProcessedData();this.cropped=i.cropped,this.cropStart=i.cropStart,this.processedXData=i.xData,this.processedYData=i.yData,this.closestPointRange=this.basePointRange=i.closestPointRange,E(this,"afterProcessData")}cropData(t,e,i,n){let r,s,o=t.length,a=0,l=o;for(r=0;r=i){a=Math.max(0,r-1);break}for(s=r;sn){l=s+1;break}return{xData:t.slice(a,l),yData:e.slice(a,l),start:a,end:l}}generatePoints(){let t,e,i,n,r=this.options,s=this.processedData||r.data,o=this.processedXData,a=this.processedYData,l=this.pointClass,h=o.length,c=this.cropStart||0,d=this.hasGroupedData,u=r.keys,p=[],f=r.dataGrouping&&r.dataGrouping.groupAll?c:0,g=this.data;if(!g&&!d){let t=[];t.length=s.length,g=this.data=t}for(u&&d&&(this.options.keys=!1),n=0;n0:o.length)||!f),r=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!h||(d[a+p]||s)>=g&&(d[a-p]||s)<=m,n&&r)if(l=o.length)for(;l--;)I(o[l])&&(u[b++]=o[l]);else u[b++]=o;let k={activeYData:u,dataMin:v(u),dataMax:y(u)};return E(this,"afterGetExtremes",{dataExtremes:k}),k}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t){let e=t.length,i=0,n=null;for(;null===n&&i1)&&(s.step=function(t,e){var n;i&&i.apply(e,arguments),"width"===e.prop&&(null===(n=l)||void 0===n?void 0:n.element)&&l.attr(r?"height":"width",t+99)}),a.addClass("highcharts-animating").animate(t,s)}}afterAnimate(){this.setClip(),j(this.chart.sharedClips,((t,e,i)=>{t&&!this.chart.container.querySelector('[clip-path="url(#'.concat(t.id,')"]'))&&(t.destroy(),delete i[e])})),this.finishedAnimating=!0,E(this,"afterAnimate")}drawPoints(){let t,e,i,n,r,s,o,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.points,l=this.chart,h=l.styledMode,{colorAxis:c,options:d}=this,u=d.marker,p=this[this.specialGroup||"markerGroup"],f=this.xAxis,g=R(u.enabled,!f||!!f.isRadial||null,this.closestPointRangePx>=u.enabledThreshold*u.radius);if(!1!==u.enabled||this._hasPointMarkers)for(t=0;t0||e.hasImage)&&(e.graphic=i=l.renderer.symbol(t,o.x,o.y,o.width,o.height,s?r:u).add(p),this.enabledDataSorting&&l.hasRendered&&(i.attr({x:e.startXPos}),n="animate")),i&&"animate"===n&&i[a?"show":"hide"](a).animate(o),i){let t=this.pointAttribs(e,h||!e.selected?void 0:"select");h?c&&i.css({fill:t.fill}):i[n](t)}i&&i.addClass(e.getClassName(),!0)}else i&&(e.graphic=i.destroy())}markerAttribs(t,e){let i,n,r=this.options,s=r.marker,o=t.marker||{},a=o.symbol||s.symbol,l={},h=R(o.radius,s&&s.radius);e&&(i=s.states[e],h=R((n=o.states&&o.states[e])&&n.radius,i&&i.radius,h&&h+(i&&i.radiusPlus||0))),t.hasImage=a&&0===a.indexOf("url"),t.hasImage&&(h=0);let c=t.pos();return I(h)&&c&&(l.x=c[0]-h,l.y=c[1]-h,r.crisp&&(l.x=Math.floor(l.x))),h&&(l.width=l.height=2*h),l}pointAttribs(t,e){let i,n,r,s,o=this.options.marker,a=t&&t.options,l=a&&a.marker||{},h=a&&a.color,c=t&&t.color,d=t&&t.zone&&t.zone.color,u=this.color,p=R(l.lineWidth,o.lineWidth),f=1;return u=h||d||c||u,r=l.fillColor||o.fillColor||u,s=l.lineColor||o.lineColor||u,e=e||"normal",i=o.states[e]||{},p=R((n=l.states&&l.states[e]||{}).lineWidth,i.lineWidth,p+R(n.lineWidthPlus,i.lineWidthPlus,0)),r=n.fillColor||i.fillColor||r,{stroke:s=n.lineColor||i.lineColor||s,"stroke-width":p,fill:r,opacity:f=R(n.opacity,i.opacity,f)}}destroy(t){let e,i,n,r=this,s=r.chart,o=/AppleWebKit\/533/.test(g.navigator.userAgent),a=r.data||[];for(E(r,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(r.axisTypes||[]).forEach((function(t){(n=r[t])&&n.series&&(C(n.series,r),n.isDirty=n.forceRedraw=!0)})),r.legendItem&&r.chart.legend.destroyItem(r),e=a.length;e--;)(i=a[e])&&i.destroy&&i.destroy();for(let l of r.zones)S(l,void 0,!0);h.clearTimeout(r.animationTimeout),j(r,(function(t,e){t instanceof l&&!t.survive&&t[o&&"group"===e?"hide":"destroy"]()})),s.hoverSeries===r&&(s.hoverSeries=void 0),C(s.series,r),s.orderItems("series"),j(r,(function(e,i){t&&"hcEvents"===i||delete r[i]}))}applyZones(){let{area:t,chart:e,graph:i,zones:n,points:r,xAxis:s,yAxis:o,zoneAxis:a}=this,{inverted:l,renderer:h}=e,c=this["".concat(a,"Axis")],{isXAxis:d,len:u=0}=c||{},p=((null===i||void 0===i?void 0:i.strokeWidth())||0)/2+1,f=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;l&&(i=u-i);let{translated:n=0,lineClip:r}=t,s=i-n;null===r||void 0===r||r.push(["L",e,Math.abs(s){t.forEach(((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],d?u-e[1]:e[1],d?e[2]:u-e[2]])}))};if(n.forEach((t=>{t.lineClip=[],t.translated=b(c.toPixels(R(t.value,e),!0)||0,0,u)})),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===a&&r.length{var n,r,a;let c=e.lineClip||[],u=Math.round(e.translated||0);s.reversed&&c.reverse();let{clip:f,simpleClip:y}=e,v=0,b=0,x=s.len,k=o.len;d?(v=u,x=m):(b=u,k=m);let S=[["M",v,b],["L",x,b],["L",x,k],["L",v,k],["Z"]],w=[S[0],...c,S[1],S[2],...g,S[3],S[4]];g=c.reverse(),m=u,l&&(p(w),t&&p(S)),f?(f.animate({d:w}),null===(n=y)||void 0===n||n.animate({d:S})):(f=e.clip=h.path(w),t&&(y=e.simpleClip=h.path(S))),i&&null!==(r=e.graph)&&void 0!==r&&r.clip(f),t&&(null===(a=e.area)||void 0===a||a.clip(y))}))}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,n,r){let s=this[t],o=!s,a={visibility:i,zIndex:n||.1};return k(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(a.opacity=this.opacity),s||(this[t]=s=this.chart.renderer.g().add(r)),s.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(k(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(s.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),s.attr(a)[o?"attr":"animate"](this.getPlotBox(e)),s}getPlotBox(t){let e=this.xAxis,i=this.yAxis,n=this.chart,r=n.inverted&&!n.polar&&e&&this.invertible&&"series"===t;return n.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:n.plotLeft,translateY:i?i.top:n.plotTop,rotation:r?90:0,rotationOriginX:r?(e.len-i.len)/2:0,rotationOriginY:r?(e.len+i.len)/2:0,scaleX:r?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||B(this),e.length&&(e.forEach((t=>{t()})),e.length=0)}render(){var t,e,i,n,r;let s=this,{chart:o,options:a,hasRendered:l}=s,h=c(a.animation),d=s.visible?"inherit":"hidden",u=a.zIndex,p=o.seriesGroup,f=s.finishedAnimating?0:h.duration;E(this,"render"),s.plotGroup("group","series",d,u,p),s.markerGroup=s.plotGroup("markerGroup","markers",d,u,p),!1!==a.clip&&s.setClip(),f&&null!==(t=s.animate)&&void 0!==t&&t.call(s,!0),s.drawGraph&&(s.drawGraph(),s.applyZones()),s.visible&&s.drawPoints(),null!==(e=s.drawDataLabels)&&void 0!==e&&e.call(s),null!==(i=s.redrawPoints)&&void 0!==i&&i.call(s),a.enableMouseTracking&&null!==(n=s.drawTracker)&&void 0!==n&&n.call(s),f&&null!==(r=s.animate)&&void 0!==r&&r.call(s),l||(f&&h.defer&&(f+=h.defer),s.animationTimeout=F((()=>{s.afterAnimate()}),f||0)),s.isDirty=!1,s.hasRendered=!0,E(s,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:n}=this,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?n.len-t.chartX+n.pos:t.chartY-n.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,F((function(){e.kdTree=function t(i,n,r){let s,o,a=null===i||void 0===i?void 0:i.length;if(a)return s=e.kdAxisArray[n%r],i.sort(((t,e)=>(t[s]||0)-(e[s]||0))),{point:i[o=Math.floor(a/2)],left:t(i.slice(0,o),n+1,r),right:t(i.slice(o+1),n+1,r)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1}),e.options.kdNow||"touchstart"===(null===t||void 0===t?void 0:t.type)?0:1)}searchKDTree(t,e,i){let n=this,[r,s]=this.kdAxisArray,o=e?"distX":"dist",a=(n.options.findNearestPointBy||"").indexOf("y")>-1?2:1,l=!!n.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,a,h,c){let d,u,p=i.point,f=n.kdAxisArray[a%h],g=p;!function(t,e,i){let n=t[r],o=e[r],a=k(n)&&k(o)?n-o:null,h=t[s],c=e[s],d=k(h)&&k(c)?h-c:0,u=l&&(null===(i=e.marker)||void 0===i?void 0:i.radius)||0;e.dist=Math.sqrt((a&&a*a||0)+d*d)-u,e.distX=k(a)?Math.abs(a)-u:Number.MAX_VALUE}(e,p);let m=(e[f]||0)-(p[f]||0)+(l&&(null===(c=p.marker)||void 0===c?void 0:c.radius)||0),y=m<0?"left":"right",v=m<0?"right":"left";return i[y]&&(g=(d=t(e,i[y],a+1,h))[o]=0&&s<=(n?n.len:e.plotHeight)&&r>=0&&r<=(i?i.len:e.plotWidth)}drawTracker(){var t;let e=this,i=e.options,n=i.trackByArea,r=[].concat((n?e.areaPath:e.graphPath)||[]),s=e.chart,o=s.pointer,a=s.renderer,l=(null===(t=s.options.tooltip)||void 0===t?void 0:t.snap)||0,h=()=>{i.enableMouseTracking&&s.hoverSeries!==e&&e.onMouseOver()},c="rgba(192,192,192,"+(f?1e-4:.002)+")",d=e.tracker;d?d.attr({d:r}):e.graph&&(e.tracker=d=a.path(r).attr({visibility:e.visible?"inherit":"hidden",zIndex:2}).addClass(n?"highcharts-tracker-area":"highcharts-tracker-line").add(e.group),s.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:c,fill:n?c:"none","stroke-width":e.graph.strokeWidth()+(n?0:2*l)}),[e.tracker,e.markerGroup,e.dataLabelsGroup].forEach((t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",(t=>{null===o||void 0===o||o.onTrackerMouseOut(t)})),i.cursor&&!s.styledMode&&t.css({cursor:i.cursor}),t.on("touchstart",h))}))),E(this,"afterDrawTracker")}addPoint(t,e,i,n,r){let s,o,a=this.options,l=this.data,h=this.chart,c=this.xAxis,d=c&&c.hasNames&&c.names,u=a.data,p=this.xData;e=R(e,!0);let f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);let g=f.x;if(o=p.length,this.requireSorting&&gg;)o--;this.updateParallelArrays(f,"splice",[o,0,0]),this.updateParallelArrays(f,o),d&&f.name&&(d[g]=f.name),u.splice(o,0,t),(s||this.processedData)&&(this.data.splice(o,0,null),this.processData()),"point"===a.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):(l.shift(),this.updateParallelArrays(f,"shift"),u.shift())),!1!==r&&E(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(n)}removePoint(t,e,i){let n=this,r=n.data,s=r[t],o=n.points,a=n.chart,l=function(){o&&o.length===r.length&&o.splice(t,1),r.splice(t,1),n.options.data.splice(t,1),n.updateParallelArrays(s||{series:n},"splice",[t,1]),s&&s.destroy(),n.isDirty=!0,n.isDirtyData=!0,e&&a.redraw()};d(i,a),e=R(e,!0),s?s.firePointEvent("remove",null,l):l()}remove(t,e,i,n){let r=this,s=r.chart;function o(){r.destroy(n),s.isDirtyLegend=s.isDirtyBox=!0,s.linkSeries(n),R(t,!0)&&s.redraw(e)}!1!==i?E(r,"remove",null,o):o()}update(t,e){var i,n,r,s;E(this,"update",{options:t=w(t,this.userOptions)});let o,a,l=this,h=l.chart,c=l.userOptions,d=l.initialType||l.type,u=h.options.plotOptions,p=m[d].prototype,f=l.finishedAnimating&&{animation:!1},g={},y=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],v=t.type||c.type||h.options.chart.type,b=!(this.hasDerivedData||v&&v!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some((t=>l.hasOptionChanged(t))));v=v||d,b&&(y.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&y.push("area","graph"),l.parallelArrays.forEach((function(t){y.push(t+"Data")})),t.data&&(t.dataSorting&&T(l.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=N(c,{index:void 0===c.index?l.index:c.index,pointStart:null!==(i=null!==(n=null===u||void 0===u||null===(r=u.series)||void 0===r?void 0:r.pointStart)&&void 0!==n?n:c.pointStart)&&void 0!==i?i:null===(s=l.xData)||void 0===s?void 0:s[0]},!b&&{data:l.options.data},t,f),b&&t.data&&(t.data=l.options.data),(y=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(y)).forEach((function(t){y[t]=l[t],delete l[t]}));let x=!1;if(m[v]){if(x=v!==l.type,l.remove(!1,!1,!1,!0),x)if(h.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(l,m[v].prototype);else{let t=Object.hasOwnProperty.call(l,"hcEvents")&&l.hcEvents;for(a in p)l[a]=void 0;T(l,m[v].prototype),t?l.hcEvents=t:delete l.hcEvents}}else M(17,!0,h,{missingModuleFor:v});if(y.forEach((function(t){l[t]=y[t]})),l.init(h,t),b&&this.points)for(let m of(!1===(o=l.options).visible?(g.graphic=1,g.dataLabel=1):(this.hasMarkerChanged(o,c)&&(g.graphic=1),(null===(k=l.hasDataLabels)||void 0===k?void 0:k.call(l))||(g.dataLabel=1)),this.points)){var k;m&&m.series&&(m.resolveColor(),Object.keys(g).length&&m.destroyElements(g),!1===o.showInLegend&&m.legendItem&&h.legend.destroyItem(m))}l.initialType=d,h.linkSeries(),h.setSortedData(),x&&l.linkedSeries.length&&(l.isDirtyData=!0),E(this,"afterUpdate"),R(e,!0)&&h.redraw(!!b&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){var e,i;let n=this.chart,r=this.options[t],s=n.options.plotOptions,o=this.userOptions[t],a=R(null===s||void 0===s||null===(e=s[this.type])||void 0===e?void 0:e[t],null===s||void 0===s||null===(i=s.series)||void 0===i?void 0:i[t]);return o&&!k(a)?r!==o:r!==R(a,r)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;null!==i&&void 0!==i&&i.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&E(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,n=e.hoverPoint;e.hoverSeries=null,n&&n.onMouseOut(),this&&t.events.mouseOut&&E(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach((function(t){t.setState("",!0)}))}setState(t,e){let i=this,n=i.options,r=i.graph,s=n.inactiveOtherPoints,o=n.states,a=R(o[t||"normal"]&&o[t||"normal"].animation,i.chart.options.chart.animation),l=n.lineWidth,h=n.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach((function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))})),i.state=t,!i.chart.styledMode)){if(o[t]&&!1===o[t].enabled)return;if(t&&(l=o[t].lineWidth||l+(o[t].lineWidthPlus||0),h=R(o[t].opacity,h)),r&&!r.dashstyle&&I(l))for(let t of[r,...this.zones.map((t=>t.graph))])null===t||void 0===t||t.animate({"stroke-width":l},a);s||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach((function(t){t&&t.animate({opacity:h},a)}))}e&&s&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach((function(e){e.setState&&e.setState(t)}))}setVisible(t,e){var i;let n=this,r=n.chart,s=r.options.chart.ignoreHiddenSeries,o=n.visible;n.visible=t=n.options.visible=n.userOptions.visible=void 0===t?!o:t;let a=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach((t=>{var e;null===(e=n[t])||void 0===e||e[a]()})),(r.hoverSeries===n||(null===(i=r.hoverPoint)||void 0===i?void 0:i.series)===n)&&n.onMouseOut(),n.legendItem&&r.legend.colorizeItem(n,t),n.isDirty=!0,n.options.stacking&&r.series.forEach((t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)})),n.linkedSeries.forEach((e=>{e.setVisible(t,!1)})),s&&(r.isDirtyBox=!0),E(n,a),!1!==e&&r.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),E(this,t?"select":"unselect")}shouldShowTooltip(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){var i;null===(i=r[this.options.legendSymbol||"rectangle"])||void 0===i||i.call(this,t,e)}}return W.defaultOptions=o,W.types=a.seriesTypes,W.registerType=a.registerSeriesType,T(W.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:s,requireSorting:!0,sorted:!0}),a.series=W,W})),i(e,"Core/Chart/Chart.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Time.js"],e["Core/Utilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Axis/Tick.js"]],(function(t,e,i,n,r,s,o,a,l,h,c,d,u,p){let{animate:f,animObject:g,setAnimation:m}=t,{defaultOptions:y,defaultTime:v}=i,{numberFormat:b}=n,{registerEventOptions:x}=r,{charts:k,doc:S,marginNames:w,svg:C,win:M}=s,{seriesTypes:T}=l,{addEvent:P,attr:E,createElement:A,css:L,defined:O,diffObjects:D,discardElement:I,erase:z,error:N,extend:j,find:R,fireEvent:B,getStyle:_,isArray:F,isNumber:W,isObject:H,isString:U,merge:G,objectEach:X,pick:Y,pInt:V,relativeLength:$,removeEvent:q,splat:K,syncTimeout:Z,uniqueKey:Q}=d;class J{static chart(t,e,i){return new J(t,e,i)}constructor(t,e,i){this.sharedClips={};let n=[...arguments];(U(t)||t.nodeName)&&(this.renderTo=n.shift()),this.init(n[0],n[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:Y(t.zoomType,e.type),key:Y(t.zoomKey,e.key),pinchType:Y(t.pinchType,e.pinchType),singleTouch:Y(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:G(e.resetButton,t.resetZoomButton)}}init(t,e){B(this,"init",{args:arguments},(function(){let i=G(y,t),n=i.chart;this.userOptions=j({},t),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.time=t.time&&Object.keys(t.time).length?new c(t.time):s.time,this.numberFormatter=n.numberFormatter||b,this.styledMode=n.styledMode,this.hasCartesianSeries=n.showAxes,this.index=k.length,k.push(this),s.chartCount++,x(this,n),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),B(this,"afterInit"),this.firstRender()}))}initSeries(t){let e=this.options.chart,i=t.type||e.type,n=T[i];n||N(17,!0,this,{missingModuleFor:i});let r=new n;return"function"==typeof r.init&&r.init(this,t),r}setSortedData(){this.getSeriesOrderByLinks().forEach((function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)}))}getSeriesOrderByLinks(){return this.series.concat().sort((function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0}))}orderItems(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=this[t],n=this.options[t]=K(this.options[t]).slice(),r=this.userOptions[t]=this.userOptions[t]?K(this.userOptions[t]).slice():[];if(this.hasRendered&&(n.splice(e),r.splice(e)),i)for(let s=e,o=i.length;s2&&void 0!==arguments[2]?arguments[2]:{},{inverted:r,plotBox:s,plotLeft:o,plotTop:a,scrollablePlotBox:l}=this,{scrollLeft:h=0,scrollTop:c=0}=n.visiblePlotOnly&&(null===(i=this.scrollablePlotArea)||void 0===i?void 0:i.scrollingContainer)||{},d=n.series,u=n.visiblePlotOnly&&l||s,p=n.inverted?e:t,f=n.inverted?t:e,g={x:p,y:f,isInsidePlot:!0,options:n};if(!n.ignoreX){let t=d&&(r&&!this.polar?d.yAxis:d.xAxis)||{pos:o,len:1/0},e=n.paneCoordinates?t.pos+p:o+p;e>=Math.max(h+o,t.pos)&&e<=Math.min(h+o+u.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!n.ignoreY&&g.isInsidePlot){let t=!r&&n.axis&&!n.axis.isXAxis&&n.axis||d&&(r?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=n.paneCoordinates?t.pos+f:a+f;e>=Math.max(c+a,t.pos)&&e<=Math.min(c+a+u.height,t.pos+t.len)||(g.isInsidePlot=!1)}return B(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){B(this,"beforeRedraw");let e,i,n,r,s=this.hasCartesianSeries?this.axes:this.colorAxis||[],o=this.series,a=this.pointer,l=this.legend,h=this.userOptions.legend,c=this.renderer,d=c.isHidden(),u=[],p=this.isDirtyBox,f=this.isDirtyLegend;for(c.rootFontSize=c.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),m(!!this.hasRendered&&t,this),d&&this.temporaryDisplay(),this.layOutTitles(!1),n=o.length;n--;)if(((r=o[n]).options.stacking||r.options.centerInCategory)&&(i=!0,r.isDirty)){e=!0;break}if(e)for(n=o.length;n--;)(r=o[n]).options.stacking&&(r.isDirty=!0);o.forEach((function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),f=!0):h&&(h.labelFormatter||h.labelFormat)&&(f=!0)),t.isDirtyData&&B(t,"updatedData")})),f&&l&&l.options.enabled&&(l.render(),this.isDirtyLegend=!1),i&&this.getStacks(),s.forEach((function(t){t.updateNames(),t.setScale()})),this.getMargins(),s.forEach((function(t){t.isDirty&&(p=!0)})),s.forEach((function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,u.push((function(){B(t,"afterSetExtremes",j(t.eventArgs,t.getExtremes())),delete t.eventArgs}))),(p||i)&&t.redraw()})),p&&this.drawChartBox(),B(this,"predraw"),o.forEach((function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1})),a&&a.reset(!0),c.draw(),B(this,"redraw"),B(this,"render"),d&&this.temporaryDisplay(!0),u.forEach((function(t){t.call()}))}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let n=R(this.axes,i)||R(this.series,i);for(let r=0;!n&&r(e.getPointsCollection().forEach((e=>{Y(e.selectedStaging,e.selected)&&t.push(e)})),t)),[])}getSelectedSeries(){return this.series.filter((function(t){return t.selected}))}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,n=this.options[t]=G(this.options[t],e),r=this[t];r&&e&&(this[t]=r=r.destroy()),n&&!r&&((r=this.renderer.text(n.text,0,0,n.useHTML).attr({align:n.align,class:"highcharts-"+t,zIndex:n.zIndex||4}).add()).update=function(e,n){i.applyDescription(t,e),i.layOutTitles(n)},this.styledMode||r.css(j("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},n.style)),this[t]=r)}layOutTitles(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=[0,0,0],i=this.renderer,n=this.spacingBox;["title","subtitle","caption"].forEach((function(t){let r=this[t],s=this.options[t],o=s.verticalAlign||"top",a="title"===t?"top"===o?-3:0:"top"===o?e[0]+2:0;if(r){r.css({width:(s.width||n.width+(s.widthAdjust||0))+"px"});let t=i.fontMetrics(r).b,l=Math.round(r.getBBox(s.useHTML).height);r.align(j({y:"bottom"===o?t:a+t,height:l},s),!1,"spacingBox"),s.floating||("top"===o?e[0]=Math.ceil(e[0]+l):"bottom"===o&&(e[2]=Math.ceil(e[2]+l)))}}),this),e[0]&&"top"===(this.options.title.verticalAlign||"top")&&(e[0]+=this.options.title.margin),e[2]&&"bottom"===this.options.caption.verticalAlign&&(e[2]+=this.options.caption.margin);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,B(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:_(this.renderTo,"width",!0)||0,height:_(this.renderTo,"height",!0)||0}}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,n=this.getContainerBox();this.chartWidth=Math.max(0,e||n.width||600),this.chartHeight=Math.max(0,$(i,this.chartWidth)||(n.height>1?n.height:400)),this.containerBox=n}temporaryDisplay(t){let e,i=this.renderTo;if(t)for(;i&&i.style;)i.hcOrigStyle&&(L(i,i.hcOrigStyle),delete i.hcOrigStyle),i.hcOrigDetached&&(S.body.removeChild(i),i.hcOrigDetached=!1),i=i.parentNode;else for(;i&&i.style&&(S.body.contains(i)||i.parentNode||(i.hcOrigDetached=!0,S.body.appendChild(i)),("none"===_(i,"display",!1)||i.hcOricDetached)&&(i.hcOrigStyle={display:i.style.display,height:i.style.height,overflow:i.style.overflow},e={display:"block",overflow:"hidden"},i!==this.renderTo&&(e.height=0),L(i,e),i.offsetWidth||i.style.setProperty("display","block","important")),(i=i.parentNode)!==S.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){var t;let e,i=this.options,n=i.chart,r="data-highcharts-chart",s=Q(),a=this.renderTo;a||(this.renderTo=a=n.renderTo),U(a)&&(this.renderTo=a=S.getElementById(a)),a||N(13,!0,this);let l=V(E(a,r));W(l)&&k[l]&&k[l].hasRendered&&k[l].destroy(),E(a,r,this.index),a.innerHTML=u.emptyHTML,n.skipClone||a.offsetWidth||this.temporaryDisplay(),this.getChartSize();let c=this.chartHeight,d=this.chartWidth;L(a,{overflow:"hidden"}),this.styledMode||(e=j({position:"relative",overflow:"hidden",width:d+"px",height:c+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},n.style||{}));let p=A("div",{id:s},e,a);this.container=p,this.getChartSize(),d===this.chartWidth||(d=this.chartWidth,this.styledMode||L(p,{width:Y(null===(t=n.style)||void 0===t?void 0:t.width,d+"px")})),this.containerBox=this.getContainerBox(),this._cursor=p.style.cursor;let f=n.renderer||!C?o.getRendererType(n.renderer):h;if(this.renderer=new f(p,d,c,void 0,n.forExport,i.exporting&&i.exporting.allowHTML,this.styledMode),m(void 0,this),this.setClassName(n.className),this.styledMode)for(let o in i.defs)this.renderer.definition(i.defs[o]);else this.renderer.setStyle(n.style);this.renderer.chartIndex=this.index,B(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:n}=this;this.resetMargins(),n[0]&&!O(i[0])&&(this.plotTop=Math.max(this.plotTop,n[0]+e[0])),n[2]&&!O(i[2])&&(this.marginBottom=Math.max(this.marginBottom,n[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),B(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,n=t.margin,r=function(t){t.forEach((function(t){t.visible&&t.getOffset()}))};t.hasCartesianSeries?r(t.axes):i&&i.length&&r(i),w.forEach((function(i,r){O(n[r])||(t[i]+=e[r])})),t.setChartSize()}getOptions(){return D(this.userOptions,y)}reflow(t){var e;let i=this,n=i.containerBox,r=i.getContainerBox();null===(e=i.pointer)||void 0===e||delete e.chartPosition,!i.isPrinting&&!i.isResizing&&n&&r.width&&((r.width!==n.width||r.height!==n.height)&&(d.clearTimeout(i.reflowTimeout),i.reflowTimeout=Z((function(){i.container&&i.setSize(void 0,void 0,!1)}),t?100:0)),i.containerBox=r)}setReflow(){let t=this,e=e=>{var i;(null===(i=t.options)||void 0===i?void 0:i.chart.reflow)&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=P(M,"resize",e);P(this,"destroy",t)}}setSize(t,e,i){let n=this,r=n.renderer;n.isResizing+=1,m(i,n);let s=r.globalAnimation;n.oldChartHeight=n.chartHeight,n.oldChartWidth=n.chartWidth,void 0!==t&&(n.options.chart.width=t),void 0!==e&&(n.options.chart.height=e),n.getChartSize();let{chartWidth:o,chartHeight:a,scrollablePixelsX:l=0,scrollablePixelsY:h=0}=n;(n.isDirtyBox||o!==n.oldChartWidth||a!==n.oldChartHeight)&&(n.styledMode||(s?f:L)(n.container,{width:"".concat(o+l,"px"),height:"".concat(a+h,"px")},s),n.setChartSize(!0),r.setSize(o,a,s),n.axes.forEach((function(t){t.isDirty=!0,t.setScale()})),n.isDirtyLegend=!0,n.isDirtyBox=!0,n.layOutTitles(),n.getMargins(),n.redraw(s),n.oldChartHeight=void 0,B(n,"resize"),setTimeout((()=>{n&&B(n,"endResize")}),g(s).duration)),n.isResizing-=1}setChartSize(t){let e,i,n,r,s=this.inverted,o=this.renderer,a=this.chartWidth,l=this.chartHeight,h=this.options.chart,c=this.spacing,d=this.clipOffset;this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=n=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=r=Math.max(0,Math.round(l-i-this.marginBottom)),this.plotSizeX=s?r:n,this.plotSizeY=s?n:r,this.plotBorderWidth=h.plotBorderWidth||0,this.spacingBox=o.spacingBox={x:c[3],y:c[0],width:a-c[3]-c[1],height:l-c[0]-c[2]},this.plotBox=o.plotBox={x:e,y:i,width:n,height:r};let u=2*Math.floor(this.plotBorderWidth/2),p=Math.ceil(Math.max(u,d[3])/2),f=Math.ceil(Math.max(u,d[0])/2);this.clipBox={x:p,y:f,width:Math.floor(this.plotSizeX-Math.max(u,d[1])/2-p),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(u,d[2])/2-f))},t||(this.axes.forEach((function(t){t.setAxisSize(),t.setAxisTranslation()})),o.alignElements()),B(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){B(this,"resetMargins");let t=this,e=t.options.chart;["margin","spacing"].forEach((function(i){let n=e[i],r=H(n)?n:[n,n,n,n];["Top","Right","Bottom","Left"].forEach((function(n,s){t[i][s]=Y(e[i+n],r[s])}))})),w.forEach((function(e,i){t[e]=Y(t.margin[i],t.spacing[i])})),t.axisOffset=[0,0,0,0],t.clipOffset=[0,0,0,0]}drawChartBox(){let t,e,i,n=this.options.chart,r=this.renderer,s=this.chartWidth,o=this.chartHeight,a=this.styledMode,l=this.plotBGImage,h=n.backgroundColor,c=n.plotBackgroundColor,d=n.plotBackgroundImage,u=this.plotLeft,p=this.plotTop,f=this.plotWidth,g=this.plotHeight,m=this.plotBox,y=this.clipRect,v=this.clipBox,b=this.chartBackground,x=this.plotBackground,k=this.plotBorder,S="animate";b||(this.chartBackground=b=r.rect().addClass("highcharts-background").add(),S="attr"),a?t=e=b.strokeWidth():(e=(t=n.borderWidth||0)+(n.shadow?8:0),i={fill:h||"none"},(t||b["stroke-width"])&&(i.stroke=n.borderColor,i["stroke-width"]=t),b.attr(i).shadow(n.shadow)),b[S]({x:e/2,y:e/2,width:s-e-t%2,height:o-e-t%2,r:n.borderRadius}),S="animate",x||(S="attr",this.plotBackground=x=r.rect().addClass("highcharts-plot-background").add()),x[S](m),!a&&(x.attr({fill:c||"none"}).shadow(n.plotShadow),d&&(l?(d!==l.attr("href")&&l.attr("href",d),l.animate(m)):this.plotBGImage=r.image(d,u,p,f,g).add())),y?y.animate({width:v.width,height:v.height}):this.clipRect=r.clipRect(v),S="animate",k||(S="attr",this.plotBorder=k=r.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),a||k.attr({stroke:n.plotBorderColor,"stroke-width":n.plotBorderWidth||0,fill:"none"}),k[S](k.crisp({x:u,y:p,width:f,height:g},-k.strokeWidth())),this.isDirtyBox=!1,B(this,"afterDrawChartBox")}propFromSeries(){let t,e,i,n=this,r=n.options.chart,s=n.options.series;["inverted","angular","polar"].forEach((function(o){for(e=T[r.type],i=r[o]||e&&e.prototype[o],t=s&&s.length;!i&&t--;)(e=T[s[t].type])&&e.prototype[o]&&(i=!0);n[o]=i}))}linkSeries(t){let e=this,i=e.series;i.forEach((function(t){t.linkedSeries.length=0})),i.forEach((function(t){let{linkedTo:i}=t.options;if(U(i)){let n;(n=":previous"===i?e.series[t.index-1]:e.get(i))&&n.linkedParent!==t&&(n.linkedSeries.push(t),t.linkedParent=n,n.enabledDataSorting&&t.setDataSortingOptions(),t.visible=Y(t.options.visible,n.options.visible,t.visible))}})),B(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach((function(t){t.translate(),t.render()}))}render(){let t,e=this.axes,i=this.colorAxis,n=this.renderer,r=this.options.chart.axisLayoutRuns||2,s=t=>{t.forEach((t=>{t.visible&&t.render()}))},o=0,a=!0,l=0;for(let c of(this.setTitle(),B(this,"beforeMargins"),null!==(h=this.getStacks)&&void 0!==h&&h.call(this),this.getMargins(!0),this.setChartSize(),e)){var h;let{options:t}=c,{labels:e}=t;if(c.horiz&&c.visible&&e.enabled&&c.series.length&&"colorAxis"!==c.coll&&!this.polar){o=t.tickLength,c.createGroups();let i=new p(c,0,"",!0),n=i.createLabel("x",e);if(i.destroy(),n&&Y(e.reserveSpace,!W(t.crossing))&&(o=n.getBBox().height+e.distance+Math.max(t.offset||0,0)),o){null===n||void 0===n||n.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-o,0);(a||t||r>1)&&l(l?1:1.1),t=n/this.plotHeight>(l?1:1.05),l++}this.drawChartBox(),this.hasCartesianSeries?s(e):i&&i.length&&s(i),this.seriesGroup||(this.seriesGroup=n.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=G(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",(function(){i.href&&(M.location.href=i.href)})).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,e=this,i=e.axes,n=e.series,r=e.container,o=r&&r.parentNode;for(B(e,"destroy"),e.renderer.forExport?z(k,e):k[e.index]=void 0,s.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),q(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=n.length;t--;)n[t]=n[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach((function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())})),r&&(r.innerHTML=u.emptyHTML,q(r),o&&I(r)),X(e,(function(t,i){delete e[i]}))}firstRender(){var t;let e=this,i=e.options;e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.getAxes();let n=F(i.series)?i.series:[];i.series=[],n.forEach((function(t){e.initSeries(t)})),e.linkSeries(),e.setSortedData(),B(e,"beforeRender"),e.render(),null!==(t=e.pointer)&&void 0!==t&&t.getChartPosition(),e.renderer.imgCount||e.hasLoaded||e.onload(),e.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach((function(t){t&&void 0!==this.index&&t.apply(this,[this])}),this),B(this,"load"),B(this,"render"),O(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"})))}pan(t,e){let i=this,n="object"==typeof e?e:{enabled:e,type:"x"},r=n.type,s=r&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[r]].filter((t=>t.options.panningEnabled&&!t.options.isInternal)),o=i.options.chart;null!==o&&void 0!==o&&o.panning&&(o.panning=n),B(this,"pan",{originalEvent:t},(()=>{i.transform({axes:s,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),L(i.container,{cursor:"move"})}))}transform(t){var e;let i,{axes:n=this.axes,event:r,from:s={},reset:o,selection:a,to:l={},trigger:h}=t,{inverted:c}=this,d=!1;for(let y of(null!==(u=this.hoverPoints)&&void 0!==u&&u.forEach((t=>t.setState())),n)){var u,p,f,g;let{horiz:t,len:e,minPointOffset:n=0,options:v,reversed:b}=y,x=t?"width":"height",k=t?"x":"y",S=l[x]||y.len,w=s[x]||y.len,C=10>Math.abs(S)?1:S/w,M=(s[k]||0)+w/2-y.pos,T=M-((null!==(p=l[k])&&void 0!==p?p:y.pos)+S/2-y.pos)/C,P=b&&!c||!b&&c?-1:1;if(!o&&(M<0||M>y.len))continue;let E=y.toValue(T,!0)+(a?0:n*P),A=y.toValue(T+e/C,!0)-(a?0:n*P||0),L=y.allExtremes;if(E>A&&([E,A]=[A,E]),1===C&&!o&&"yAxis"===y.coll&&!L){for(let t of y.series){var m;let e=t.getExtremes(t.getProcessedData(!0).yData,!0);null!==(m=L)&&void 0!==m||(L={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),W(e.dataMin)&&W(e.dataMax)&&(L.dataMin=Math.min(e.dataMin,L.dataMin),L.dataMax=Math.max(e.dataMax,L.dataMax))}y.allExtremes=L}let{dataMin:D,dataMax:I,min:z,max:N}=j(y.getExtremes(),L||{}),R=null!==D&&void 0!==D?D:v.min,B=null!==I&&void 0!==I?I:v.max,_=A-E,F=y.categories?0:Math.min(_,B-R),H=R-F*(O(v.min)?0:v.minPadding),U=B+F*(O(v.max)?0:v.maxPadding),G=y.allowZoomOutside||1===C||"zoom"!==h&&C>1,X=Math.min(null!==(f=v.min)&&void 0!==f?f:H,H,G?z:H),Y=Math.max(null!==(g=v.max)&&void 0!==g?g:U,U,G?N:U);(!y.isOrdinal||1!==C||o)&&(E=1&&(A=E+_)),A>Y&&(A=Y,C>=1&&(E=A-_)),(o||y.series.length&&(E!==z||A!==N)&&E>=X&&A<=Y)&&(a?a[y.coll].push({axis:y,min:E,max:A}):(y.isPanning="zoom"!==h,y.setExtremes(o?void 0:E,o?void 0:A,!1,!1,{move:T,trigger:h,scale:C}),!o&&(E>X||A{delete t.selection,t.trigger="zoom",this.transform(t)})):(i&&!this.resetZoomButton?this.showResetZoom():!i&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()),this.redraw("zoom"===h&&(null!==(e=this.options.chart.animation)&&void 0!==e?e:this.pointCount<100)))),d}}return j(J.prototype,{callbacks:[],collectionsWithInit:{xAxis:[J.prototype.addAxis,[!0]],yAxis:[J.prototype.addAxis,[!1]],series:[J.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),J})),i(e,"Extensions/ScrollablePlotArea.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,n){let{stop:r}=t,{composed:s}=e,{addEvent:o,createElement:a,css:l,defined:h,merge:c,pushUnique:d}=n;function u(){var t;let e=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!e&&(this.scrollablePlotArea=e=new f(this)),null===(t=e)||void 0===t||t.applyFixed()}function p(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class f{static compose(t,e,i){d(s,this.compose)&&(o(t,"afterInit",p),o(e,"afterSetChartSize",(t=>this.afterSetSize(t.target,t))),o(e,"render",u),o(i,"show",p))}static afterSetSize(t,e){let i,n,r,{minWidth:s,minHeight:o}=t.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:l,inverted:d,renderer:u}=t;if(!u.forExport&&(s?(t.scrollablePixelsX=i=Math.max(0,s-t.chartWidth),i&&(t.scrollablePlotBox=c(t.plotBox),l.width=t.plotWidth+=i,a[d?"height":"width"]+=i,r=!0)):o&&(t.scrollablePixelsY=n=Math.max(0,o-t.chartHeight),h(n)&&(t.scrollablePlotBox=c(t.plotBox),l.height=t.plotHeight+=n,a[d?"width":"height"]+=n,r=!1)),h(r)&&!e.skipAxes))for(let h of t.axes)h.horiz===r&&(h.setAxisSize(),h.setAxisTranslation())}constructor(t){var e,n;let r,s=t.options.chart,h=i.getRendererType(),c=s.scrollablePlotArea||{},d=this.moveFixedElements.bind(this),u={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(u.overflowX="auto"),t.scrollablePixelsY&&(u.overflowY="auto"),this.chart=t;let p=this.parentDiv=a("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),f=this.scrollingContainer=a("div",{className:"highcharts-scrolling"},u,p),g=this.innerContainer=a("div",{className:"highcharts-inner-container"},void 0,f),m=this.fixedDiv=a("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:((null===(e=s.style)||void 0===e?void 0:e.zIndex)||0)+2,top:0},void 0,!0),y=this.fixedRenderer=new h(m,t.chartWidth,t.chartHeight,s.style);this.mask=y.path().attr({fill:s.backgroundColor||"#fff","fill-opacity":null!==(n=c.opacity)&&void 0!==n?n:.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),f.parentNode.insertBefore(m,f),l(t.renderTo,{overflow:"visible"}),o(t,"afterShowResetZoom",d),o(t,"afterApplyDrilldown",d),o(t,"afterLayOutTitles",d),o(f,"scroll",(()=>{let{pointer:e,hoverPoint:i}=t;e&&(delete e.chartPosition,i&&(r=i),e.runPointActions(void 0,r,!0))})),g.appendChild(t.container)}applyFixed(){var t;let{chart:e,fixedRenderer:i,isDirty:n,scrollingContainer:s}=this,{axisOffset:o,chartWidth:a,chartHeight:c,container:d,plotHeight:u,plotLeft:p,plotTop:f,plotWidth:g,scrollablePixelsX:m=0,scrollablePixelsY:y=0}=e,{scrollPositionX:v=0,scrollPositionY:b=0}=e.options.chart.scrollablePlotArea||{},x=a+m,k=c+y;i.setSize(a,c),(null===n||void 0===n||n)&&(this.isDirty=!1,this.moveFixedElements()),r(e.container),l(d,{width:"".concat(x,"px"),height:"".concat(k,"px")}),e.renderer.boxWrapper.attr({width:x,height:k,viewBox:[0,0,x,k].join(" ")}),null!==(t=e.chartBackground)&&void 0!==t&&t.attr({width:x,height:k}),l(s,{width:"".concat(a,"px"),height:"".concat(c,"px")}),h(n)||(s.scrollLeft=m*v,s.scrollTop=y*b);let S=f-o[0]-1,w=p-o[3]-1,C=f+u+o[2]+1,M=p+g+o[1]+1,T=p+g-m,P=f+u-y,E=[["M",0,0]];m?E=[["M",0,S],["L",p-1,S],["L",p-1,C],["L",0,C],["Z"],["M",T,S],["L",a,S],["L",a,C],["L",T,C],["Z"]]:y&&(E=[["M",w,0],["L",w,f-1],["L",M,f-1],["L",M,0],["Z"],["M",w,P],["L",w,c],["L",M,c],["L",M,P],["Z"]]),"adjustHeight"!==e.redrawTrigger&&this.mask.attr({d:E})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:n,scrollablePixelsY:r}=this.chart,s=this.fixedRenderer,o=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(n&&!i?t=".highcharts-yaxis":n&&i||r&&!i?t=".highcharts-xaxis":r&&i&&(t=".highcharts-yaxis"),t&&o.push("".concat(t,":not(.highcharts-radial-axis)"),"".concat(t,"-labels:not(.highcharts-radial-axis-labels)")),o))[].forEach.call(e.querySelectorAll(a),(t=>{(t.namespaceURI===s.SVG_NS?s.box:s.box.parentNode).appendChild(t),t.style.pointerEvents="auto"}))}}return f})),i(e,"Core/Axis/Stacking/StackItem.js",[e["Core/Templating.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{format:n}=t,{series:r}=e,{destroyObjectProperties:s,fireEvent:o,isNumber:a,pick:l}=i;return class{constructor(t,e,i,n,r){let s=t.chart.inverted,o=t.reversed;this.axis=t;let a=this.isNegative=!!i!=!!o;this.options=e=e||{},this.x=n,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=r,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(s?a?"left":"right":"center"),verticalAlign:e.verticalAlign||(s?"middle":a?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(s?a?"right":"left":"center")}destroy(){s(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,r=i.format,s=r?n(r,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:s,visibility:"hidden"});else{this.label=e.renderer.label(s,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let n={r:i.borderRadius||0,text:s,padding:l(i.padding,5),visibility:"hidden"};e.styledMode||(n.fill=i.backgroundColor,n.stroke=i.borderColor,n["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(n),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,o(this,"afterRender")}setOffset(t,e,i,n,s,h){let{alignOptions:c,axis:d,label:u,options:p,textAlign:f}=this,g=d.chart,m=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:n,defaultX:s,xAxis:h}),{verticalAlign:y}=c;if(u&&m){let t,e=u.getBBox(void 0,0),i=u.padding,n="justify"===l(p.overflow,"justify");c.x=p.x||0,c.y=p.y||0;let{x:s,y:o}=this.adjustStackPosition({labelBox:e,verticalAlign:y,textAlign:f});m.x-=s,m.y-=o,u.align(c,!1,m),(t=g.isInsidePlot(u.alignAttr.x+c.x+s,u.alignAttr.y+c.y+o))||(n=!1),n&&r.prototype.justifyDataLabel.call(d,u,c,u.alignAttr,e,m),u.attr({x:u.alignAttr.x,y:u.alignAttr.y,rotation:p.rotation,rotationOriginX:e.width*{left:0,center:.5,right:1}[p.textAlign||"center"],rotationOriginY:e.height/2}),l(!n&&p.crop,!0)&&(t=a(u.x)&&a(u.y)&&g.isInsidePlot(u.x-i+(u.width||0),u.y)&&g.isInsidePlot(u.x+i,u.y)),u[t?"show":"hide"]()}o(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition(t){let{labelBox:e,verticalAlign:i,textAlign:n}=t,r={bottom:0,middle:1,top:2,right:1,center:0,left:-1},s=r[i],o=r[n];return{x:e.width/2+e.width/2*o,y:e.height/2*s}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:n,defaultX:r,xOffset:s,width:o,boxBottom:h}=t,c=e.stacking.usePercentage?100:l(n,this.total,0),d=e.toPixels(c),u=t.xAxis||i.xAxis[0],p=l(r,u.translate(this.x))+s,f=Math.abs(d-e.toPixels(h||a(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),g=i.inverted,m=this.isNegative;return g?{x:(m?d:d-f)-i.plotLeft,y:u.height-p-o,width:f,height:o}:{x:p+u.transB-i.plotLeft,y:(m?d-f:d)-i.plotTop,width:o,height:f}}}})),i(e,"Core/Axis/Stacking/StackingAxis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],(function(t,e,i,n,r){var s;let{getDeferredAnimation:o}=t,{series:{prototype:a}}=i,{addEvent:l,correctFloat:h,defined:c,destroyObjectProperties:d,fireEvent:u,isArray:p,isNumber:f,objectEach:g,pick:m}=r;function y(){let t=this.inverted;this.axes.forEach((t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)})),this.series.forEach((e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,m(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))}))}function v(){let t=this.stacking;if(t){var e;let i=t.stacks;g(i,((t,e)=>{d(t),delete i[e]})),null===(e=t.stackTotalGroup)||void 0===e||e.destroy()}}function b(){this.stacking||(this.stacking=new M(this))}function x(t,e,i,n){return!c(t)||t.x!==e||n&&t.stackKey!==n?t={x:e,index:0,key:n,stackKey:n}:t.index++,t.key=[i,e,t.index].join(","),t}function k(){let t,e=this,i=e.yAxis,n=e.stackKey||"",r=i.stacking.stacks,s=e.processedXData,o=e.options.stacking,a=e[o+"Stacker"];a&&[n,"-"+n].forEach((i=>{let n,o,l,h=s.length;for(;h--;){var c,d;n=s[h],t=e.getStackIndicator(t,n,e.index,i),o=null===(c=r[i])||void 0===c?void 0:c[n],(l=null===(d=o)||void 0===d?void 0:d.points[t.key||""])&&a.call(e,l,o,h)}}))}function S(t,e,i){let n=e.total?100/e.total:0;t[0]=h(t[0]*n),t[1]=h(t[1]*n),this.stackedYData[i]=t[1]}function w(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?a.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function C(t,e){let i,r,s,o,a,l,d,u,f,g=e||this.options.stacking;if(!g||!this.reserveSpace()||({group:"xAxis"}[g]||"yAxis")!==t.coll)return;let y=this.processedXData,v=this.processedYData,b=[],x=v.length,k=this.options,S=k.threshold||0,w=k.startFromThreshold?S:0,C=k.stack,M=e?"".concat(this.type,",").concat(g):this.stackKey||"",T="-"+M,P=this.negStacks,E=t.stacking,A=E.stacks,L=E.oldStacks;for(E.stacksTouched+=1,d=0;d0&&!1===this.singleStacks&&(s.points[l][0]=s.points[this.index+","+u+",0"][0])):(delete s.points[l],delete s.points[this.index]);let e=s.total||0;"percent"===g?(o=r?M:T,e=P&&null!==(D=A[o])&&void 0!==D&&D[u]?(o=A[o][u]).total=Math.max(o.total||0,e)+Math.abs(f)||0:h(e+(Math.abs(f)||0))):"group"===g?(p(f)&&(f=f[0]),null!==f&&e++):e=h(e+(f||0)),s.cumulative="group"===g?(e||1)-1:h(m(s.cumulative,w)+(f||0)),s.total=e,null!==f&&(s.points[l].push(s.cumulative),b[d]=s.cumulative,s.hasValidPoints=!0)}"percent"===g&&(E.usePercentage=!0),"group"!==g&&(this.stackedYData=b),E.oldStacks={}}class M{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e,i=this.axis,n=i.series,r="xAxis"===i.coll,s=i.options.reversedStacks,o=n.length;for(this.resetStacks(),this.usePercentage=!1,e=o;e--;)t=n[s?e:o-e-1],r&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!r)for(e=0;e{g(t,(t=>{t.cumulative=t.total}))})))}resetStacks(){g(this.stacks,(t=>{g(t,((e,i)=>{f(e.touched)&&e.touched{g(t,(t=>{t.render(a)}))})),a.animate({opacity:1},s)}}return(s||(s={})).compose=function(t,e,i){let n=e.prototype,r=i.prototype;n.getStacks||(l(t,"init",b),l(t,"destroy",v),n.getStacks=y,r.getStackIndicator=x,r.modifyStacks=k,r.percentStacker=S,r.setGroupedPoints=w,r.setStackedPoints=C)},s})),i(e,"Series/Line/LineSeries.js",[e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{defined:n,merge:r,isObject:s}=i;class o extends t{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach(((n,o)=>{let a,l=n.graph,h=l?"animate":"attr",c=n.dashStyle||t.dashStyle;l?(l.endX=this.preventGraphAnimation?null:e.xMap,l.animate({d:e})):e.length&&(n.graph=l=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?" highcharts-zone-graph-".concat(o-1," "):" ")+(o&&n.className||"")).attr({zIndex:1}).add(this.group)),l&&!i&&(a={stroke:!o&&t.lineColor||n.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},c?a.dashstyle=c:"square"!==t.linecap&&(a["stroke-linecap"]=a["stroke-linejoin"]="round"),l[h](a).shadow(o<2&&t.shadow&&r({filterUnits:"userSpaceOnUse"},s(t.shadow)?t.shadow:{}))),l&&(l.startX=e.xMap,l.isArea=e.isArea)}))}getGraphPath(t,e,i){let r,s=this,o=s.options,a=[],l=[],h=o.step,c=(t=t||s.points).reversed;return c&&t.reverse(),(h={right:1,center:2}[h]||h&&3)&&c&&(h=4-h),(t=this.getValidPoints(t,!1,!(o.connectNulls&&!e&&!i))).forEach((function(c,d){let u,p=c.plotX,f=c.plotY,g=t[d-1],m=c.isNull||"number"!=typeof f;(c.leftCliff||g&&g.rightCliff)&&!i&&(r=!0),m&&!n(e)&&d>0?r=!o.connectNulls:m&&!e?r=!0:(0===d||r?u=[["M",c.plotX,c.plotY]]:s.getPointSpline?u=[s.getPointSpline(t,c,d)]:h?(u=1===h?[["L",g.plotX,f]]:2===h?[["L",(g.plotX+p)/2,g.plotY],["L",(g.plotX+p)/2,f]]:[["L",p,g.plotY]]).push(["L",p,f]):u=[["L",p,f]],l.push(c.x),h&&(l.push(c.x),2===h&&l.push(c.x)),a.push.apply(a,u),r=!1)})),a.xMap=l,s.graphPath=a,a}}return o.defaultOptions=r(t.defaultOptions,{legendSymbol:"lineMarker"}),e.registerSeriesType("line",o),o})),i(e,"Series/Area/AreaSeries.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{seriesTypes:{line:i}}=t,{extend:n,merge:r,objectEach:s,pick:o}=e;class a extends i{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach(((i,n)=>{var r;let s={},o=i.fillColor||e.fillColor,a=i.area,l=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(s.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(n?" highcharts-zone-area-".concat(n-1," "):" ")+(n&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(s.fill=o||i.color||this.color,s["fill-opacity"]=o?1:null!==(r=e.fillOpacity)&&void 0!==r?r:.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[l](s),a.startX=t.xMap,a.shiftUnit=e.step?2:1}))}getGraphPath(t){let e,n,r,s=i.prototype.getGraphPath,a=this.options,l=a.stacking,h=this.yAxis,c=[],d=[],u=this.index,p=h.stacking.stacks[this.stackKey],f=a.threshold,g=Math.round(h.getThreshold(a.threshold)),m=o(a.connectNulls,"percent"===l),y=function(i,n,r){let s,o,a=t[i],m=l&&p[a.x].points[u],y=a[r+"Null"]||0,v=a[r+"Cliff"]||0,b=!0;v||y?(s=(y?m[0]:m[1])+v,o=m[0]+v,b=!!y):!l&&t[n]&&t[n].isNull&&(s=o=f),void 0!==s&&(d.push({plotX:e,plotY:null===s?g:h.getThreshold(s),isNull:b,isCliff:!0}),c.push({plotX:e,plotY:null===o?g:h.getThreshold(o),doCurve:!1}))};t=t||this.points,l&&(t=this.getStackPoints(t));for(let i=0,w=t.length;it.visible));n.forEach((function(t,s){let g,m,y=0;if(h[t]&&!h[t].isNull)i.push(h[t]),[-1,1].forEach((function(i){let r=1===i?"rightNull":"leftNull",o=l[n[s+i]],a=0;if(o){let i=p;for(;i>=0&&i=0&&ei&&s>h?(s=Math.max(i,h),a=2*h-s):su&&a>h?(a=Math.max(u,h),s=2*h-a):a=Math.abs(e)&&a>.5;return n=a-(e=Math.round(e)+o),l&&n&&(e-=1,n+=1),{x:t,y:e,width:i,height:n}}adjustForMissingColumns(t,e,i,n){if(!i.isNull&&n.columnCount>1){var r;let s=this.xAxis.series.filter((t=>t.visible)).map((t=>t.index)),o=0,a=0;v(null===(r=this.xAxis.stacking)||void 0===r?void 0:r.stacks,(t=>{if("number"==typeof i.x){let e=t[i.x.toString()];if(e&&f(e.points[this.index])){let t=Object.keys(e.points).filter((t=>!t.match(",")&&e.points[t]&&e.points[t].length>1)).map(parseFloat).filter((t=>-1!==s.indexOf(t))).sort(((t,e)=>e-t));o=t.indexOf(this.index),a=t.length}}})),o=this.xAxis.reversed?a-1-o:o;let l=(a-1)*n.paddedWidth+e;t=(i.plotX||0)+l/2-e-o*n.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,n=t.dense=t.closestPointRange*t.xAxis.transA<2,s=t.borderWidth=y(i.borderWidth,n?0:1),o=t.xAxis,a=t.yAxis,l=i.threshold,h=y(i.minPointLength,5),u=t.getColumnMetrics(),f=u.width,m=t.pointXOffset=u.offset,v=t.dataMin,b=t.dataMax,x=t.barW=Math.max(f,1+2*s),k=t.translatedThreshold=a.getThreshold(l);e.inverted&&(k-=.5),i.pointPadding&&(x=Math.ceil(x)),r.prototype.translate.apply(t),t.points.forEach((function(n){let r,s=y(n.yBottom,k),p=999+Math.abs(s),S=n.plotX||0,w=c(n.plotY,-p,a.len+p),C=Math.min(w,s),M=Math.max(w,s)-C,T=f,P=S+m,E=x;h&&Math.abs(M)h?s-h:k-(r?h:0)),d(n.options.pointWidth)&&(P-=Math.round(((T=E=Math.ceil(n.options.pointWidth))-f)/2)),i.centerInCategory&&!i.stacking&&(P=t.adjustForMissingColumns(P,T,n,u)),n.barX=P,n.pointWidth=T,n.tooltipPos=e.inverted?[c(a.len+a.pos-e.plotLeft-w,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),o.len+o.pos-e.plotTop-P-E/2,M]:[o.left-e.plotLeft+P+E/2,c(w+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),M],n.shapeType=t.pointClass.prototype.shapeType||"roundedRect",n.shapeArgs=t.crispCol(P,n.isNull?k:C,E,n.isNull?0:M)})),p(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i,n,r,s=this.options,o=this.pointAttrToOptions||{},a=o.stroke||"borderColor",h=o["stroke-width"]||"borderWidth",c=t&&t.color||this.color,d=t&&t[a]||s[a]||c,u=t&&t.options.dashStyle||s.dashStyle,p=t&&t[h]||s[h]||this[h]||0,f=y(t&&t.opacity,s.opacity,1);t&&this.zones.length&&(n=t.getZone(),c=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,u=n.dashStyle||u,p=n.borderWidth||p)),e&&t&&(r=(i=m(s.states[e],t.options.states&&t.options.states[e]||{})).brightness,c=i.color||void 0!==r&&l(c).brighten(i.brightness).get()||c,d=i[a]||d,p=i[h]||p,u=i.dashStyle||u,f=y(i.opacity,f));let g={fill:c,stroke:d,"stroke-width":p,opacity:f};return u&&(g.dashstyle=u),g}drawPoints(){let t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.points,i=this,n=this.chart,r=i.options,s=n.renderer,o=r.animationLimit||250;e.forEach((function(e){let a=e.plotY,l=e.graphic,h=!!l,c=l&&n.pointCount0&&void 0!==arguments[0]?arguments[0]:this.points,i=this,n=i.chart,r=n.pointer,s=function(t){let e=null===r||void 0===r?void 0:r.getPointFromEvent(t);r&&e&&i.options.enableMouseTracking&&(r.isDirectTouch=!0,e.onMouseOver(t))};e.forEach((function(e){t=f(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach((function(t){(t.div||t.element).point=e}))})),i._hasTracking||(i.trackerGroups.forEach((function(t){i[t]&&(i[t].addClass("highcharts-tracker").on("mouseover",s).on("mouseout",(function(t){null===r||void 0===r||r.onTrackerMouseOut(t)})).on("touchstart",s),!n.styledMode&&i.options.cursor&&i[t].css({cursor:i.options.cursor}))})),i._hasTracking=!0),p(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach((function(e){e.type===t.type&&(e.isDirty=!0)})),r.prototype.remove.apply(t,arguments)}}return b.defaultOptions=m(r.defaultOptions,i),u(b.prototype,{directTouch:!0,getSymbol:h,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),s.registerSeriesType("column",b),b})),i(e,"Core/Series/DataLabel.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],(function(t,e,i){var n;let{getDeferredAnimation:r}=t,{format:s}=e,{defined:o,extend:a,fireEvent:l,isArray:h,isString:c,merge:d,objectEach:u,pick:p,pInt:f,splat:g}=i;return function(t){function e(){return x(this).some((t=>null===t||void 0===t?void 0:t.enabled))}function i(t,e,i,n,r){let s=this.chart,l=this.isCartesian&&s.inverted,h=this.enabledDataSorting,c=t.plotX,u=t.plotY,f=i.rotation||0,g=o(c)&&o(u)&&s.isInsidePlot(c,Math.round(u),{inverted:l,paneCoordinates:!0,series:this}),m=0===f&&"justify"===p(i.overflow,h?"none":"justify"),y=this.visible&&!1!==t.visible&&o(c)&&(t.series.forceDL||h&&!m||g||p(i.inside,!!this.options.stacking)&&n&&s.isInsidePlot(c,l?n.x+1:n.y+n.height-1,{inverted:l,paneCoordinates:!0,series:this})),v=t.pos();if(y&&v){var b;let o=e.getBBox(),l=e.getBBox(void 0,0),c={right:1,center:.5}[i.align||0]||0,u={bottom:1,middle:.5}[i.verticalAlign||0]||0;if(n=a({x:v[0],y:Math.round(v[1]),width:0,height:0},n||{}),a(i,{width:o.width,height:o.height}),b=n,h&&this.xAxis&&!m&&this.setDataLabelStartPos(t,e,r,g,b),e.align(d(i,{width:l.width,height:l.height}),!1,n,!1),e.alignAttr.x+=c*(l.width-o.width),e.alignAttr.y+=u*(l.height-o.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(o.width-l.width)/2,y:e.alignAttr.y+(o.height-l.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),m&&n.height>=0)this.justifyDataLabel(e,i,e.alignAttr,o,n,r);else if(p(i.crop,!0)){let{x:t,y:i}=e.alignAttr;y=s.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&s.isInsidePlot(t+o.width-1,i+o.height-1,{paneCoordinates:!0,series:this})}i.shape&&!f&&e[r?"attr":"animate"]({anchorX:v[0],anchorY:v[1]})}r&&h&&(e.placed=!1),y||h&&!m?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function n(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function m(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function y(t){var e;let i;t=t||this.points;let n=this,a=n.chart,h=n.options,d=a.renderer,{backgroundColor:m,plotBackgroundColor:y}=a.options.chart,v=d.getContrast(c(y)&&y||c(m)&&m||"#000000"),k=x(n),{animation:S,defer:w}=k[0],C=w?r(a,S,n):{defer:0,duration:0};l(this,"drawDataLabels"),null!==(e=n.hasDataLabels)&&void 0!==e&&e.call(n)&&(i=this.initDataLabels(C),t.forEach((t=>{var e;let r=t.dataLabels||[];g(b(k,t.dlOptions||(null===(e=t.options)||void 0===e?void 0:e.dataLabels))).forEach(((e,l)=>{let g,m,y,b,x,k=e.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,n=t[i.property],r=i.value;return">"===e&&n>r||"<"===e&&n="===e&&n>=r||"<="===e&&n<=r||"=="===e&&n==r||"==="===e&&n===r||"!="===e&&n!=r||"!=="===e&&n!==r}return!0}(t,e),{backgroundColor:S,borderColor:w,distance:C,style:M={}}=e,T={},P=r[l],E=!P;if(k&&(m=p(e[t.formatPrefix+"Format"],e.format),g=t.getLabelConfig(),y=o(m)?s(m,g,a):(e[t.formatPrefix+"Formatter"]||e.formatter).call(g,e),b=e.rotation,!a.styledMode&&(M.color=p(e.color,M.color,c(n.color)?n.color:void 0,"#000000"),"contrast"===M.color?("none"!==S&&(x=S),t.contrastColor=d.getContrast("auto"!==x&&x||t.color||n.color),M.color=x||!o(C)&&e.inside||0>f(C||0)||h.stacking?t.contrastColor:v):delete t.contrastColor,h.cursor&&(M.cursor=h.cursor)),T={r:e.borderRadius||0,rotation:b,padding:e.padding,zIndex:1},a.styledMode||(T.fill="auto"===S?t.color:S,T.stroke="auto"===w?t.color:w,T["stroke-width"]=e.borderWidth),u(T,((t,e)=>{void 0===t&&delete T[e]}))),!P||k&&o(y)&&!!P.div==!!e.useHTML&&(P.rotation&&e.rotation||P.rotation===e.rotation)||(P=void 0,E=!0),k&&o(y)&&(P?T.text=y:(P=d.label(y,0,0,e.shape,void 0,void 0,e.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(e.className||"")+(e.useHTML?" highcharts-tracker":"")),P)){var A;P.options=e,P.attr(T),a.styledMode||P.css(M).shadow(e.shadow);let s=e[t.formatPrefix+"TextPath"]||e.textPath;s&&!e.useHTML&&(P.setTextPath((null===(A=t.getDataLabelPath)||void 0===A?void 0:A.call(t,P))||t.graphic,s),t.dataLabelPath&&!s.enabled&&(t.dataLabelPath=t.dataLabelPath.destroy())),P.added||P.add(i),n.alignDataLabel(t,P,e,void 0,E),P.isActive=!0,r[l]&&r[l]!==P&&r[l].destroy(),r[l]=P}}));let l=r.length;for(;l--;){var m;r[l]&&r[l].isActive?r[l].isActive=!1:(null!==(m=r[l])&&void 0!==m&&m.destroy(),r.splice(l,1))}t.dataLabel=r[0],t.dataLabels=r}))),l(this,"afterDrawDataLabels")}function v(t,e,i,n,r,s){let o,a,l=this.chart,h=e.align,c=e.verticalAlign,d=t.box?0:t.padding||0,{x:u=0,y:p=0}=e;return(o=(i.x||0)+d)<0&&("right"===h&&u>=0?(e.align="left",e.inside=!0):u-=o,a=!0),(o=(i.x||0)+n.width-d)>l.plotWidth&&("left"===h&&u<=0?(e.align="right",e.inside=!0):u+=l.plotWidth-o,a=!0),(o=i.y+d)<0&&("bottom"===c&&p>=0?(e.verticalAlign="top",e.inside=!0):p-=o,a=!0),(o=(i.y||0)+n.height-d)>l.plotHeight&&("top"===c&&p<=0?(e.verticalAlign="bottom",e.inside=!0):p+=l.plotHeight-o,a=!0),a&&(e.x=u,e.y=p,t.placed=!s,t.align(e,void 0,r)),a}function b(t,e){let i,n=[];if(h(t)&&!h(e))n=t.map((function(t){return d(t,e)}));else if(h(e)&&!h(t))n=e.map((function(e){return d(t,e)}));else if(h(t)||h(e)){if(h(t)&&h(e))for(i=Math.max(t.length,e.length);i--;)n[i]=d(t[i],e[i])}else n=d(t,e);return n}function x(t){var e,i;let n=t.chart.options.plotOptions;return g(b(b(null===n||void 0===n||null===(e=n.series)||void 0===e?void 0:e.dataLabels,null===n||void 0===n||null===(i=n[t.type])||void 0===i?void 0:i.dataLabels),t.options.dataLabels))}function k(t,e,i,n,r){let s=this.chart,o=s.inverted,a=this.xAxis,l=a.reversed,h=((o?e.height:e.width)||0)/2,c=t.pointWidth,d=c?c/2:0;e.startXPos=o?r.x:l?-h-d:a.width-h+d,e.startYPos=o?l?this.yAxis.height-h+d:-h-d:r.y,n?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),s.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let r=t.prototype;r.initDataLabels||(r.initDataLabels=m,r.initDataLabelsGroup=n,r.alignDataLabel=i,r.drawDataLabels=y,r.justifyDataLabel=v,r.setDataLabelStartPos=k,r.hasDataLabels=e)}}(n||(n={})),n})),i(e,"Series/Column/ColumnDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,n){var r;let{composed:s}=e,{series:o}=i,{merge:a,pick:l,pushUnique:h}=n;return function(e){function i(t,e,i,n,r){let s=this.chart.inverted,h=t.series,c=(h.xAxis?h.xAxis.len:this.chart.plotSizeX)||0,d=(h.yAxis?h.yAxis.len:this.chart.plotSizeY)||0,u=t.dlBox||t.shapeArgs,p=l(t.below,t.plotY>l(this.translatedThreshold,d)),f=l(i.inside,!!this.options.stacking);if(u){if(n=a(u),"allow"!==i.overflow||!1!==i.crop){n.y<0&&(n.height+=n.y,n.y=0);let t=n.y+n.height-d;t>0&&t\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}})),i(e,"Series/Scatter/ScatterSeries.js",[e["Series/Scatter/ScatterSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{column:n,line:r}=e.seriesTypes,{addEvent:s,extend:o,merge:a}=i;class l extends r{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach((function(n,r){["x","y"].forEach((function(s,o){if(e[s]&&!n.isNull){let a="plot".concat(s.toUpperCase()),l=t["".concat(s,"Axis")],h=e[s]*l.transA;if(l&&!l.logarithmic){let t=Math.max(0,(n[a]||0)-h),e=Math.min(l.len,(n[a]||0)+h);n[a]=t+(e-t)*function(t){let e=1e4*Math.sin(t);return e-Math.floor(e)}(r+o*i),"x"===s&&(n.clientX=n.plotX)}}}))}))}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return l.defaultOptions=a(r.defaultOptions,t),o(l.prototype,{drawTracker:n.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),s(l,"afterTranslate",(function(){this.applyJitter()})),e.registerSeriesType("scatter",l),l})),i(e,"Series/CenteredUtilities.js",[e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],(function(t,e,i){var n,r;let{deg2rad:s}=t,{fireEvent:o,isNumber:a,pick:l,relativeLength:h}=i;return(r=n||(n={})).getCenter=function(){let t,i,n,r=this.options,s=this.chart,c=2*(r.slicedOffset||0),d=s.plotWidth-2*c,u=s.plotHeight-2*c,p=r.center,f=Math.min(d,u),g=r.thickness,m=r.size,y=r.innerSize||0;"string"==typeof m&&(m=parseFloat(m)),"string"==typeof y&&(y=parseFloat(y));let v=[l(p[0],"50%"),l(p[1],"50%"),l(m&&m<0?void 0:r.size,"100%"),l(y&&y<0?void 0:r.innerSize||0,"0%")];for(!s.angular||this instanceof e||(v[3]=0),i=0;i<4;++i)n=v[i],t=i<2||2===i&&/%$/.test(n),v[i]=h(n,[d,u,f,v[2]][i])+(t?c:0);return v[3]>v[2]&&(v[3]=v[2]),a(g)&&2*g0&&(v[3]=v[2]-2*g),o(this,"afterGetCenter",{positions:v}),v},r.getStartAndEndRadians=function(t,e){let i=a(t)?t:0,n=a(e)&&e>i&&e-i<360?e:i+360;return{start:s*(i+-90),end:s*(n+-90)}},n})),i(e,"Series/Pie/PiePoint.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],(function(t,e,i){let{setAnimation:n}=t,{addEvent:r,defined:s,extend:o,isNumber:a,pick:l,relativeLength:h}=i;class c extends e{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},n=i.connectorShape,r=this.connectorShapes[n]||n;return e&&r.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){var n;super(t,e,i),this.half=0,null!==(n=this.name)&&void 0!==n||(this.name="Slice");let s=t=>{this.slice("select"===t.type)};r(this,"select",s),r(this,"unselect",s)}isValid(){return a(this.y)&&this.y>=0}setVisible(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t!==this.visible&&this.update({visible:null!==t&&void 0!==t?t:!this.visible},e,void 0,!1)}slice(t,e,i){let r=this.series;n(i,r.chart),e=l(e,!0),this.sliced=this.options.sliced=t=s(t)?t:!this.sliced,r.options.data[r.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return o(c.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let n=e.breakAt,r=e.touchingSliceAt,s=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*n.x-r.x,2*n.y-r.y,n.x,n.y]:["L",n.x,n.y];return[["M",t.x,t.y],s,["L",r.x,r.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{breakAt:n,touchingSliceAt:r}=e,{series:s}=this,[o,a,l]=s.center,c=l/2,{plotLeft:d,plotWidth:u}=s.chart,p="left"===t.alignment,{x:f,y:g}=t,m=n.x;if(i.crookDistance){let t=h(i.crookDistance,1);m=p?o+c+(u+d-o-c)*(1-t):d+(o-c)*t}else m=o+(a-g)*Math.tan((this.angle||0)-Math.PI/2);let y=[["M",f,g]];return(p?m<=f&&m>=n.x:m>=f&&m<=n.x)&&y.push(["L",m,g]),y.push(["L",n.x,n.y],["L",r.x,r.y]),y}}}),c})),i(e,"Series/Pie/PieSeriesDefaults.js",[],(function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}})),i(e,"Series/Pie/PieSeries.js",[e["Series/CenteredUtilities.js"],e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Series/Pie/PiePoint.js"],e["Series/Pie/PieSeriesDefaults.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Utilities.js"]],(function(t,e,i,n,r,s,o,a,l){let{getStartAndEndRadians:h}=t,{noop:c}=i,{clamp:d,extend:u,fireEvent:p,merge:f,pick:g}=l;class m extends s{animate(t){let e=this,i=e.points,n=e.startAngleRad;t||i.forEach((function(t){let i=t.graphic,r=t.shapeArgs;i&&r&&(i.attr({r:g(t.startR,e.center&&e.center[3]/2),start:n,end:n}),i.animate({r:r.r,start:r.start,end:r.end},e.options.animation))}))}drawEmpty(){let t,e,i=this.startAngleRad,n=this.endAngleRad,r=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,n).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:a.arc(t,e,this.center[2]/2,0,{start:i,end:n,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":r.borderWidth,fill:r.fillColor||"none",stroke:r.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach((function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)}))}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,n){let r=this.center,s=this.radii?this.radii[i.index]||0:r[2]/2,o=n.dataLabelPosition,a=(null===o||void 0===o?void 0:o.distance)||0,l=Math.asin(d((t-r[1])/(s+a),-1,1));return r[0]+Math.cos(l)*(s+a)*(e?-1:1)+(a>0?(e?-1:1)*(n.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let t,e,i,n,r=this,s=r.chart;this.drawEmpty(),r.group&&!s.styledMode&&r.group.shadow(r.options.shadow),r.points.forEach((function(o){let a={};e=o.graphic,!o.isNull&&e?(n=o.shapeArgs,t=o.getTranslate(),s.styledMode||(i=r.pointAttribs(o,o.selected&&"select")),o.delayedRendering?(e.setRadialReference(r.center).attr(n).attr(t),s.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),o.delayedRendering=!1):(e.setRadialReference(r.center),s.styledMode||f(!0,a,i),f(!0,a,n,t),e.animate(a)),e.attr({visibility:o.visible?"inherit":"hidden"}),e.addClass(o.getClassName(),!0)):e&&(o.graphic=e.destroy())}))}sortByAngle(t,e){t.sort((function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e}))}translate(t){p(this,"translate"),this.generatePoints();let e,i,n,r,s,o,a,l=this.options,c=l.slicedOffset,d=h(l.startAngle,l.endAngle),u=this.startAngleRad=d.start,f=(this.endAngleRad=d.end)-u,g=this.points,m=l.ignoreHiddenPoint,y=g.length,v=0;for(t||(this.center=t=this.getCenter()),o=0;o1.5*Math.PI?n-=2*Math.PI:n<-Math.PI/2&&(n+=2*Math.PI),a.slicedTranslation={translateX:Math.round(Math.cos(n)*c),translateY:Math.round(Math.sin(n)*c)},r=Math.cos(n)*t[2]/2,s=Math.sin(n)*t[2]/2,a.tooltipPos=[t[0]+.7*r,t[1]+.7*s],a.half=n<-Math.PI/2||n>Math.PI/2?1:0,a.angle=n}p(this,"afterTranslate")}updateTotals(){let t,e,i=this.points,n=i.length,r=this.options.ignoreHiddenPoint,s=0;for(t=0;t0&&(e.visible||!r)?e.y/s*100:0,e.total=s}}return m.defaultOptions=f(s.defaultOptions,r),u(m.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:e.prototype.drawTracker,getCenter:t.getCenter,getSymbol:c,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:e.prototype.pointAttribs,pointClass:n,requireSorting:!1,searchPoint:c,trackerGroups:["group","dataLabelsGroup"]}),o.registerSeriesType("pie",m),m})),i(e,"Series/Pie/PieDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,n,r){var s;let{composed:o,noop:a}=e,{distribute:l}=i,{series:h}=n,{arrayMax:c,clamp:d,defined:u,pick:p,pushUnique:f,relativeLength:g}=r;return function(e){let i={radialDistributionY:function(t,e){var i;return((null===(i=e.dataLabelPosition)||void 0===i?void 0:i.top)||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,n,r){let s=r.dataLabelPosition;return t.getX(i<((null===s||void 0===s?void 0:s.top)||0)+2||i>((null===s||void 0===s?void 0:s.bottom)||0)-2?n:i,e.half,e,r)},justify:function(t,e,i,n){var r;return n[0]+(t.half?-1:1)*(i+((null===(r=e.dataLabelPosition)||void 0===r?void 0:r.distance)||0))},alignToPlotEdges:function(t,e,i,n){let r=t.getBBox().width;return e?r+n:i-r-n},alignToConnectors:function(t,e,i,n){let r,s=0;return t.forEach((function(t){(r=t.dataLabel.getBBox().width)>s&&(s=r)})),e?s+n:i-s-n}};function n(t,e){let{center:i,options:n}=this,r=i[2]/2,s=t.angle||0,o=Math.cos(s),a=Math.sin(s),l=i[0]+o*r,h=i[1]+a*r,c=Math.min((n.slicedOffset||0)+(n.borderWidth||0),e/5);return{natural:{x:l+o*e,y:h+a*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:l+o*c,y:h+a*c},touchingSliceAt:{x:l,y:h}},distance:e}}function r(){var t;let e,i,n,r=this,s=r.points,o=r.chart,a=o.plotWidth,d=o.plotHeight,f=o.plotLeft,m=Math.round(o.chartWidth/3),y=r.center,v=y[2]/2,b=y[1],x=[[],[]],k=[0,0,0,0],S=r.dataLabelPositioners,w=0;r.visible&&(null===(t=r.hasDataLabels)||void 0===t?void 0:t.call(r))&&(s.forEach((t=>{(t.dataLabels||[]).forEach((t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)}))})),h.prototype.drawDataLabels.apply(r),s.forEach((t=>{(t.dataLabels||[]).forEach(((e,i)=>{var n;let r=y[2]/2,s=e.options,o=g((null===s||void 0===s?void 0:s.distance)||0,r);0===i&&x[t.half].push(t),!u(null===s||void 0===s||null===(n=s.style)||void 0===n?void 0:n.width)&&e.getBBox().width>m&&(e.css({width:Math.round(.7*m)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,o),w=Math.max(w,o)}))})),x.forEach(((t,e)=>{let s,h,c,g=t.length,m=[],x=0;g&&(r.sortByAngle(t,e-.5),w>0&&(s=Math.max(0,b-v-w),h=Math.min(b+v+w,o.plotHeight),t.forEach((t=>{(t.dataLabels||[]).forEach((e=>{var i;let n=e.dataLabelPosition;n&&n.distance>0&&(n.top=Math.max(0,b-v-n.distance),n.bottom=Math.min(b+v+n.distance,o.plotHeight),x=e.getBBox().height||21,t.distributeBox={target:((null===(i=e.dataLabelPosition)||void 0===i?void 0:i.natural.y)||0)-n.top+x/2,size:x,rank:t.y},m.push(t.distributeBox))}))})),l(m,c=h+x-s,c/5)),t.forEach((s=>{(s.dataLabels||[]).forEach((o=>{let l=o.options||{},h=s.distributeBox,c=o.dataLabelPosition,g=(null===c||void 0===c?void 0:c.natural.y)||0,b=l.connectorPadding||0,x=0,w=g,C="inherit";if(c){if(m&&u(h)&&c.distance>0&&(void 0===h.pos?C="hidden":(n=h.size,w=S.radialDistributionY(s,o))),l.justify)x=S.justify(s,o,v,y);else switch(l.alignTo){case"connectors":x=S.alignToConnectors(t,e,a,f);break;case"plotEdges":x=S.alignToPlotEdges(o,e,a,f);break;default:x=S.radialDistributionX(r,s,w,g,o)}if(c.attribs={visibility:C,align:c.alignment},c.posAttribs={x:x+(l.x||0)+({left:b,right:-b}[c.alignment]||0),y:w+(l.y||0)-o.getBBox().height/2},c.computed.x=x,c.computed.y=w,p(l.crop,!0)){let t;x-(i=o.getBBox().width)a-b&&0===e&&(t=Math.round(x+i-a+b),k[1]=Math.max(t,k[1])),w-n/2<0?k[0]=Math.max(Math.round(n/2-w),k[0]):w+n/2>d&&(k[2]=Math.max(Math.round(w+n/2-d),k[2])),c.sideOverflow=t}}}))})))})),(0===c(k)||this.verifyDataLabelOverflow(k))&&(this.placeDataLabels(),this.points.forEach((t=>{(t.dataLabels||[]).forEach((i=>{let{connectorColor:n,connectorWidth:s=1}=i.options||{},a=i.dataLabelPosition;if(s){var l;let h;e=i.connector,a&&a.distance>0?(h=!e,e||(i.connector=e=o.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+t.colorIndex+(t.className?" "+t.className:"")).add(r.dataLabelsGroup)),o.styledMode||e.attr({"stroke-width":s,stroke:n||t.color||"#666666"}),e[h?"attr":"animate"]({d:t.getConnectorPath(i)}),e.attr({visibility:null===(l=a.attribs)||void 0===l?void 0:l.visibility})):e&&(i.connector=e.destroy())}}))}))))}function s(){this.points.forEach((t=>{(t.dataLabels||[]).forEach((t=>{var e;let i=t.dataLabelPosition;i?(i.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-i.sideOverflow,0)+"px",textOverflow:((null===(e=t.options)||void 0===e?void 0:e.style)||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(i.attribs),t[t.moved?"animate":"attr"](i.posAttribs),t.moved=!0):t&&t.attr({y:-9999})})),delete t.distributeBox}),this)}function m(t){let e=this.center,i=this.options,n=i.center,r=i.minSize||80,s=r,o=null!==i.size;return!o&&(null!==n[0]?s=Math.max(e[2]-Math.max(t[1],t[3]),r):(s=Math.max(e[2]-t[1]-t[3],r),e[0]+=(t[3]-t[1])/2),null!==n[1]?s=d(s,r,e[2]-Math.max(t[0],t[2])):(s=d(s,r,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),s!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),c=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0)));for(let i=0;i{n(t,(t=>{t.label&&e.push(t.label)}))}));for(let n of t.series||[]){var i;if(n.visible&&null!==(i=n.hasDataLabels)&&void 0!==i&&i.call(n)){let i=i=>{for(let n of i)n.visible&&(n.dataLabels||[]).forEach((i=>{var s,a;let l=i.options||{};i.labelrank=r(l.labelrank,n.labelrank,null===(s=n.shapeArgs)||void 0===s?void 0:s.height),(null!==(a=l.allowOverlap)&&void 0!==a?a:Number(l.distance)>0)?(i.oldOpacity=i.opacity,i.newOpacity=1,o(i,t)):e.push(i)}))};i(n.nodes||[]),i(n.points)}}this.hideOverlappingLabels(e)}return{compose:function(t){let i=t.prototype;i.hideOverlappingLabels||(i.hideOverlappingLabels=s,e(t,"render",a))}}})),i(e,"Extensions/BorderRadius.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){let{defaultOptions:n}=t,{noop:r}=e,{addEvent:s,extend:o,isObject:a,merge:l,relativeLength:h}=i,c={radius:0,scope:"stack",where:void 0},d=r,u=r;function p(t,e,i,n){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=d(t,e,i,n,r),{innerR:o=0,r:a=i,start:l=0,end:c=0}=r;if(r.open||!r.borderRadius)return s;let u=c-l,p=Math.sin(u/2),f=Math.max(Math.min(h(r.borderRadius||0,a-o),(a-o)/2,a*p/(1+p)),0),g=Math.min(f,u/Math.PI*2*o),m=s.length-1;for(;m--;)!function(t,e,i){let n,r,s,o=t[e],a=t[e+1];if("Z"===a[0]&&(a=t[0]),"M"!==o[0]&&"L"!==o[0]||"A"!==a[0]?"A"===o[0]&&("M"===a[0]||"L"===a[0])&&(n=a,r=o):(n=o,r=a,s=!0),n&&r&&r.params){let o=r[1],a=r[5],l=r.params,{start:h,end:c,cx:d,cy:u}=l,p=a?o-i:o+i,f=p?Math.asin(i/p):0,g=a?f:-f,m=Math.cos(f)*p;s?(l.start=h+g,n[1]=d+m*Math.cos(h),n[2]=u+m*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,d+o*Math.cos(l.start),u+o*Math.sin(l.start)])):(l.end=c-g,r[6]=d+o*Math.cos(l.end),r[7]=u+o*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,d+m*Math.cos(c),u+m*Math.sin(c)])),r[4]=Math.abs(l.end-l.start)1?g:f);return s}function f(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){var t;let{options:e,yAxis:i}=this,r="percent"===e.stacking,s=null===(t=n.plotOptions)||void 0===t||null===(t=t[this.type])||void 0===t?void 0:t.borderRadius,l=g(e.borderRadius,a(s)?s:{}),c=i.options.reversed;for(let t of this.points){let{shapeArgs:n}=t;if("roundedRect"===t.shapeType&&n){let{width:s=0,height:a=0,y:d=0}=n,u=d,p=a;if("stack"===l.scope&&t.stackTotal){let n=i.translate(r?100:t.stackTotal,!1,!0,!1,!0),s=i.translate(e.threshold||0,!1,!0,!1,!0),o=this.crispCol(0,Math.min(n,s),0,Math.abs(n-s));u=o.y,p=o.height}let f=(t.negative?-1:1)*(c?-1:1)==-1,g=l.where;!g&&this.is("waterfall")&&Math.abs((t.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(g="all"),g||(g="end");let m=Math.min(h(l.radius,s),s/2,"all"===g?a/2:1/0)||0;"end"===g&&(f&&(u-=m),p+=m),o(n,{brBoxHeight:p,brBoxY:u,r:m})}}}}function g(t,e){return a(t)||(t={radius:t||0}),l(c,e,t)}function m(){let t=g(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=h(t.radius,(i.r||0)-(i.innerR||0)))}}function y(t,e,i,n){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=u(t,e,i,n,r),{r:o=0,brBoxHeight:a=n,brBoxY:l=e}=r,h=e-l,c=l+a-(e+n),d=h-o>-.1?0:o,p=c-o>-.1?0:o,f=Math.max(d&&h,0),g=Math.max(p&&c,0),m=[t+d,e],y=[t+i-d,e],v=[t+i,e+d],b=[t+i,e+n-p],x=[t+i-p,e+n],k=[t+p,e+n],S=[t,e+n-p],w=[t,e+d],C=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(f){let t=C(d,d-f);m[0]-=t,y[0]+=t,v[1]=w[1]=e+d-f}if(n=o(i.minWidth,0)&&this.chartHeight>=o(i.minHeight,0)}).call(this)&&e.push(t._id)}function l(t,e){let n,o=this.options.responsive,l=this.currentResponsive,h=[];!e&&o&&o.rules&&o.rules.forEach((t=>{void 0===t._id&&(t._id=a()),this.matchResponsiveRule(t,h)}),this);let c=s(...h.map((t=>r((o||{}).rules||[],(e=>e._id===t)))).map((t=>t&&t.chartOptions)));c.isResponsiveOptions=!0,h=h.toString()||void 0;let d=l&&l.ruleIds;h!==d&&(l&&this.update(l.undoOptions,t,!0),h?((n=i(c,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:h,mergedOptions:c,undoOptions:n},this.update(c,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let i=t.prototype;return i.matchResponsiveRule||n(i,{matchResponsiveRule:e,setResponsive:l}),t}}(e||(e={})),e})),i(e,"masters/highcharts.src.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Core/Defaults.js"],e["Core/Animation/Fx.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Templating.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Renderer/HTML/HTMLElement.js"],e["Core/Axis/Axis.js"],e["Core/Axis/DateTimeAxis.js"],e["Core/Axis/LogarithmicAxis.js"],e["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],e["Core/Axis/Tick.js"],e["Core/Tooltip.js"],e["Core/Series/Point.js"],e["Core/Pointer.js"],e["Core/Legend/Legend.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Chart/Chart.js"],e["Extensions/ScrollablePlotArea.js"],e["Core/Axis/Stacking/StackingAxis.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Column/ColumnDataLabel.js"],e["Series/Pie/PieDataLabel.js"],e["Core/Series/DataLabel.js"],e["Extensions/OverlappingDataLabels.js"],e["Extensions/BorderRadius.js"],e["Core/Responsive.js"],e["Core/Color/Color.js"],e["Core/Time.js"]],(function(t,e,i,n,r,s,o,a,l,h,c,d,u,p,f,g,m,y,v,b,x,k,S,w,C,M,T,P,E,A,L,O,D,I,z,N){return t.AST=s,t.Axis=u,t.Chart=S,t.Color=z,t.DataLabel=L,t.Fx=n,t.HTMLElement=d,t.Legend=x,t.LegendSymbol=k,t.OverlappingDataLabels=t.OverlappingDataLabels||O,t.PlotLineOrBand=g,t.Point=v,t.Pointer=b,t.RendererRegistry=a,t.Series=T,t.SeriesRegistry=P,t.StackItem=M,t.SVGElement=h,t.SVGRenderer=c,t.Templating=o,t.Tick=m,t.Time=N,t.Tooltip=y,t.animate=r.animate,t.animObject=r.animObject,t.chart=S.chart,t.color=z.parse,t.dateFormat=o.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=l.distribute,t.format=o.format,t.getDeferredAnimation=r.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=o.numberFormat,t.seriesType=P.seriesType,t.setAnimation=r.setAnimation,t.setOptions=i.setOptions,t.stop=r.stop,t.time=i.defaultTime,t.timers=n.timers,D.compose(t.Series,t.SVGElement,t.SVGRenderer),E.compose(t.Series.types.column),L.compose(t.Series),p.compose(t.Axis),d.compose(t.SVGRenderer),x.compose(t.Chart),f.compose(t.Axis),O.compose(t.Chart),A.compose(t.Series.types.pie),g.compose(t.Axis),b.compose(t.Chart),I.compose(t.Chart),w.compose(t.Axis,t.Chart,t.Series),C.compose(t.Axis,t.Chart,t.Series),y.compose(t.Pointer),e.extend(t,e),t})),e["masters/highcharts.src.js"]._modules=e,e["masters/highcharts.src.js"]},t.exports?(s.default=s,t.exports=r&&r.document?s(r):s):void 0===(n=function(){return s(r)}.call(e,i,e,t))||(t.exports=n)},730:(t,e,i)=>{"use strict";var n=i(43),r=i(853);function s(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,i=1;i