PageSourceSearch

https://static-prod.ilpost.it/apps/home/_next/static/chunks/ceddaa42-e83ff13ce09259b0.js

js ilpost.it collected 2026-09-24 08:29:34 UTC 434,940 bytes, 40 lines download raw bytes

1!function(){try{var t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},e=(new t.Error).stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="cf384291-6759-4ecf-8450-a3530d8f9041",t._sentryDebugIdIdentifier="sentry-dbid-cf384291-6759-4ecf-8450-a3530d8f9041")}catch(t){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[67],{3426:(t,e,i)=>{i.d(e,{c:()=>f});var s=i(6029),o=i(5729);let r={elezioniUsaMap:"_elezioniUsaMap_1ob9i_10",elezioniUsaMapHighcharts:"_elezioniUsaMapHighcharts_1ob9i_31",elezioniUsaMapTooltip:"_elezioniUsaMapTooltip_1ob9i_35",elezioniUsaMapTooltipMobile:"_elezioniUsaMapTooltipMobile_1ob9i_67",elezioniUsaMapTooltipTitle:"_elezioniUsaMapTooltipTitle_1ob9i_96",elezioniUsaMapTooltipSubTitle:"_elezioniUsaMapTooltipSubTitle_1ob9i_107",elezioniUsaMapTooltipDemocraticRow:"_elezioniUsaMapTooltipDemocraticRow_1ob9i_119",elezioniUsaMapTooltipDemocraticName:"_elezioniUsaMapTooltipDemocraticName_1ob9i_128",elezioniUsaMapTooltipRepubblicaniRow:"_elezioniUsaMapTooltipRepubblicaniRow_1ob9i_145",elezioniUsaMapTooltipRepubblicaniName:"_elezioniUsaMapTooltipRepubblicaniName_1ob9i_154",elezioniUsaMapTooltipSecondRow:"_elezioniUsaMapTooltipSecondRow_1ob9i_171",elezioniUsaMapTooltipDemocraticWin:"_elezioniUsaMapTooltipDemocraticWin_1ob9i_176",elezioniUsaMapTooltipRepubblicanWin:"_elezioniUsaMapTooltipRepubblicanWin_1ob9i_187",elezioniUsaMapLabel:"_elezioniUsaMapLabel_1ob9i_198",elezioniUsaMapLabelVincente:"_elezioniUsaMapLabelVincente_1ob9i_205",elezioniUsaMapLabelFontMini:"_elezioniUsaMapLabelFontMini_1ob9i_212",elezioniUsaMapCircle:"_elezioniUsaMapCircle_1ob9i_220",elezioniUsaMapCircleRed:"_elezioniUsaMapCircleRed_1ob9i_225",elezioniUsaMapCircleBlue:"_elezioniUsaMapCircleBlue_1ob9i_236"};var a="u">typeof globalThis?globalThis:"u">typeof window?window:"u">typeof global?global:"u">typeof self?self:{};function n(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var l={exports:{}};!function(t){var e,i;e="u">typeof window?window:a,i=function(t){var e={};function i(e,i,s,o){!e.hasOwnProperty(i)&&(e[i]=o.apply(null,s),t&&"function"==typeof CustomEvent&&t.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}return i(e,"Core/Globals.js",[],function(){var e,i;return(i=e||(e={})).SVG_NS="http://www.w3.org/2000/svg",i.product="Highcharts",i.version="11.4.8",i.win=void 0!==t?t:{},i.doc=i.win.document,i.svg=i.doc&&i.doc.createElementNS&&!!i.doc.createElementNS(i.SVG_NS,"svg").createSVGRect,i.userAgent=i.win.navigator&&i.win.navigator.userAgent||"",i.isChrome=i.win.chrome,i.isFirefox=-1!==i.userAgent.indexOf("Firefox"),i.isMS=/(edge|msie|trident)/i.test(i.userAgent)&&!i.win.opera,i.isSafari=!i.isChrome&&-1!==i.userAgent.indexOf("Safari"),i.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(i.userAgent),i.isWebKit=-1!==i.userAgent.indexOf("AppleWebKit"),i.deg2rad=2*Math.PI/360,i.hasBidiBug=i.isFirefox&&4>parseInt(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,i,s,{charts:o,doc:r,win:a}=t;function n(e,i,s,o){let r=i?"Highcharts error":"Highcharts warning";32===e&&(e=`${r}: Deprecated member`);let l=g(e),h=l?`${r} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(void 0!==o){let t="";l&&(h+="?"),C(o,function(e,i){t+=`
2 - ${i}: ${e}`,l&&(h+=encodeURI(i)+"="+encodeURI(e))}),h+=t}A(t,"displayError",{chart:s,code:e,message:h,params:o},function(){if(i)throw Error(h);a.console&&-1===n.messages.indexOf(h)&&console.warn(h)}),n.messages.push(h)}function l(t,e){return parseInt(t,e||10)}function h(t){return"string"==typeof t}function d(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function c(t,e){return!!t&&"object"==typeof t&&(!e||!d(t))}function p(t){return c(t)&&"number"==typeof t.nodeType}function u(t){let e=t&&t.constructor;return!!(c(t,!0)&&!p(t)&&e&&e.name&&"Object"!==e.name)}function g(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function m(t){return null!=t}function f(t,e,i){let s,o=h(e)&&!m(i),r=(e,i)=>{m(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return h(e)?r(i,e):C(e,r),s}function y(t){return d(t)?t:[t]}function x(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function b(){let t=arguments,e=t.length;for(let i=0;i<e;i++){let e=t[i];if(null!=e)return e}}function v(t,e){x(t.style,e)}function S(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function M(t,e){return t>1e14?t:parseFloat(t.toPrecision(e||14))}(n||(n={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let w=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i,s=t.length;for(i=0;i<s;i++)if(e(t[i],i))return t[i]};function C(t,e,i){for(let s in t)Object.hasOwnProperty.call(t,s)&&e.call(i||t[s],t[s],s,t)}function k(t,e,i){function s(e,i){let s=t.removeEventListener;s&&s.call(t,e,i,!1)}function o(i){let o,r;t.nodeName&&(e?(o={})[e]=!0:o=i,C(o,function(t,e){if(i[e])for(r=i[e].length;r--;)s(e,i[e][r].fn)}))}let r="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(r,"hcEvents")){let t=r.hcEvents;if(e){let r=t[e]||[];i?(t[e]=r.filter(function(t){return i!==t.fn}),s(e,i)):(o(t),t[e]=[])}else o(t),delete r.hcEvents}}function A(e,i,s,o){if(s=s||{}
2,r.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==t)){let t=r.createEvent("Events");t.initEvent(i,!0,!0),s=x(t,s),e.dispatchEvent?e.dispatchEvent(s):e.fireEvent(i,s)}else if(e.hcEvents){s.target||x(s,{preventDefault:function(){s.defaultPrevented=!0},target:e,type:i});let t=[],o=e,r=!1;for(;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[i]&&(t.length&&(r=!0),t.unshift.apply(t,o.hcEvents[i])),o=Object.getPrototypeOf(o);r&&t.sort((t,e)=>t.order-e.order),t.forEach(t=>{!1===t.fn.call(e,s)&&s.preventDefault()})}o&&!s.defaultPrevented&&o.call(e,s)}C({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,i){t[i]=function(t){return n(32,!1,void 0,{[`Highcharts.${i}`]:`use Array.${e}`}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}});let T=(e=Math.random().toString(36).substring(2,9)+"-",i=0,function(){return"highcharts-"+(s?"":e)+i++});return a.jQuery&&(a.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new t[h(e[0])?e.shift():"Chart"](this[0],e[0],e[1]),this):o[f(this[0],"data-highcharts-chart")]}),{addEvent:function(e,i,s,o={}){let r="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={});let a=r.hcEvents;t.Point&&e instanceof t.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let n=e.addEventListener;n&&n.call(e,i,s,!!t.supportsPassiveEvents&&{passive:void 0===o.passive?-1!==i.indexOf("touch"):o.passive,capture:!1}),a[i]||(a[i]=[]);let l={fn:s,order:"number"==typeof o.order?o.order:1/0};return a[i].push(l),a[i].sort((t,e)=>t.order-e.order),function(){k(e,i,s)}},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]<i&&(i=t[e]);return i},attr:f,clamp:function(t,e,i){return t>e?t<i?t:i:e},clearTimeout:function(t){m(t)&&clearTimeout(t)},correctFloat:M,createElement:function(t,e,i,s,o){let a=r.createElement(t);return e&&x(a,e),o&&v(a,{padding:"0",border:"none",margin:"0"}),i&&v(a,i),s&&s.appendChild(a),a},crisp:(t,e=0,i)=>{let s=e%2/2,o=i?-1:1;return(Math.round(t*o-s)+s)*o},css:v,defined:m,destroyObjectProperties:function(t,e,i){C(t,function(s,o){s!==e&&s?.destroy&&s.destroy(),(s?.destroy||!i)&&delete t[o]})},diffObjects:function(t,e,i,s){let o={};return function t(e,o,r,a){let n=i?o:e;C(e,function(i,l){if(!a&&s&&s.indexOf(l)>-1&&o[l]){i=y(i),r[l]=[];for(let e=0;e<Math.max(i.length,o[l].length);e++)o[l][e]&&(void 0===i[e]?r[l][e]=o[l][e]:(r[l][e]={},t(i[e],o[l][e],r[l][e],a+1)))}else c(i,!0)&&!i.nodeType?(r[l]=d(i)?[]:{},t(i,o[l]||{},r[l],a+1),0!==Object.keys(r[l]).length||"colorAxis"===l&&0===a||delete r[l]):(e[l]!==o[l]||l in e&&!(l in o))&&"__proto__"!==l&&"constructor"!==l&&(r[l]=n[l])})}(t,e,o,0),o},discardElement:function(t){t&&t.parentElement&&t.parentElement.removeChild(t)},erase:function(t,e){let i=t.length;for(;i--;)if(t[i]===e){t.splice(i,1);break}},error:n,extend:x,extendClass:function(t,e){let i=function(){};return i.prototype=new t,x(i.prototype,e),i},find:w,fireEvent:A,getClosestDistance:function(t,e){let i,s,o,r=!e;return t.forEach(t=>{if(t.length>1)for(o=t.length-1;o>0;o--)(s=t[o]-t[o-1])<0&&!r?(e?.(),e=void 0):s&&(void 0===i||s<i)&&(i=s)}),i},getMagnitude:S,getNestedProperty:function(t,e){let i=t.split(".");for(;i.length&&m(e);){let t=i.shift();if(void 0===t||"__proto__"===t)return;if("this"===t){let t;return c(e)&&(t=e["@this"]),t??e}let s=e[t];if(!m(s)||"function"==typeof s||"number"==typeof s.nodeType||s===a)return;e=s}return e},getStyle:function t(e,i,s){let o;if("width"===i){let i=Math.min(e.offsetWidth,e.scrollWidth),s=e.getBoundingClientRect&&e.getBoundingClientRect().width;return s<i&&s>=i-1&&(i=Math.floor(s)),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 r=a.getComputedStyle(e,void 0);return r&&(o=r.getPropertyValue(i),b(s,"opacity"!==i)&&(o=l(o))),o},inArray:function(t,e,i){return n(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)}
2,insertItem:function(t,e){let i,s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i<o+1;i++)if(!e[i]||g(s)&&s<b(e[i].options.index,e[i]._i)||e[i].options.isInternal){e.splice(i,0,t);break}return i},isArray:d,isClass:u,isDOMElement:p,isFunction:function(t){return"function"==typeof t},isNumber:g,isObject:c,isString:h,keys:function(t){return n(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(t)},merge:function(){let t,e=arguments,i={},s=function(t,e){return"object"!=typeof t&&(t={}),C(e,function(i,o){"__proto__"!==o&&"constructor"!==o&&(!c(i,!0)||u(i)||p(i)?t[o]=e[o]:t[o]=s(t[o]||{},i))}),t};!0===e[0]&&(i=e[1],e=Array.prototype.slice.call(e,2));let o=e.length;for(t=0;t<o;t++)i=s(i,e[t]);return i},normalizeTickInterval:function(t,e,i,s,o){let r,a=t;i=b(i,S(t));let n=t/i;for(!e&&(e=o?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===s&&(1===i?e=e.filter(function(t){return t%1==0}):i<=.1&&(e=[1/i]))),r=0;r<e.length&&(a=e[r],(!o||!(a*i>=t))&&(o||!(n<=(e[r]+(e[r+1]||e[r]))/2)));r++);return M(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:C,offset:function(t){let e=r.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(a.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(a.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:b,pInt:l,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:k,replaceNested:function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t},splat:y,stableSort:function(t,e){let i,s,o=t.length;for(s=0;s<o;s++)t[s].safeI=s;for(t.sort(function(t,s){return 0===(i=e(t,s))?t.safeI-s.safeI:i}),s=0;s<o;s++)delete t[s].safeI},syncTimeout:function(t,e,i){return e>0?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:T,useSerialIds:function(t){return s=b(t,s)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.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:s,error:o,extend:r,isNumber:a,isObject:n,merge:l,objectEach:h,pad:d,pick:c,splat:p,timeUnits:u}=e,g=t.isSafari&&i.Intl&&i.Intl.DateTimeFormat.prototype.formatRange,m=t.isSafari&&i.Intl&&!i.Intl.DateTimeFormat.prototype.formatRange;class f{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(),s=i-this.getTimezoneOffset(e);e.setTime(s);let o=e["getUTC"+t]();return e.setTime(i),o}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 s=this.getTimezoneOffset(e),o=e.getTime()-s;e.setTime(o),e["setUTC"+t](i);let r=this.getTimezoneOffset(e);return o=e.getTime()+r,e.setTime(o)}return this.useUTC||g&&"FullYear"===t?e["setUTC"+t](i):e["set"+t](i)}update(t={}){let e=c(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,s,o,r){let a,n,l;return this.useUTC?(a=this.Date.UTC.apply(0,arguments),n=this.getTimezoneOffset(a),a+=n,n!==(l=this.getTimezoneOffset(a))?a+=l-n:n-36e5!==this.getTimezoneOffset(a-36e5)||m||(a-=36e5)):a=new this.Date(t,e,c(i,1),c(s,0),c(o,0),c(r,0)).getTime(),a}timezoneOffsetFunction(){let t=this,e=this.options,i=e.getTimezoneOffset;return this.useUTC?e.timezone?t=>{try{let i=`shortOffset,${e.timezone||""}`,[s,o,r,n,l=0]=(f.formatCache[i]=f.formatCache[i]||Intl.DateTimeFormat("en",{timeZone:e.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),h=-(36e5*(r+l/60));if(a(h))return h}catch{o(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,o){if(!s(i)||isNaN(i))return t.defaultOptions.lang&&t.defaultOptions.lang.invali
2dDate||"";e=c(e,"%Y-%m-%d %H:%M:%S");let a=this,n=new this.Date(i),l=this.get("Hours",n),p=this.get("Day",n),u=this.get("Date",n),g=this.get("Month",n),m=this.get("FullYear",n),f=t.defaultOptions.lang,y=f&&f.weekdays,x=f&&f.shortWeekdays;return h(r({a:x?x[p]:y[p].substr(0,3),A:y[p],d:d(u),e:d(u,2," "),w:p,b:f.shortMonths[g],B:f.months[g],m:d(g+1),o:g+1,y:m.toString().substr(2,2),Y:m,H:d(l),k:l,I:d(l%12||12),l:l%12||12,M:d(this.get("Minutes",n)),p:l<12?"AM":"PM",P:l<12?"am":"pm",S:d(this.get("Seconds",n)),L:d(Math.floor(i%1e3),3)},t.dateFormats),function(t,s){for(;-1!==e.indexOf("%"+s);)e=e.replace("%"+s,"function"==typeof t?t.call(a,i):t)}),o?e.substr(0,1).toUpperCase()+e.substr(1):e}resolveDTLFormat(t){return n(t,!0)?t:{main:(t=p(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,o){let a,n,l,h,d=this,p=d.Date,g=[],m={},f=new p(e),y=t.unitRange,x=t.count||1;if(o=c(o,1),s(e)){d.set("Milliseconds",f,y>=u.second?0:x*Math.floor(d.get("Milliseconds",f)/x)),y>=u.second&&d.set("Seconds",f,y>=u.minute?0:x*Math.floor(d.get("Seconds",f)/x)),y>=u.minute&&d.set("Minutes",f,y>=u.hour?0:x*Math.floor(d.get("Minutes",f)/x)),y>=u.hour&&d.set("Hours",f,y>=u.day?0:x*Math.floor(d.get("Hours",f)/x)),y>=u.day&&d.set("Date",f,y>=u.month?1:Math.max(1,x*Math.floor(d.get("Date",f)/x))),y>=u.month&&(d.set("Month",f,y>=u.year?0:x*Math.floor(d.get("Month",f)/x)),n=d.get("FullYear",f)),y>=u.year&&(n-=n%x,d.set("FullYear",f,n)),y===u.week&&(h=d.get("Day",f),d.set("Date",f,d.get("Date",f)-h+o+(h<o?-7:0))),n=d.get("FullYear",f);let t=d.get("Month",f),r=d.get("Date",f),c=d.get("Hours",f);e=f.getTime(),(d.variableTimezone||!d.useUTC)&&s(i)&&(l=i-e>4*u.month||d.getTimezoneOffset(e)!==d.getTimezoneOffset(i));let p=f.getTime();for(a=1;p<i;)g.push(p),y===u.year?p=d.makeTime(n+a*x,0):y===u.month?p=d.makeTime(n,t+a*x):l&&(y===u.day||y===u.week)?p=d.makeTime(n,t,r+a*x*(y===u.day?1:7)):l&&y===u.hour&&x>1?p=d.makeTime(n,t,r,c+a*x):p+=y*x,a++;g.push(p),y<=u.hour&&g.length<1e4&&g.forEach(function(t){t%18e5==0&&"000000000"===d.dateFormat("%H%M%S%L",t)&&(m[t]="day")})}return g.info=r(t,{higherRanks:m,totalRange:y*x}),g}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",a={millisecond:15,second:12,minute:9,hour:6,day:3},n="millisecond",l=n;for(n in u){if(t===u.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){n="week";break}if(u[n]>t){n=l;break}if(a[n]&&o.substr(a[n])!==r.substr(a[n]))break;"week"!==n&&(l=n)}return this.resolveDTLFormat(s[n]).main}}return f.formatCache={},f}),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,s,o){let{isTouchDevice:r}=e,{fireEvent:a,merge:n}=o,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:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart: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",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:r?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};l.chart.styledMode=!1;let h=new s(l.time);return{defaultOptions:l,defaultTime:h,getOptions:function(){return l},setOptions:function(t){return a(e,"setOptions",{options:t}),n(!0,l,t),(t.time||t.global)&&(e.time?e.time.update(n(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:s,pInt:o}=e;class r{static parse(t){return t?new r(t):r.None}constructor(e){let i,s,o,a;this.rgba=[NaN,NaN,NaN,NaN],this.input=e;let n=t.Color;if(n&&n!==r)return new n(e);if("object"==typeof e&&void 0!==e.stops)this.stops=e.stops.map(t=>
2new r(t[1]));else if("string"==typeof e){if(this.input=e=r.names[e.toLowerCase()]||e,"#"===e.charAt(0)){let t=e.length,i=parseInt(e.substr(1),16);7===t?s=[(0xff0000&i)>>16,(65280&i)>>8,255&i,1]:4===t&&(s=[(3840&i)>>4|(3840&i)>>8,(240&i)>>4|240&i,(15&i)<<4|15&i,1])}if(!s)for(o=r.parsers.length;o--&&!s;)(i=(a=r.parsers[o]).regex.exec(e))&&(s=a.parse(i))}s&&(this.rgba=s)}get(t){let e=this.input,o=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=s(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return o&&i(o[0])?"rgb"!==t&&(t||1!==o[3])?"a"===t?`${o[3]}`:"rgba("+o.join(",")+")":"rgb("+o[0]+","+o[1]+","+o[2]+")":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]+=o(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 s=this.rgba,o=t.rgba;if(!i(s[0])||!i(o[0]))return t.input||"none";let r=1!==o[3]||1!==s[3];return(r?"rgba(":"rgb(")+Math.round(o[0]+(s[0]-o[0])*(1-e))+","+Math.round(o[1]+(s[1]-o[1])*(1-e))+","+Math.round(o[2]+(s[2]-o[2])*(1-e))+(r?","+(o[3]+(s[3]-o[3])*(1-e)):"")+")"}}return r.names={white:"#ffffff",black:"#000000"},r.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[o(t[1]),o(t[2]),o(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[o(t[1]),o(t[2]),o(t[3]),1]}}],r.None=new r(""),r}),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:s}=t,{win:o}=e,{isNumber:r,objectEach:a}=i;class n{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],s=this.now||0,o=[];if(1!==s&&e&&i)if(e.length===i.length&&s<1)for(let t=0;t<i.length;t++){let a=e[t],n=i[t],l=[];for(let t=0;t<n.length;t++){let e=a[t],i=n[t];r(e)&&r(i)&&("A"!==n[0]||4!==t&&5!==t)?l[t]=e+s*(i-e):l[t]=i}o.push(l)}else o=i;else o=this.toD||[];this.elem.attr("d",o,void 0,!0)}update(){let t=this.elem,e=this.prop,i=this.now,s=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,i,null,!0):t.style[e]=i+this.unit,s&&s.call(t,i,this)}run(t,e,i){let s=this,r=s.options,a=function(t){return!a.stopped&&s.step(t)},l=o.requestAnimationFrame||function(t){setTimeout(t,13)},h=function(){for(let t=0;t<n.timers.length;t++)n.timers[t]()||n.timers.splice(t--,1);n.timers.length&&l(h)};t!==e||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=e,this.unit=i,this.now=this.start,this.pos=0,a.elem=this.elem,a.prop=this.prop,a()&&1===n.timers.push(a)&&l(h)):(delete r.curAnim[this.prop],r.complete&&0===Object.keys(r.curAnim).length&&r.complete.call(this.elem))}step(t){let e,i,s=+new Date,o=this.options,r=this.elem,n=o.complete,l=o.duration,h=o.curAnim;return r.attr&&!r.element?e=!1:t||s>=l+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,a(h,function(t){!0!==t&&(i=!1)}),i&&n&&n.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/l),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,a=i.slice(),n=t.isArea,l=n?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,d,c,p,u,g=e&&e.slice();if(!g||h)return[a,a];function m(t,e){for(;t.length<c;){let i=t[0],s=e[c-t.length];if(s&&"M"===i[0]&&("C"===s[0]?t[0]=["C",i[1],i[2],i[1],i[2],i[1],i[2]]:t[0]=["L",i[1],i[2]]),t.unshift(i),n){let e=t.pop();t.push(t[t.length-1],e)}}}function f(t){for(;t.length<c;){let e=t[Math.floor(t.length/l)-1].slice();if("C"===e[0]&&(e[1]=e[5],e[2]=e[6]),n){let i=t[Math.floor(t.length/l)].slice();t.splice(t.length/2,0,e,i)}else t.push(e)}}if(s&&o&&o.length){for(p=0;p<s.length;p++){if(s[p]===o[0]){d=p;break}if(s[0]===o[o.length-s.length+p]){d=p,u=!0;break}if(s[s.length-1]===o[o.length-s.length+p]){d=s.length-p;break}}void 0===d&&(g=[])}return g.length&&r(d)&&(c=a.length+d*l,u?(m(g,a),f(a)):(m(a,g),f(g))),[g,a
2]}fillSetter(){n.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}}return n.timers=[],n}),i(e,"Core/Animation/AnimationUtilities.js",[e["Core/Animation/Fx.js"],e["Core/Utilities.js"]],function(t,e){let{defined:i,getStyle:s,isArray:o,isNumber:r,isObject:a,merge:n,objectEach:l,pick:h}=e;function d(t){return a(t)?n({duration:500,defer:0},t):{duration:500*!!t,defer:0}}function c(e,i){let s=t.timers.length;for(;s--;)t.timers[s].elem!==e||i&&i!==t.timers[s].prop||(t.timers[s].stopped=!0)}return{animate:function(e,i,h){let d,p="",u,g,m;a(h)||(m=arguments,h={duration:m[2],easing:m[3],complete:m[4]}),r(h.duration)||(h.duration=400),h.easing="function"==typeof h.easing?h.easing:Math[h.easing]||Math.easeInOutSine,h.curAnim=n(i),l(i,function(r,a){c(e,a),g=new t(e,h,a),u=void 0,"d"===a&&o(i.d)?(g.paths=g.initPath(e,e.pathArray,i.d),g.toD=i.d,d=0,u=1):e.attr?d=e.attr(a):(d=parseFloat(s(e,a))||0,"opacity"!==a&&(p="px")),u||(u=r),"string"==typeof u&&u.match("px")&&(u=u.replace(/px/g,"")),g.run(d,u,p)})},animObject:d,getDeferredAnimation:function(t,e,s){let o=d(e),r=s?[s]:t.series,n=0,l=0;return r.forEach(t=>{let s=d(t.options.animation);n=a(e)&&i(e.defer)?o.defer:Math.max(n,s.duration+s.defer),l=Math.min(o.duration,s.duration)}),t.renderer.forExport&&(n=0),{defer:Math.max(0,n-l),duration:Math.min(n,l)}},setAnimation:function(t,e){e.renderer.globalAnimation=h(t,e.options.chart.animation,!0)},stop:c}}),i(e,"Core/Renderer/HTML/AST.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{SVG_NS:i,win:s}=t,{attr:o,createElement:r,css:a,error:n,isFunction:l,isString:h,objectEach:d,splat:c}=e,{trustedTypes:p}=s,u=p&&l(p.createPolicy)&&p.createPolicy("highcharts",{createHTML:t=>t}),g=u?u.createHTML(""):"",m=function(){try{return!!new DOMParser().parseFromString(g,"text/html")}catch{return!1}}();class f{static filterUserAttributes(t){return d(t,(e,i)=>{let s=!0;-1===f.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=h(e)&&f.allowedReferences.some(t=>0===e.indexOf(t))),s||(n(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),h(e)&&t[i]&&(t[i]=e.replace(/</g,"&lt;"))}),t}static parseStyle(t){return t.split(";").reduce((t,e)=>{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=f.emptyHTML,e&&new f(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(e){return function e(s,r){let l;return c(s).forEach(function(s){let h,c=s.tagName,p=s.textContent?t.doc.createTextNode(s.textContent):void 0,u=f.bypassHTMLFiltering;if(c)if("#text"===c)h=p;else if(-1!==f.allowedTags.indexOf(c)||u){let n="svg"===c?i:r.namespaceURI||i,l=t.doc.createElementNS(n,c),g=s.attributes||{};d(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(g[e]=t)}),o(l,u?g:f.filterUserAttributes(g)),s.style&&a(l,s.style),p&&l.appendChild(p),e(s.children||[],l),h=l}else n(33,!1,void 0,{"Invalid tagName in config":c});h&&r.appendChild(h),l=h}),l}(this.nodes,e)}parseMarkup(t){let e,i=[];if(t=t.trim().replace(/ style=(["'])/g," data-style=$1"),m)e=new DOMParser().parseFromString(u?u.createHTML(t):t,"text/html");else{let i=r("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=f.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}return f.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","
2summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],f.allowedReferences=["https://","http://","mailto:","/","../","./","#"],f.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],f.emptyHTML=g,f.bypassHTMLFiltering=!1,f}),i(e,"Core/Templating.js",[e["Core/Defaults.js"],e["Core/Utilities.js"]],function(t,e){let{defaultOptions:i,defaultTime:s}=t,{extend:o,getNestedProperty:r,isArray:a,isNumber:n,isObject:l,pick:h,pInt:d}=e,c={add:(t,e)=>
2t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!a(t)&&t.map((i,s)=>p(e.body,o(l(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===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)=>t<e,multiply:(t,e)=>t*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function p(t="",e,o){let a=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,n=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,l=[],d=/f$/,g=/\.(\d)/,m=i.lang,f=o&&o.time||s,y=o&&o.numberFormatter||u,x=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:r(t,e))},b,v,S=0,M;for(;null!==(b=a.exec(t));){let i=n.exec(b[1]);i&&(b=i,M=!0),v&&v.isBlock||(v={ctx:e,expression:b[1],find:b[0],isBlock:"#"===b[1].charAt(0),start:b.index,startInner:b.index+b[0].length,length:b[0].length});let s=b[1].split(" ")[0].replace("#","");c[s]&&(v.isBlock&&s===v.fn&&S++,v.fn||(v.fn=s));let o="else"===b[1];if(v.isBlock&&v.fn&&(b[1]===`/${v.fn}`||o))if(S)!o&&S--;else{let e=v.startInner,i=t.substr(e,b.index-e);void 0===v.body?(v.body=i,v.startInner=b.index+b[0].length):v.elseBody=i,v.find+=i+b[0],o||(l.push(v),v=void 0)}else v.isBlock||l.push(v);if(i&&!v?.isBlock)break}return l.forEach(i=>{let s,r,{body:a,elseBody:n,expression:l,fn:u}=i;if(u){let t=[i],h=l.split(" ");for(r=c[u].length;r--;)t.unshift(x(h[r+1]));s=c[u].apply(e,t),i.isBlock&&"boolean"==typeof s&&(s=p(s?a:n,e,o))}else{let t=l.split(":");if(s=x(t.shift()||""),t.length&&"number"==typeof s){let e=t.join(":");if(d.test(e)){let t=parseInt((e.match(g)||["","-1"])[1],10);null!==s&&(s=y(s,t,m.decimalPoint,e.indexOf(",")>-1?m.thousandsSep:""))}else s=f.dateFormat(e,s)}}t=t.replace(i.find,h(s,""))}),M?p(t,e,o):t}function u(t,e,s,o){let r,a;t=+t||0,e*=1;let l=i.lang,c=(t.toString().split(".")[1]||"").split("e")[0].length,p=t.toString().split("e"),u=e;-1===e?e=Math.min(c,20):n(e)?e&&p[1]&&p[1]<0&&((a=e+ +p[1])>=0?(p[0]=(+p[0]).toExponential(a).split("e")[0],e=a):(p[0]=p[0].split(".")[0]||0,t=e<20?(p[0]*Math.pow(10,p[1])).toFixed(e):0,p[1]=0)):e=2;let g=(Math.abs(p[1]?p[0]:t)+Math.pow(10,-Math.max(e,c)-1)).toFixed(e),m=String(d(g)),f=m.length>3?m.length%3:0;return s=h(s,l.decimalPoint),o=h(o,l.thousandsSep),r=(t<0?"-":"")+(f?m.substr(0,f)+o:""),0>+p[1]&&!u?r="0":r+=m.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+o),e?r+=s+g.slice(-e):0==+r&&(r="0"),p[1]&&0!=+r&&(r+="e"+p[1]),r}return{dateFormat:function(t,e,i){return s.dateFormat(t,e,i)},format:p,helpers:c,numberFormat:u}}),i(e,"Core/Renderer/RendererRegistry.js",[e["Core/Globals.js"]],function(t){var e,i;let s;return(i=e||(e={})).rendererTypes={},i.getRendererType=function(t=s){return i.rendererTypes[t]||i.rendererTypes[s]},i.registerRendererType=function(e,o,r){i.rendererTypes[e]=o,(!s||r)&&(s=e,t.Renderer=o)},e}),i(e,"Core/Renderer/RendererUtilities.js",[e["Core/Utilities.js"]],function(t){var e;let{clamp:i,pick:s,pushUnique:o,stableSort:r}=t;return(e||(e={})).distribute=function t(e,a,n){let l=e,h=l.reducedLen||a,d=(t,e)=>t.target-e.target,c=[],p=e.length,u=[],g=c.push,m,f,y,x=!0,b,v,S=0,M;for(m=p;m--;)S+=e[m].size;if(S>h){for(r(e,(t,e)=>(e.rank||0)-(t.rank||0)),y=(M=e[0].rank===e[e.length-1].rank)?p/2:-1,f=M?y:p-1;y&&S>h;)b=e[m=Math.floor(f)],o(u,m)&&(S-=b.size),f+=y,M&&f>=e.length&&(y/=2,f=y);u.sort((t,e)=>e-t).forEach(t=>g.apply(c,e.splice(t,1)))}for(r(e,d),e=e.map(t=>({size:t.size,targets:[t.target],align:s(t.align,.5)}));x;){for(m=e.length;m--;)b=e[m],v=(Math.min.apply(0,b.targets)+Math.max.apply(0,b.targets))/2,b.pos=i(v-b.size*b.align,0,a-b.size);for(m=e.length,x=!1;m--;)m>0&&e[m-1].pos+e[m-1].size>e[m].pos&&(e[m-1].size+=e[m].size,e[m-1].targets=e[m-1].targets.concat(e[m].targets),e[m-1].align=.5,e[m-1].pos+e[m-1].size>a&&(e[m-1].pos=a-e[m-1].size),e.splice(m,1),x=!0)}return g.apply(l,c),m=0,e.some(e=>{let i=0;return(e.targets||[]).some(()=>(l[m].pos=e.pos+i,void 0!==n&&Math.abs(l[m].pos-l[m].target)>n?(l.slice(0,m+1).forEach(t=>delete t.pos),l.reducedLen=(l.reducedLen||a)-.1*a,l.reducedLen>.1*a&&t(l,a,n),!0):(i+=l[m].size,m++,!1)))}),r(l,d),l},e}
vendor: 10,845 bytes, line 2
2),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,s){let{animate:o,animObject:r,stop:a}=t,{deg2rad:n,doc:l,svg:h,SVG_NS:d,win:c}=i,{addEvent:p,attr:u,createElement:g,crisp:m,css:f,defined:y,erase:x,extend:b,fireEvent:v,isArray:S,isFunction:M,isObject:w,isString:C,merge:k,objectEach:A,pick:T,pInt:P,pushUnique:L,replaceNested:j,syncTimeout:O,uniqueKey:D}=s;class E{_defaultGetter(t){let e=T(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),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(s),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,s=!0){let o,r,a,n,l={},h=this.renderer,d=h.alignedObjects,c=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let p=!i||C(i)?i||"renderer":void 0;p&&(c&&L(d,this),i=void 0);let u=T(i,h[p],h),g=t.align,m=t.verticalAlign;return o=(u.x||0)+(t.x||0),r=(u.y||0)+(t.y||0),"right"===g?a=1:"center"===g&&(a=2),a&&(o+=((u.width||0)-(t.width||0))/a),l[e?"translateX":"x"]=Math.round(o),"bottom"===m?n=1:"middle"===m&&(n=2),n&&(r+=((u.height||0)-(t.height||0))/n),l[e?"translateY":"y"]=Math.round(r),s&&(this[this.placed?"animate":"attr"](l),this.placed=!0),this.alignAttr=l,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=r(T(e,this.renderer.globalAnimation,!0)),a=s.defer;return l.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),O(()=>{this.element&&o(this,t,s)},a)):(this.attr(t,void 0,i||s.complete),A(t,function(t,e){s.step&&s.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 s=t.split(" "),o=s[s.length-1],r=s[0];if(r&&"none"!==r&&i.svg){this.fakeTS=!0,r=r.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=l.createElementNS(d,"tspan");u(t,{class:"highcharts-text-outline",fill:o,stroke:o,"stroke-width":r,"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 s=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{s+=Number(t.getAttribute("dy"))});let a=l.createElementNS(d,"tspan");a.textContent="​",u(a,{x:Number(e.getAttribute("x")),dy:-s}),t.appendChild(a),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=E.symbolCustomAttribs,n,l,h=this,d;return"string"==typeof t&&void 0!==e&&(n=t,(t={})[n]=e),"string"==typeof t?h=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(A(t,function(e,i){d=!1,s||a(this,i),this.symbolName&&-1!==r.indexOf(i)&&(l||(this.symbolAttr(t),l=!0),d=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),d||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),h}clip(t){if(t&&!t.clipPath){let e=D()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);b(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,a=m(i,e),n=m(s,e);return b(t,{x:a,y:n,width:m(o,e)-a,height:m(r,e)-n}),y(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,i,s){let o=this.renderer,r,a,n,l,h,d,c,p,u,g,m=[],f;v(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?a="radialGradient":t.linearGradient&&(a="linearGradient"),a){if(n=t[a],h=o.gradients,d=t.stops,u=s.radialReference,S(n)&&(t[a]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===a&&u&&!y(n.gradientUnits)&&(l=n,n=k(n,o.getRadialAttr(u,l),{gradientUnits:"userSpaceOnUse"})),A(n,function(t,e){"id"!==e&&m.push(e,t)}),A(d,function(t){m.push(t)}),h[m=m.join(",")])g=h[m].attr("id");else{n.id=g=D();let t=h[m]=o.createElement(a).attr(n).add(o.defs);t.radAttr=l,t.stops=[],d.forEach(function(i){0===i[1].indexOf("rgba")?(c=(r=e.parse(i[1])).get("rgb"),p=r.get("a")):(c=i[1],p=1);let s=o.createElement("stop").attr({offset:i[0],"stop-color":c,"stop-opacity":p}).add(t);t.stops.push(s)})}f="url("+o.url+"#"+g+")",s.setAttribute(i,f),s.gradient=m,t.toString=function(){return f}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&A(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=b(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=P(t.width)),b(this.styles,t),o&&!h&&this.renderer.forExport&&delete t.width;let r=k(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(t=>r&&delete r[t]),r.color&&(r.fill=r.color)),f(s,r)}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 s=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=s.length;e--;)s[e]=""+P(s[e])*T(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,o="SPAN"===e.nodeName&&t.parentGroup||void 0,r,n;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,a(t),t.clipPath&&s){let e=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.id)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(n=0;n<t.stops.length;n++)t.stops[n].destroy();t.stops.length=0,t.stops=void 0}for(t.safeRemoveChild(e);o&&o.div&&0===o.div.childNodes.length;)r=o.parentGroup,t.safeRemoveChild(o.div),delete o.div,o=r;t.alignOptions&&x(i.alignedObjects,t),A(t,function(e,i){t[i]&&t[i].parentGroup===t&&t[i].destroy&&t[i].destroy(),delete t[i]})}dSetter(t,e,i){S(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce((t,e,i)=>e&&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,s,o,r,{alignValue:a,element:n,renderer:l,styles:h,textStr:d}=this,{cache:c,cacheKeys:p}=l,u=n.namespaceURI===this.SVG_NS,g=T(e,this.rotation,0),m=l.styledMode?n&&E.prototype.getStyle.call(n,"font-size"):h.fontSize;if(y(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",l.rootFontSize,m,g,this.textWidth,a,h.textOverflow,h.fontWeight].join(",")),r&&!t&&(i=c[r]),!i||i.polygon){if(u||l.forExport){try{o=this.fakeTS&&function(t){let e=n.querySelector(".highcharts-text-outline");e&&f(e,{display:t})},M(o)&&o("none"),i=n.getBBox?b({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},M(o)&&o("")}catch{}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s=({"11px,17":14,"13px,20":16})[`${m||""},${Math.round(s)}`]||s),g&&(i=this.getRotatedBox(i,g));let t={bBox:i};v(this,"afterGetBBox",t),i=t.bBox}if(r&&(""===d||i.height>0)){for(;p.length>250;)delete c[p.shift()];c[r]||p.push(r),c[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:a,translateY:l,rotationOriginX:h=0,rotationOriginY:d=0}=this,c={right:1,center:.5}[a||0]||0,p=Number(this.element.getAttribute("y")||0)-(l?0:s),u=e*n,g=(e-90)*n,m=Math.cos(u),f=Math.sin(u),y=o*m,x=o*f,b=Math.cos(g),v=Math.sin(g),[[S,M],[w,C]]=[h,d].map(t=>[t-t*m,t*f]),k=i+c*(o-y)+S+C+p*b,A=k+y,T=A-r*b,P=T-y,L=s+p-c*x-M+w+p*v,j=L+x,O=j-r*v,D=O-x,E=Math.min(k,A,T,P),U=Math.min(L,j,O,D),I=Math.max(k,A,T,P)-E,z=Math.max(L,j,O,D)-U;return{x:E,y:U,width:I,height:z,polygon:[[k,L],[A,j],[T,O],[P,D]]}}getStyle(t){return c.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=d,this.element="span"===e||"body"===e?g(e):l.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},v(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=p(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(C(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=k(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},w(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=P(t):""!==t&&(u(i=l.createElementNS(d,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;
2E.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),this.reAlign())}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=j(T(t,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:a,scaleY:n,translateX:l=0,translateY:h=0}=this,d=["translate("+l+","+h+")"];y(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+T(o,e.getAttribute("x"),0)+" "+T(r,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(y(a)||y(n))&&d.push("scale("+T(a,1)+" "+T(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,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=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,a=o===i.box,n,l,h,d=!1,c,p=this.added,u;if(y(t)?(r.setAttribute("data-z-index",t),t*=1,this[e]===t&&(p=!1)):y(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(n=o.childNodes).length-1;u>=0&&!d;u--)c=!y(h=(l=n[u]).getAttribute("data-z-index")),l!==r&&(t<0&&c&&!a&&!u?(o.insertBefore(r,n[u]),d=!0):(P(h)<=t||c&&(!y(t)||t>=0))&&(o.insertBefore(r,n[u+1]),d=!0));d||(o.insertBefore(r,n[3*!!a]),d=!0)}return d}}return E.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],E.prototype.strokeSetter=E.prototype.fillSetter,E.prototype.yGetter=E.prototype.xGetter,E.prototype.matrixSetter=E.prototype.rotationOriginXSetter=E.prototype.rotationOriginYSetter=E.prototype.rotationSetter=E.prototype.scaleXSetter=E.prototype.scaleYSetter=E.prototype.translateXSetter=E.prototype.translateYSetter=E.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},E}),i(e,"Core/Renderer/SVG/SVGLabel.js",[e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e){let{defined:i,extend:s,isNumber:o,merge:r,pick:a,removeEvent:n}=e;class l extends t{constructor(t,e,i,s,o,r,a,n,h,d){let c;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=h,this.className=d,this.addClass("button"===d?"highcharts-no-tooltip":"highcharts-label"),d&&this.addClass("highcharts-"+d),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof o&&((c=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=l.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||c,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e={left:0,center:.5,right:1}[t];e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&o(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=r(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(){n(this.element,"mouseenter"),n(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:s=0,translateX:o=0,translateY:r=0,width:n=0}=this,l=a(this.paddingLeft,i),h=e??(this.rotation||0),d={width:n,height:s,x:o+this.bBox.x-l,y:r+this.bBox.y-i+this.baselineOffset};
2return h&&(d=this.getRotatedBox(d,h)),d}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:a(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){o(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(),this.reAlign()}updateBoxSize(){let t,e=this.text,r={},a=this.padding,n=this.bBox=(!o(this.widthSetting)||!o(this.heightSetting)||this.textAlign)&&i(e.textStr)?e.getBBox(void 0,0):l.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||n.height||0)+2*a;let h=this.renderer.fontMetrics(e);if(this.baselineOffset=a+Math.min((this.text.firstLineMetrics||h).b,n.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)}r.x=t=this.getCrispAdjust(),r.y=(this.baseline?-this.baselineOffset:0)+t,r.width=Math.round(this.width),r.height=Math.round(this.height),this.box.attr(s(r,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text;if(!t.textPath){this.updateBoxSize();let e=this.baseline?0:this.baselineOffset,s=a(this.paddingLeft,this.padding);i(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(s+=({center:.5,right:1})[this.textAlign]*(this.widthSetting-this.bBox.width)),(s!==t.x||e!==t.y)&&(t.attr("x",s),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==e&&t.attr("y",e)),t.x=s,t.y=e}}widthSetter(t){this.widthSetting=o(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=a(this.paddingLeft,t),i=a(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:s}=t;function o(t,i,o,r,a){let n=[];if(a){let l=a.start||0,h=s(a.r,o),d=s(a.r,r||o),c=2e-4/(a.borderRadius?1:Math.max(h,1)),p=Math.abs((a.end||0)-l-2*Math.PI)<c,u=(a.end||0)-(p?c:0),g=a.innerR,m=s(a.open,p),f=Math.cos(l),y=Math.sin(l),x=Math.cos(u),b=Math.sin(u),v=s(a.longArc,u-l-Math.PI<c?0:1),S=["A",h,d,0,v,s(a.clockwise,1),t+h*x,i+d*b];S.params={start:l,end:u,cx:t,cy:i},n.push(["M",t+h*f,i+d*y],S),e(g)&&((S=["A",g,g,0,v,e(a.clockwise)?1-a.clockwise:0,t+g*f,i+g*y]).params={start:u,end:l,cx:t,cy:i},n.push(m?["M",t+g*x,i+g*b]:["L",t+g*x,i+g*b],S)),m||n.push(["Z"])}return n}function r(t,e,i,s,o){return o&&o.r?a(t,e,i,s,o):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}function a(t,e,i,s,o){let r=o?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}return{arc:o,callout:function(t,e,s,o,r){let n=Math.min(r&&r.r||0,s,o),l=n+6,h=r&&r.anchorX,d=r&&r.anchorY||0,c=a(t,e,s,o,{r:n});if(!i(h)||h<s&&h>0&&d<o&&d>0)return c;if(t+h>s-l)if(d>e+l&&d<e+o-l)c.splice(3,1,["L",t+s,d-6],["L",t+s+6,d],["L",t+s,d+6],["L",t+s,e+o-n
vendor: 5,646 bytes, line 2
2]);else if(h<s){let i=d<e+l,r=i?e:e+o;c.splice(i?2:5,0,["L",h,d],["L",t+s-n,r])}else c.splice(3,1,["L",t+s,o/2],["L",h,d],["L",t+s,o/2],["L",t+s,e+o-n]);else if(t+h<l)if(d>e+l&&d<e+o-l)c.splice(7,1,["L",t,d+6],["L",t-6,d],["L",t,d-6],["L",t,e+n]);else if(h>0){let i=d<e+l,s=i?e:e+o;c.splice(i?1:6,0,["L",h,d],["L",t+n,s])}else c.splice(7,1,["L",t,o/2],["L",h,d],["L",t,o/2],["L",t,e+n]);else d>o&&h<s-l?c.splice(5,1,["L",h+6,e+o],["L",h,e+o+6],["L",h-6,e+o],["L",t+n,e+o]):d<0&&h>l&&c.splice(1,1,["L",h-6,e],["L",h,e-6],["L",h+6,e],["L",s-n,e]);return c},circle:function(t,e,i,s){return o(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:r,roundedRect:a,square:r,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["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:s,SVG_NS:o,win:r}=e,{attr:a,extend:n,fireEvent:l,isString:h,objectEach:d,pick:c}=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,o=e.renderer,r=c(e.textStr,"").toString(),a=-1!==r.indexOf("<"),n=i.childNodes,l=!e.added&&o.box,d=[r,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle("font-size"),this.width].join(",");if(d!==e.textCache){e.textCache=d,delete e.actualWidth;for(let t=n.length;t--;)i.removeChild(n[t]);if(a||this.ellipsis||this.width||e.textPath||-1!==r.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(r))){if(""!==r){l&&l.appendChild(i);let s=new t(r);this.modifyTree(s.nodes),s.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["&lt;","&gt;"])),l&&l.removeChild(i)}}else i.appendChild(s.createTextNode(this.unescapeEntities(r)));h(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){let t,e=this.svgElement,i=a(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,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),a(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let n=this.width||0;if(!n)return;let l=(t,r)=>{let l=t.textContent||"",h=l.replace(/([^\^])-/g,"$1- ").split(" "),d=!this.noWrap&&(h.length>1||e.element.childNodes.length>1),c=this.getLineHeight(r),p=0,u=e.actualWidth;if(this.ellipsis)l&&this.truncate(t,l,void 0,0,Math.max(0,n-.8*c),(t,e)=>t.substring(0,e)+"…");else if(d){let l=[],d=[];for(;r.firstChild&&r.firstChild!==t;)d.push(r.firstChild),r.removeChild(r.firstChild);for(;h.length;)h.length&&!this.noWrap&&p>0&&(l.push(t.textContent||""),t.textContent=h.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,h,0===p&&u||0,n,(t,e)=>h.slice(0,e).join(" ").replace(/- /g,"-")),u=e.actualWidth,p++;d.forEach(e=>{r.insertBefore(e,t)}),l.forEach(e=>{r.insertBefore(s.createTextNode(e),t);let n=s.createElementNS(o,"tspan");n.textContent="​",a(n,{dy:c,x:i}),r.insertBefore(n,t)})}},h=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===r.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===r.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,s)=>{let{attributes:o={},children:r,style:a={},tagName:l}=i,h=this.renderer.styledMode;if("b"===l||"strong"===l?h?o.class="highcharts-strong":a.fontWeight="bold":("i"===l||"em"===l)&&(h?o.class="highcharts-emphasized":a.fontStyle="italic"),a&&a.color&&(a.fill=a.color),"br"===l){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===l&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==l&&"a"!==l&&(i.tagName="tspan"),n(i,{attributes:o,style:a}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),l(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r){let a,n,l=this.svgElement,{rotation:h}=l,d=[],c=+!!i,p=(e||i||"").length,u=p,g=function(e,o){let r=o||e,a=t.parentNode;if(a&&void 0===d[r]&&a.getSubStringLength)try{d[r]=s+a.getSubStringLength(0,i?r+1:r)}catch{}return d[r]};if(l.rotation=0,s+(n=g(t.textContent.length))>o){for(;c<=p;)u=Math.ceil((c+p)/2),i&&(a=r(i,u)),n=g(u,a&&a.length-1),c===p?c=p+1:n>o?p=u-1:c=u;0===p?t.textContent="":e&&p===e.length-1||(t.textContent=a||r(e||i,u))}i&&i.splice(0,u),l.actualWidth=n,l.rotation=h}unescapeEntities(t,e){return d(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}}}),i(e,"Core/Renderer/SVG/SVGRenderer.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Defaults.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,
vendor: 4,632 bytes, line 2
2i,s,o,r,a,n,l,h){let d,{defaultOptions:c}=e,{charts:p,deg2rad:u,doc:g,isFirefox:m,isMS:f,isWebKit:y,noop:x,SVG_NS:b,symbolSizes:v,win:S}=s,{addEvent:M,attr:w,createElement:C,crisp:k,css:A,defined:T,destroyObjectProperties:P,extend:L,isArray:j,isNumber:O,isObject:D,isString:E,merge:U,pick:I,pInt:z,replaceNested:B,uniqueKey:N}=h;class R{constructor(t,e,i,s,o,r,a){let n,l,h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=h.element;a||h.css(this.getStyle(s||{})),t.appendChild(d),w(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&w(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(g.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=h.getStyle("font-size"),this.setSize(e,i,!1),m&&t.getBoundingClientRect&&((n=function(){A(t,{left:0,top:0}),l=t.getBoundingClientRect(),A(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=M(S,"resize",n))}definition(e){return new t([e]).addToDOM(this.defs.element)}getReferenceURL(){if((m||y)&&g.getElementsByTagName("base").length){if(!T(d)){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(#${e})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(g.body);A(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=g.elementFromPoint(6,6);d="hitme"===(s&&s.id),g.body.removeChild(i)}if(d)return B(S.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=L({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(),P(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=U({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new l(t).buildSVG()}getContrast(t){let e=i.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),s=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(s+.05)>(s+.05)/.05?"#FFFFFF":"#000000"}button(e,i,s,o,r={},a,n,l,h,d){let p=this.label(e,i,s,h,void 0,void 0,d,void 0,"button"),u=this.styledMode,g=arguments,m=0;r=U(c.global.buttonTheme,r),u&&(delete r.fill,delete r.stroke,delete r["stroke-width"]);let y=r.states||{},x=r.style||{};delete r.states,delete r.style;let b=[t.filterUserAttributes(r)],v=[x];return u||["hover","select","disabled"].forEach((e,i)=>{b.push(U(b[0],t.filterUserAttributes(g[i+5]||y[e]||{}))),v.push(b[i+1].style),delete b[i+1].style}),M(p.element,f?"mouseover":"mouseenter",function(){3!==m&&p.setState(1)}),M(p.element,f?"mouseout":"mouseleave",function(){3!==m&&p.setState(m)}),p.setState=(t=0)=>{if(1!==t&&(p.state=m=t),p.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!u){p.attr(b[t]);let e=v[t];D(e)&&p.css(e)}},p.attr(b[0]),!u&&(p.css(L({cursor:"default"},x)),d&&p.text.css({pointerEvents:"none"})),p.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==m&&o.call(p,t)})}crispLine(t,e){let[i,s]=t;return T(i[1])&&i[1]===s[1]&&(i[1]=s[1]=k(i[1],e)),T(i[2])&&i[2]===s[2]&&(i[2]=s[2]=k(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return j(t)?e.d=t:D(t)&&L(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=D(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");
vendor: 4,130 bytes, line 2
2return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let a;D(t)?(e=(a=t).y,i=a.r,s=a.innerR,o=a.start,r=a.end,t=a.x):a={innerR:s,start:o,end:r};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,o,r){let a=D(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==r&&(a["stroke-width"]=r,L(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,w(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}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:I(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let a={preserveAspectRatio:"none"};O(e)&&(a.x=e),O(i)&&(a.y=i),O(s)&&(a.width=s),O(o)&&(a.height=o);let n=this.createElement("image").attr(a),l=function(e){n.attr({href:t}),r.call(n,e)};if(r){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new S.Image;M(e,"load",l),e.src=t,e.complete&&l({})}else n.attr({href:t});return n}symbol(t,e,i,s,o,r){let a,n,l,h,d=this,c=/^url\((.*?)\)$/,u=c.test(t),m=!u&&(this.symbols[t]?t:"circle"),f=m&&this.symbols[m];if(f)"number"==typeof e&&(n=f.call(this.symbols,e||0,i||0,s||0,o||0,r)),a=this.path(n),d.styledMode||a.attr("fill","none"),L(a,{symbolName:m||void 0,x:e,y:i,width:s,height:o}),r&&L(a,r);else if(u){l=t.match(c)[1];let s=a=this.image(l);s.imgwidth=I(r&&r.width,v[l]&&v[l].width),s.imgheight=I(r&&r.height,v[l]&&v[l].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:a,imgwidth:n,imgheight:l}=this,h="width"===e?n:l,d=1;r&&"within"===r.backgroundSize&&o&&a&&n&&l?(d=Math.min(o/n,a/l),w(s,{width:Math.round(n*d),height:Math.round(l*d)})):s&&h&&s.setAttribute(e,h),!i&&n&&l&&this.translate(((o||0)-n*d)/2,((a||0)-l*d)/2)}}),T(e)&&s.attr({x:e,y:i}),s.isImg=!0,s.symbolUrl=t,T(s.imgwidth)&&T(s.imgheight)?h(s):(s.attr({width:0,height:0}),C("img",{onload:function(){let t=p[d.chartIndex];0===this.width&&(A(this,{position:"absolute",top:"-999em"}),g.body.appendChild(this)),v[l]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&h(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:l}),this.imgCount++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),T(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;i<s.length;i++)(r=s[i]).getAttribute(e)===o&&r.setAttribute(e,t);i.setAttribute(e,t)}),r}fontMetrics(t){let e=z(r.prototype.getStyle.call(t,"font-size")||0),i=e<24?e+3:Math.round(1.2*e),s=Math.round(.8*i);return{h:i,b:s,f:e}}rotCorr(t,e,i){let s=t;return e&&i&&(s=Math.max(s*Math.cos(e*u),4)),{x:-t/3*Math.sin(e*u),y:s}}pathToSegments(t){let e=[],i=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let o=0;o<t.length;o++)E(i[0])&&O(t[o])&&i.length===s[i[0].toUpperCase()]&&t.splice(o,0,i[0].replace("M","L").replace("m","l")),"string"==typeof t[o]&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[o]);return e.push(i.slice(0)),e}label(t,e,i,s,o,r,n,l,h){return new a(this,t,e,i,s,o,r,n,l,h)}alignElements(){this.alignedObjects.forEach(t=>t.align())}}return L(R.prototype,{Element:r,SVG_NS:b,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:n,draw:x}),o.registerRendererType("svg",R,!0),R}),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,
2i,s){let{composed:o}=e,{attr:r,css:a,createElement:n,defined:l,extend:h,pInt:d,pushUnique:c}=s;function p(t,e,s){let o=this.div?.style||s.style;i.prototype[`${e}Setter`].call(this,t,e,s),o&&(o[e]=t)}let u=(t,e)=>{if(!t.div){let s=r(t.element,"class"),o=t.css,a=n("div",s?{className:s}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),a.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,a.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=p,t.css=e=>(o.call(t,e),e.cursor&&(a.style.cursor=e.cursor),e.pointerEvents&&(a.style.pointerEvents=e.pointerEvents),t),t.on=function(){return i.prototype.on.apply({element:a,onEvents:t.onEvents},arguments),t},t.div=a}return t.div};class g extends i{static compose(t){c(o,this.compose)&&(t.prototype.html=function(t,e,i){return new g(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,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=d(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.whiteSpace="nowrap",t.overflow="hidden"),h(this.styles,t),a(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,styles:r,textAlign:n="left",textWidth:h,translateX:d=0,translateY:c=0,x:p=0,y:u=0}=this,g={left:0,center:.5,right:1}[n],m=r.whiteSpace;if(a(t,{marginLeft:`${d}px`,marginTop:`${c}px`}),"SPAN"===t.tagName){let r=[i,n,t.innerHTML,h,this.textAlign].join(","),d=-(this.parentGroup?.padding*1)||0,c,f=!1;if(h!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(a(t,{width:"",whiteSpace:m||"nowrap"}),t.offsetWidth),s=h||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(a(t,{width:e>s||i?h+"px":"auto",display:"block",whiteSpace:m||"normal"}),this.oldTextWidth=h,f=!0)}this.hasBoxWidthChanged=f,r!==this.cTT&&(c=e.fontMetrics(t).b,l(i)&&(i!==(this.oldRotation||0)||n!==this.oldAlign)&&this.setSpanRotation(i,d,d),this.get
2SpanCorrection(!l(i)&&this.textPxLength||t.offsetWidth,c,g));let{xCorr:y=0,yCorr:x=0}=this,b=(s??p)-y-p-d,v=(o??u)-x-u-d;a(t,{left:`${p+y}px`,top:`${u+x}px`,transformOrigin:`${b}px ${v}px`}),this.cTT=r,this.oldRotation=i,this.oldAlign=n}}setSpanRotation(t,e,i){a(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e,i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let o=t;for(;o;)s.push(o),o=o.parentGroup;for(let t of s.reverse())e=u(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,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 m=g.prototype;return m.visibilitySetter=m.opacitySetter=p,m.ySetter=m.rotationSetter=m.rotationOriginXSetter=m.rotationOriginYSetter=m.xSetter,g}),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",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},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:s,objectEach:o,removeEvent:r}=t;return(e||(e={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},o(e.events,function(e,o){t.eventOptions[o]!==e&&(t.eventOptions[o]&&(r(t,o,t.eventOptions[o]),delete t.eventOptions[o]),s(e)&&(t.eventOptions[o]=e,i(t,o,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:s}=e,{clamp:o,correctFloat:r,defined:a,destroyObjectProperties:n,extend:l,fireEvent:h,isNumber:d,merge:c,objectEach:p,pick:u}=i;return class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,h(this,"init"),i||s||this.addLabel()}addLabel(){let e=this,i=e.axis,s=i.options,o=i.chart,n=i.categories,c=i.logarithmic,p=i.names,g=e.pos,m=u(e.options&&e.options.labels,s.labels),f=i.tickPositions,y=g===f[0],x=g===f[f.length-1],b=(!m.step||1===m.step)&&1===i.tickInterval,v=f.info,S=e.label,M,w,C,k=this.parameters.category||(n?u(n[g],p[g],g):g);c&&d(k)&&(k=r(c.lin2log(k))),i.dateTime&&(v?M=(w=o.time.resolveDTLFormat(s.dateTimeLabelFormats[!s.grid&&v.higherRanks[g]||v.unitName])).main:d(k)&&(M=i.dateTime.getXDateFormat(k,s.dateTimeLabelFormats||{}))),e.isFirst=y,e.isLast=x;
2let A={axis:i,chart:o,dateTimeLabelFormat:M,isFirst:y,isLast:x,pos:g,tick:e,tickPositionInfo:v,value:k};h(this,"labelFormat",A);let T=e=>m.formatter?m.formatter.call(e,e):m.format?(e.text=i.defaultLabelFormatter.call(e),t.format(m.format,e,o)):i.defaultLabelFormatter.call(e),P=T.call(A,A),L=w&&w.list;L?e.shortenLabel=function(){for(C=0;C<L.length;C++)if(l(A,{dateTimeLabelFormat:L[C]}),S.attr({text:T.call(A,A)}),S.getBBox().width<i.getSlotWidth(e)-2*(m.padding||0))return;S.attr({text:""})}:e.shortenLabel=void 0,b&&i._addedPlotLB&&e.moveLabel(P,m),a(S)||e.movedLabel?S&&S.textStr!==P&&!b&&(!S.textWidth||m.style.width||S.styles.width||S.css({width:null}),S.attr({text:P}),S.textPxLength=S.getBBox().width):(e.label=S=e.createLabel(P,m),e.rotation=0)}createLabel(t,e,i){let s=this.axis,o=s.chart,r=a(t)&&e.enabled?o.renderer.text(t,i?.x,i?.y,e.useHTML).add(s.labelGroup):void 0;return r&&(o.styledMode||r.css(c(e.style)),r.textPxLength=r.getBBox().width),r}destroy(){n(this,this.axis)}getPosition(t,e,i,s){let a=this.axis,n=a.chart,l=s&&n.oldChartHeight||n.chartHeight,d={x:t?r(a.translate(e+i,void 0,void 0,s)+a.transB):a.left+a.offset+(a.opposite?(s&&n.oldChartWidth||n.chartWidth)-a.right-a.left:0),y:t?l-a.bottom+a.offset-(a.opposite?a.height:0):r(l-a.translate(e+i,void 0,void 0,s)-a.transB)};return d.y=o(d.y,-1e9,1e9),h(this,"afterGetPosition",{pos:d}),d}getLabelPosition(t,e,i,o,r,n,l,d){let c,p,g=this.axis,m=g.transA,f=g.isLinked&&g.linkedParent?g.linkedParent.reversed:g.reversed,y=g.staggerLines,x=g.tickRotCorr||{x:0,y:0},b=o||g.reserveSpaceDefault?0:-g.labelOffset*("center"===g.labelAlign?.5:1),v=r.distance,S={};return c=0===g.side?i.rotation?-v:-i.getBBox().height:2===g.side?x.y+v:Math.cos(i.rotation*s)*(x.y-i.getBBox(!1,0).height/2),a(r.y)&&(c=0===g.side&&g.horiz?r.y+c:r.y),t=t+u(r.x,[0,1,0,-1][g.side]*v)+b+x.x-(n&&o?n*m*(f?-1:1):0),e=e+c-(n&&!o?n*m*(f?1:-1):0),y&&(p=l/(d||1)%y,g.opposite&&(p=y-p-1),e+=p*(g.labelOffset/y)),S.x=t,S.y=Math.round(e),h(this,"afterGetLabelPosition",{pos:S,tickmarkOffset:n,index:l}),S}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(t,e,i,s,o=!1,r){return r.crispLine([["M",t,e],["L",t+(o?0:-i),e+(o?i:0)]],s)}handleOverflow(t){let e=this.axis,i=e.options.labels,o=t.x,r=e.chart.chartWidth,a=e.chart.spacing,n=u(e.labelLeft,Math.min(e.pos,a[3])),l=u(e.labelRight,Math.max(e.isRadial?0:e.pos+e.len,r-a[1])),h=this.label,d=this.rotation,c={left:0,center:.5,right:1}[e.labelAlign||h.attr("align")],p=h.getBBox().width,g=e.getSlotWidth(this),m={},f=g,y=1,x;d||"justify"!==i.overflow?d<0&&o-c*p<n?x=Math.round(o/Math.cos(d*s)-n):d>0&&o+c*p>l&&(x=Math.round((r-o)/Math.cos(d*s))):(o-c*p<n?f=t.x+f*(1-c)-n:o+(1-c)*p>l&&(f=l-t.x+f*c,y=-1),(f=Math.min(g,f))<g&&"center"===e.labelAlign&&(t.x+=y*(g-f-c*(g-Math.min(p,f)))),(p>f||e.autoRotation&&(h.styles||{}).width)&&(x=f)),x&&(this.shortenLabel?this.shortenLabel():(m.width=Math.floor(x)+"px",(i.style||{}).textOverflow||(m.textOverflow="ellipsis"),h.css(m)))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,a;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):p(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,a=this.pos,n=u(this.tickmarkOffset,s.tickmarkOffset),l=this.getPosition(o,a,n,e),d=l.x,c=l.y,p=s.pos,g=p+s.len,m=o?d:c;!s.chart.polar&&this.isNew&&(r(m)<p||m>g)&&(i=0);let f=u(i,this.label&&this.label.newOpacity,1);i=u(i,1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(l,i),this.renderLabel(l,e,f,t),this.isNew=!1,h(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,a=this.type,n=u(this.tickmarkOffset,i.tickmarkOffset),l=i.chart.renderer,h=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,g=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,g=s.minorGridLineDashStyle),h||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=g),a||(o.zIndex=1),t&&(e=0),this.gridLine=h=l.path().attr(o).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(i.gridGroup)),h&&(d=i.getPlotLinePath({value:r+n,lineWidth:h.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&h[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.t
2ype,a=i.tickSize(r?r+"Tick":"tick"),n=t.x,l=t.y,h=u(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;a&&(i.opposite&&(a[0]=-a[0]),c||(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":h})),c[p?"attr":"animate"]({d:this.getMarkPath(n,l,a[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,a=o.options,n=this.label,l=a.labels,h=l.step,c=u(this.tickmarkOffset,o.tickmarkOffset),p=t.x,g=t.y,m=!0;n&&d(p)&&(n.xy=t=this.getLabelPosition(p,g,n,r,l,c,s,h),(!this.isFirst||this.isLast||a.showFirstLabel)&&(!this.isLast||this.isFirst||a.showLastLabel)?!r||l.step||l.rotation||e||0===i||this.handleOverflow(t):m=!1,h&&s%h&&(m=!1),m&&d(t.y)?(t.opacity=i,n[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(n.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,s,o,r,a,n){let{animObject:l}=t,{xAxis:h,yAxis:d}=e,{defaultOptions:c}=s,{registerEventOptions:p}=o,{deg2rad:u}=r,{arrayMax:g,arrayMin:m,clamp:f,correctFloat:y,defined:x,destroyObjectProperties:b,erase:v,error:S,extend:M,fireEvent:w,getClosestDistance:C,insertItem:k,isArray:A,isNumber:T,isString:P,merge:L,normalizeTickInterval:j,objectEach:O,pick:D,relativeLength:E,removeEvent:U,splat:I,syncTimeout:z}=n,B=(t,e)=>j(e,void 0,void 0,D(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);M(c,{xAxis:h,yAxis:L(h,d)});class N{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,w(this,"init",{userOptions:e}),this.opposite=D(e.opposite,this.opposite),this.side=D(e.side,this.side,o?2*!this.opposite:this.opposite?1:3),this.setOptions(e);let r=this.options,a=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),w(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=D(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=A(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=x(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let n=D(r.crosshair,I(t.options.tooltip.crosshairs)[+!s]);this.crosshair=!0===n?{}:n,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),k(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!x(this.reversed)&&(this.reversed=!0),this.labelRotation=T(a.rotation)?a.rotation:void 0,p(this,r),w(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=L(e,c[this.coll],t),w(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=T(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,a=c.lang,n=a.numericSymbols,l=a.numericSymbolMagnitude||1e3,h=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,p,u;if(o)u=`${this.value}`;else if(r)u=s.dateFormat(r,i);else if(d&&n&&h>=1e3)for(;d--&&void 0===u;)h>=(p=Math.pow(l,d+1))&&10*i%p==0&&null!==n[d]&&0!==i&&(u=e(i/p,-1)+n[d]);return void 0===u&&(u=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),u}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.forEac
2h(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,a,n;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.xData)&&o.length&&(o=e.logarithmic?o.filter(t=>t>0):o,a=(t=i.getXExtremes(o)).min,n=t.max,T(a)||a instanceof Date||(o=o.filter(T),a=(t=i.getXExtremes(o)).min,n=t.max),o.length&&(e.dataMin=Math.min(D(e.dataMin,a),a),e.dataMax=Math.max(D(e.dataMax,n),n)));else{let t=i.applyExtremes();T(t.dataMin)&&(a=t.dataMin,e.dataMin=Math.min(D(e.dataMin,a),a)),T(t.dataMax)&&(n=t.dataMax,e.dataMax=Math.max(D(e.dataMax,n),n)),x(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),w(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!T(n))return NaN;let l=a.minPixelPadding,h=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&o)&&a.lin2val,d=1,c=0,p=s&&a.old?a.old.transA:a.transA,u=0;return p||(p=a.transA),i&&(d*=-1,c=a.len),a.reversed&&(d*=-1,c-=d*(a.sector||a.len)),e?(u=(t=t*d+c-l)/p+n,h&&(u=a.lin2val(u))):(h&&(t=a.val2lin(t)),u=d*(t-n)*p+c+d*l+(T(r)?p*r:0),a.isRadial||(u=y(u))),u}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=this,i=e.chart,s=e.left,o=e.top,r=t.old,a=t.value,n=t.lineWidth,l=r&&i.oldChartHeight||i.chartHeight,h=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,u,g,m,y,x;function b(t,e,i){return"pass"!==p&&(t<e||t>i)&&(p?t=f(t,e,i):x=!0),t}let v={value:a,lineWidth:n,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return w(this,"getPlotLinePath",v,function(t){u=m=(c=f(c=D(c,e.translate(a,void 0,void 0,r)),-1e9,1e9))+d,g=y=l-c-d,T(c)?e.horiz?(g=o,y=l-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),u=m=b(u,s,s+e.width)):(u=s,m=h-e.right+(i.scrollablePixelsX||0),g=y=b(g,o,o+e.height)):(x=!0,p=!1),t.path=x&&!p?void 0:i.renderer.crispLine([["M",u,g],["L",m,y]],n||1)}),v.path}getLinearTickPositions(t,e,i){let s,o,r,a=y(Math.floor(e/t)*t),n=y(Math.ceil(i/t)*t),l=[];if(y(a+t)===a&&(r=20),this.single)return[e];for(s=a;s<=n&&(l.push(s),(s=y(s+t,r))!==o);)o=s;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?D(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,a=r-o,n=[],l;if(a&&a/i<this.len/3){let s=this.logarithmic;if(s)this.paddedTicks.forEach(function(t,e,o){e&&n.push.apply(n,s.getLogTickPositions(i,o[e-1],o[e],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())n=n.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(i),o,r,t.startOfWeek));else for(l=o+(e[0]-o)%i;l<=r&&l!==n[0];l+=i)n.push(l)}return 0!==n.length&&this.trimTicks(n),n}adjustForMinRange(){let t=this.options,e=this.logarithmic,{max:i,min:s,minRange:o}=this,r,a,n,l;this.isXAxis&&void 0===o&&!e&&(o=x(t.min)||x(t.max)||x(t.floor)||x(t.ceiling)?null:Math.min(5*(C(this.series.map(t=>(t.xIncrement?t.xData?.slice(0,2):t.xData)||[]))||0),this.dataMax-this.dataMin)),T(i)&&T(s)&&T(o)&&i-s<o&&(a=this.dataMax-this.dataMin>=o,r=(o-i+s)/2,n=[s-r,D(t.min,s-r)],a&&(n[2]=e?e.log2lin(this.dataMin):this.dataMin),l=[(s=g(n))+o,D(t.max,s+o)],a&&(l[2]=e?e.log2lin(this.dataMax):this.dataMax),(i=m(l))-s<o&&(n[0]=i-o,n[1]=D(t.min,i-o),s=g(n))),this.minRange=o,this.min=s,this.max=i}getClosest(){let t,e;if(this.categories)e=1;else{let i=[];this.series.forEach(function(t){let s=t.closestPointRange;t.xData?.length===1?i.push(t.xData[0]):!t.noSharedTooltip&&x(s)&&t.reserveSpace()&&(e=x(e)?Math.min(e,s):s)}),i.length&&(i.sort((t,e)=>t-e),t=C([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=A(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,x(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):D(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):o=s,void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>
20&&(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,s){let o;i?.options&&void 0!==i.name&&void 0!==(o=t.nameToX(i))&&o!==i.x&&(i.x=o,e.xData[s]=o)})}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,a,n=0,l=0,h,d=t.transA;(o||s||r)&&(a=t.getClosest(),i?(n=i.minPointOffset,l=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?D(e.options.pointRange,a,0):t.axisPointRange||0,h=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;n=Math.max(n,t&&P(h)?0:i/2),l=Math.max(l,t&&"on"===h?0:i)}}),h=t.ordinal&&t.ordinal.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=h,t.pointRangePadding=l*=h,t.pointRange=Math.min(r,t.single&&s?1:e),o&&a&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+l||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*n,w(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return T(t)&&T(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:l,softThreshold:h}=this,d=T(this.threshold)?this.threshold:void 0,c=this.minRange||0,{ceiling:p,floor:u,linkedTo:g,softMax:m,softMin:f}=l,b=T(g)&&i[this.coll]?.[g],v=l.tickPixelInterval,M=l.maxPadding,C=l.minPadding,k=0,A,P=T(l.tickInterval)&&l.tickInterval>=0?l.tickInterval:void 0,L,j,O,E;if(r||e||b||this.getTickAmount(),O=D(this.userMin,l.min),E=D(this.userMax,l.max),b?(this.linkedParent=b,A=b.getExtremes(),this.min=D(A.min,A.dataMin),this.max=D(A.max,A.dataMax),this.type!==b.type&&S(11,!0,i)):(h&&x(d)&&T(s)&&T(o)&&(o>=d?(L=d,C=0):s<=d&&(j=d,M=0)),this.min=D(O,L,o),this.max=D(E,j,s)),T(this.max)&&T(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,D(o,this.min))&&S(10,!0,i),this.min=y(n.log2lin(this.min),16),this.max=y(n.log2lin(this.max),16)),this.range&&T(o)&&(this.userMin=this.min=O=Math.max(o,this.minFromRange()||0),this.userMax=E=this.max,this.range=void 0)),w(this,"foundExtremes"),this.adjustForMinRange(),T(this.min)&&T(this.max)){if(!T(this.userMin)&&T(f)&&f<this.min&&(this.min=O=f),!T(this.userMax)&&T(m)&&m>this.max&&(this.max=E=m),e||this.axisPointRange||this.stacking?.usePercentage||b||!(k=this.max-this.min)||(!x(O)&&C&&(this.min-=k*C),x(E)||!M||(this.max+=k*M)),!T(this.userMin)&&T(u)&&(this.min=Math.max(this.min,u)),!T(this.userMax)&&T(p)&&(this.max=Math.min(this.max,p)),h&&T(o)&&T(s)){let t=d||0;!x(O)&&this.min<t&&o>=t?this.min=l.minRange?Math.min(t,this.max-c):t:!x(E)&&this.max>t&&s<=t&&(this.max=l.minRange?Math.max(t,this.min+c):t)}!i.polar&&this.min>this.max&&(x(l.min)?this.max=this.min:x(l.max)&&(this.min=this.max)),k=this.max-this.min}if(this.min!==this.max&&T(this.min)&&T(this.max)?b&&!P&&v===b.options.tickPixelInterval?this.tickInterval=P=b.tickInterval:this.tickInterval=D(P,this.tickAmount?k/Math.max(this.tickAmount-1,1):void 0,e?1:k*v/Math.max(this.len,v)):this.tickInterval=1,a&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),w(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),w(this,"initialAxisTranslation"),this.pointRange&&!P&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let U=D(l.minTickInterval,r&&!this.series.some(t=>t.noSharedTooltip)?this.closestPointRange:0);!P&&this.tickInterval<U&&(this.tickInterval=U),r||n||P||(this.tickInterval=B(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let t=this.options,e=t.tickPositions,i=t.tickPositioner,s=this.getMinorTickInterval(),o=!this.isPanning,r=o&&t.startOnTick,a=o&&t.endOnTick,n=[],l;if(this.tickmarkOffset=this.categories&&"between"===t.tickmarkPlacement&&1===this.tickInterval?.5:0,this.single=this.min===this.max&&x(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==t.allowDecimals),e)n=e.slice();else if(T(this.min)&&T(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))n=[this.min,this.max],S(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount);)this.tickInterval=B(this,e*=1.1)}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(l=i.apply(this,[this.min,this.max]))&&(n=l))}this.tickPositions=n,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,r,a),!this.isLinked&&T(this.min)&&T(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||l||this.adjustTickAmount()),w(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(w(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r<t[t.length-1];)t.pop();0===t.length&&x(s)&&!this.options.tickPositions&&t.push((o+s)/2)}}alignToOthers(){let t,e=this,i=e.chart,s=[this],o=e.options,r=i.options.chart,a="yAxis"===this.coll&&r.alignThresholds,n=[];if(e.thresholdAlignment=void 0,(!1!==r.alignTicks&&o.alignTicks||a)&&
vendor: 5,540 bytes, line 2
2!1!==o.startOnTick&&!1!==o.endOnTick&&!e.logarithmic){let o=t=>{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:a}=i;a.length&&a.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&a){s.forEach(t=>{let i=t.getThresholdAlignment(e);T(i)&&n.push(i)});let t=n.length>1?n.reduce((t,e)=>t+=e,0)/n.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!T(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),T(this.threshold)){let t=f((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;x(t.tickInterval)||i||!(this.len<e)||this.isRadial||this.logarithmic||!t.startOnTick||!t.endOnTick||(i=2),!i&&this.alignToOthers()&&(i=Math.ceil(this.len/e)+1),i<4&&(this.finalTickAmt=i,i=5),this.tickAmount=i}adjustTickAmount(){let t=this,{finalTickAmt:e,max:i,min:s,options:o,tickPositions:r,tickAmount:a,thresholdAlignment:n}=t,l=r?.length,h=D(t.threshold,t.softThreshold?0:null),d,c,p=t.tickInterval,u,g=()=>r.push(y(r[r.length-1]+p)),m=()=>r.unshift(y(r[0]-p));if(T(n)&&(u=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),o.reversed&&(u=a-1-u)),t.hasData()&&T(s)&&T(i)){let n=()=>{t.transA*=(l-1)/(a-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(T(u)&&T(t.threshold)){for(;r[u]!==h||r.length!==a||r[0]>s||r[r.length-1]<i;){for(r.length=0,r.push(t.threshold);r.length<a;)void 0===r[u]||r[u]>t.threshold?m():g();if(p>8*t.tickInterval)break;p*=2}n()}else if(l<a){for(;r.length<a;)r.length%2||s===h?g():m();n()}if(x(e)){for(c=d=r.length;c--;)(3===e&&c%2==1||e<=2&&c>0&&c<d-1)&&r.splice(c,1);t.finalTickAmt=void 0}}}setScale(){let{coll:t,stacking:e}=this,i=!1,s=!1;this.series.forEach(t=>{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,w(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){this.series.forEach(t=>{delete t.kdTree}),w(this,"setExtremes",o=M(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(E(D(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(E(D(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(E(D(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(E(D(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-a,this.right=t.chartWidth-o-n,this.len=Math.max(s?o:r,0),this.pos=s?n:a}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,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s<t&&(t=s),this.translate(t,0,1,0,1)}autoLabelAlign(t){let e=(D(t,0)-90*this.side+720)%360,i={align:"center"};return w(this,"autoLabelAlign",i,function(t){e>15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=D(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return w(this,"afterTickSize",r),r.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=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/((+!!this.categories+this.max-this.min)/s),r=t.rotation,a=y(.8*this.labelMetrics().h),n=Math.max(this.max-this.min,0),l=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>n&&t!==1/0&&o!==1/0&&n&&(i=Math.ceil(n/s)),y(i*s)},h=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(T(r)?p=[r]:o<t.autoRotationLimit&&(p=t.autoRotation)),p){let t,e;for(let i of p)(i===r||i&&i>=-90&&i<=90)&&(e=(t=l(Math.abs(a/Math.sin(u*i))))+Math.abs(i/360))<c&&(c=e,d=i,h=t)}}else h=l(.75*a);return this.autoRotation=p,this.labelRotation=D(d,T(r)?r:0),t.step?s:h}getSlotWidth(t){let e=this.chart,i=this.horiz,s=this.options.labels,o=Math.max(this.tickPositions.length-!this.categories,1),r=e.margin[3];if(t&&T(t.slotWidth))return t.slotWidth;if(i&&s.step<2)return s.rotation?0:(this.staggerLines||1)*this.len/o;if(!i){let t=s.style.width;if(void 0!==t)return parseInt(String(t),10);if(r)return r-e.spacing[3]}return .33*e.chartWidth}renderUnsquish(){let t=this.chart,e=t.renderer,i=this.tickPositions,s=this.ticks,o=this.options.labels,r=o.style,a=this.horiz,n=this.getSlotWidth(),l=Math.max(1,Math.round(n-(a?2*(o.padding||0):o.distance||0))),h={},d=this.labelMetrics(),c=r.textOverflow,p,u,g=0,m,f;
2if(P(o.rotation)||(h.rotation=o.rotation||0),i.forEach(function(t){let e=s[t];e.movedLabel&&e.replaceMovedLabel(),e&&e.label&&e.label.textPxLength>g&&(g=e.label.textPxLength)}),this.maxLabelLength=g,this.autoRotation)g>l&&g>d.h?h.rotation=this.labelRotation:this.labelRotation=0;else if(n&&(p=l,!c))for(u="clip",f=i.length;!a&&f--;)(m=s[i[f]].label)&&("ellipsis"===m.styles.textOverflow?m.css({textOverflow:"clip"}):m.textPxLength>n&&m.css({width:n+"px"}),m.getBBox().height>this.len/i.length-(d.h-d.f)&&(m.specificTextOverflow="ellipsis"));h.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u="ellipsis")),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(h.align=this.labelAlign),i.forEach(function(t){let e=s[t],i=e&&e.label,o=r.width,a={};i&&(i.attr(h),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<i.textPxLength||"SPAN"===i.element.tagName)?(a.width=p+"px",c||(a.textOverflow=i.specificTextOverflow||u),i.css(a)):!i.styles.width||a.width||o||i.css({width:null}),delete i.specificTextOverflow,e.rotation=h.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&x(this.min)&&x(this.max)}addTitle(t){let e,i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,a=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),a||this.axisTitle.css(L(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new a(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,a)=>o.g(e).attr({zIndex:a}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:a,coll:n}=t,l=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,h=t.hasData(),d=s.title,c=s.labels,p=T(s.crossing),u=e.axisOffset,g=e.clipOffset,m=[-1,1,1,-1][o],f,y=0,b,v=0,S=0,M,C;if(t.showAxis=f=h||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),h||t.isLinked?(a.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,D(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&a.forEach(function(t){S=Math.max(r[t].getLabelSize(),S)}),t.staggerLines&&(S*=t.staggerLines),t.labelOffset=S*(t.opposite?-1:1)):O(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(f),f&&!p&&!1!==d.reserveSpace&&(t.titleOffset=y=t.axisTitle.getBBox()[i?"height":"width"],v=x(b=d.offset)?0:D(d.margin,i?5:10))),t.renderLine(),t.offset=m*D(s.offset,u[o]?u[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},C=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,M=Math.abs(S)+v,S&&(M-=C,M+=m*(i?D(c.y,t.tickRotCorr.y+m*c.distance):D(c.x,m*c.distance))),t.axisTitleMargin=D(b,M),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,a)),"colorAxis"!==n&&g){let e=this.tickSize("tick");u[o]=Math.max(u[o],(t.axisTitleMargin||0)+y+m*t.offset,M,a&&a.length&&e?e[0]+m*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;g[l]=Math.max(g[l],i)}w(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?a:this.top],["L",o?e.chartWidth-this.right:r,o?a: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,s=this.top,o=this.len,r=this.options.title,a=e?i:s,n=this.opposite,l=this.offset,h=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,u={low:a+(e?0:o),middle:a+o/2,high:a+(e?o:0)}[r.align],g=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],m={x:e?u+h:g+(n?this.width:0)+l+h,y:e?g+d-(n?this.height:0)+l:u+d};return w(this,"afterGetTitlePosition",{titlePosition:m}),m}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new a(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}
vendor: 1,166 bytes, line 2
2renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new a(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e,i=this,s=i.chart,o=i.logarithmic,n=s.renderer,h=i.options,d=i.isLinked,c=i.tickPositions,p=i.axisTitle,u=i.ticks,g=i.minorTicks,m=i.alternateBands,f=h.stackLabels,y=h.alternateGridColor,x=h.crossing,b=i.tickmarkOffset,v=i.axisLine,S=i.showAxis,M=l(n.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[u,g,m].forEach(function(t){O(t,function(t){t.isActive=!1})}),T(x)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(x,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||d){let n=i.chart.hasRendered&&i.old&&T(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,n)}),c.length&&(c.forEach(function(t,e){i.renderTick(t,e,n)}),b&&(0===i.min||i.single)&&(u[-1]||(u[-1]=new a(i,-1,null,!0)),u[-1].render(-1))),y&&c.forEach(function(a,n){e=void 0!==c[n+1]?c[n+1]+b:i.max-b,n%2==0&&a<i.max&&e<=i.max+(s.polar?-b:b)&&(m[a]||(m[a]=new r.PlotLineOrBand(i,{}
2)),t=a+b,m[a].options={from:o?o.lin2log(t):t,to:o?o.lin2log(e):e,color:y,className:"highcharts-alternate-grid"},m[a].render(),m[a].isActive=!0)}),i._addedPlotLB||(i._addedPlotLB=!0,(h.plotLines||[]).concat(h.plotBands||[]).forEach(function(t){i.addPlotBandOrLine(t)}))}[u,g,m].forEach(function(t){let e=[],i=M.duration;O(t,function(t,i){t.isActive||(t.render(i,!1,0),t.isActive=!1,e.push(i))}),z(function(){let i=e.length;for(;i--;)t[e[i]]&&!t[e[i]].isActive&&(t[e[i]].destroy(),delete t[e[i]])},t!==m&&s.hasRendered&&i?i:0)}),v&&(v[v.isPlaced?"animate":"attr"]({d:this.getLinePath(v.strokeWidth())}),v.isPlaced=!0,v[S?"show":"hide"](S)),p&&S&&(p[p.isNew?"attr":"animate"](i.getTitlePosition(p)),p.isNew=!1),f&&f.enabled&&i.stacking&&i.stacking.renderStackTotals(),i.old={len:i.len,max:i.max,min:i.min,transA:i.transA,userMax:i.userMax,userMin:i.userMin},i.isDirty=!1,w(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})}getKeepProps(){return this.keepProps||N.keepProps}destroy(t){let e=this,i=e.plotLinesAndBands,s=this.eventOptions;if(w(this,"destroy",{keepEvents:t}),t||U(e),[e.ticks,e.minorTicks,e.alternateBands].forEach(function(t){b(t)}),i){let t=i.length;for(;t--;)i[t].destroy()}for(let t in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(t){e[t]&&(e[t]=e[t].destroy())}),e.plotLinesAndBandsGroups)e.plotLinesAndBandsGroups[t]=e.plotLinesAndBandsGroups[t].destroy();O(e,function(t,i){-1===e.getKeepProps().indexOf(i)&&delete e[i]}),this.eventOptions=s}drawCrosshair(t,e){let s=this.crosshair,o=D(s&&s.snap,!0),r=this.chart,a,n,l,h=this.cross,d;if(w(this,"drawCrosshair",{e:t,point:e}),t||(t=this.cross&&this.cross.e),s&&(x(e)||!o)!==!1){if(o?x(e)&&(n=D("colorAxis"!==this.coll?e.crosshairPos:null,this.isXAxis?e.plotX:this.len-e.plotY)):n=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),x(n)&&(d={value:e&&(this.isXAxis?e.x:D(e.stackY,e.y)),translatedValue:n},r.polar&&M(d,{isCrosshair:!0,chartX:t&&t.chartX,chartY:t&&t.chartY,point:e}),a=this.getPlotLinePath(d)||null),!x(a))return void this.hideCrosshair();l=this.categories&&!this.isRadial,h||(this.cross=h=r.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(l?"category ":"thin ")+(s.className||"")).attr({zIndex:D(s.zIndex,2)}).add(),!r.styledMode&&(h.attr({stroke:s.color||(l?i.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":D(s.width,1)}).css({"pointer-events":"none"}),s.dashStyle&&h.attr({dashstyle:s.dashStyle}))),h.show().attr({d:a}),l&&!s.width&&h.attr({"stroke-width":this.transA}),this.cross.e=t}else this.hideCrosshair();w(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){this.cross&&this.cross.hide(),w(this,"afterHideCrosshair")}update(t,e){let i=this.chart;t=L(this.userOptions,t),this.destroy(!0),this.init(i,t),i.isDirtyBox=!0,D(e,!0)&&i.redraw()}remove(t){let e=this.chart,i=this.coll,s=this.series,o=s.length;for(;o--;)s[o]&&s[o].remove(!1);v(e.axes,this),v(e[i]||[],this),e.orderItems(i),this.destroy(),e.isDirtyBox=!0,D(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}}return N.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],N}),i(e,"Core/Axis/DateTimeAxis.js",[e["Core/Utilities.js"]],function(t){var e;let{addEvent:i,getMagnitude:s,normalizeTickInterval:o,timeUnits:r}=t;return function(t){function e(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function a(){if("datetime"!==this.type){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new n(this))}t.compose=function(t){return t.keepProps.includes("dateTime")||(t.keepProps.push("dateTime"),t.prototype.getTimeTicks=e,i(t,"afterSetType",a)),t};class n{constructor(t){this.axis=t}normalizeTimeTickInterval(t,e){let i=e||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],a=i[i.length-1],n=r[a[0]],l=a[1],h;for(h=0;
2h<i.length&&(n=r[(a=i[h])[0]],l=a[1],!i[h+1]||!(t<=(n*l[l.length-1]+r[i[h+1][0]])/2));h++);n===r.year&&t<5*n&&(l=[1,2,5]);let d=o(t/n,l,"year"===a[0]?Math.max(s(t/n),1):1);return{unitRange:n,count:d,unitName:a[0]}}getXDateFormat(t,e){let{axis:i}=this,s=i.chart.time;return i.closestPointRange?s.getDateFormat(i.closestPointRange,t,i.options.startOfWeek,e)||s.resolveDTLFormat(e.year).main:s.resolveDTLFormat(e.day).main}}t.Additions=n}(e||(e={})),e}),i(e,"Core/Axis/LogarithmicAxis.js",[e["Core/Utilities.js"]],function(t){var e;let{addEvent:i,normalizeTickInterval:s,pick:o}=t;return function(t){function e(){"logarithmic"!==this.type?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new a(this))}function r(){let t=this.logarithmic;t&&(this.lin2val=function(e){return t.lin2log(e)},this.val2lin=function(e){return t.log2lin(e)})}t.compose=function(t){return t.keepProps.includes("logarithmic")||(t.keepProps.push("logarithmic"),i(t,"afterSetType",e),i(t,"afterInit",r)),t};class a{constructor(t){this.axis=t}getLogTickPositions(t,e,i,r){let a=this.axis,n=a.len,l=a.options,h=[];if(r||(this.minorAutoInterval=void 0),t>=.5)t=Math.round(t),h=a.getLinearTickPositions(t,e,i);else if(t>=.08){let s,o,a,n,l,d,c,p=Math.floor(e);for(s=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],o=p;o<i+1&&!c;o++)for(a=0,n=s.length;a<n&&!c;a++)(l=this.log2lin(this.lin2log(o)*s[a]))>e&&(!r||d<=i)&&void 0!==d&&h.push(d),d>i&&(c=!0),d=l}else{let d=this.lin2log(e),c=this.lin2log(i),p=r?a.getMinorTickInterval():l.tickInterval,u=l.tickPixelInterval/(r?5:1),g=r?n/a.tickPositions.length:n;t=s(t=o("auto"===p?null:p,this.minorAutoInterval,(c-d)*u/(g||1))),h=a.getLinearTickPositions(t,d,c).map(this.log2lin),r||(this.minorAutoInterval=t/5)}return r||(a.tickInterval=t),h}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=a}(e||(e={})),e}),i(e,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[e["Core/Utilities.js"]],function(t){var e;let{erase:i,extend:s,isNumber:o}=t;return function(t){let e;function r(t){return this.addPlotBandOrLine(t,"plotBands")}function a(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function n(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),r=[],a=this.horiz,n=!o(this.min)||!o(this.max)||t<this.min&&e<this.min||t>this.max&&e>this.max,l=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,d=1,c;if(l&&s)for(n&&(c=l.toString()===s.toString(),d=0),h=0;h<l.length;h+=2){let t=l[h],e=l[h+1],i=s[h],o=s[h+1];("M"===t[0]||"L"===t[0])&&("M"===e[0]||"L"===e[0])&&("M"===i[0]||"L"===i[0])&&("M"===o[0]||"L"===o[0])&&(a&&i[1]===t[1]?(i[1]+=d,o[1]+=d):a||i[2]!==t[2]||(i[2]+=d,o[2]+=d),r.push(["M",t[1],t[2]],["L",e[1],e[2]],["L",o[1],o[2]],["L",i[1],i[2]],["Z"])),r.isFlat=c}return r}function h(t){this.removePlotBandOrLine(t)}function d(t){let e=this.plotLinesAndBands,s=this.options,o=this.userOptions;if(e){let r=e.length;for(;r--;)e[r].id===t&&e[r].destroy();[s.plotLines||[],o.plotLines||[],s.plotBands||[],o.plotBands||[]].forEach(function(e){for(r=e.length;r--;)(e[r]||{}).id===t&&i(e,e[r])})}}function c(t){this.removePlotBandOrLine(t)}t.compose=function(t,i){let o=i.prototype;return o.addPlotBand||(e=t,s(o,{addPlotBand:r,addPlotLine:n,addPlotBandOrLine:a,getPlotBandPath:l,removePlotBand:h,removePlotLine:c,removePlotBandOrLine:d})),i}}(e||(e={})),e}),i(e,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[e["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],e["Core/Utilities.js"]],function(t,e){let{addEvent:i,arrayMax:s,arrayMin:o,defined:r,destroyObjectProperties:a,erase:n,fireEvent:l,merge:h,objectEach:d,pick:c}=e;class p{static compose(e,s){return i(e,"afterInit",function(){this.labelCollectors.push(()=>{let t=[];for(let e of this.axes)for(let{label:i,options:s}
2of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),t.compose(p,s)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){l(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:a,zIndex:n=0}=e,p={},u=t.chart.renderer,g=e.to,m=e.from,f=e.value,y=e.borderWidth,x=e.label,{label:b,svgElem:v}=this,S=[],M,w=r(m)&&r(g),C=r(f),k=!v,A={class:"highcharts-plot-"+(w?"band ":"line ")+(e.className||"")},T=w?"bands":"lines";if(!t.chart.styledMode&&(C?(A.stroke=o||"#999999",A["stroke-width"]=c(e.width,1),e.dashStyle&&(A.dashstyle=e.dashStyle)):w&&(A.fill=o||"#e6e9ff",y&&(A.stroke=e.borderColor,A["stroke-width"]=y))),p.zIndex=n,T+="-"+n,(M=t.plotLinesAndBandsGroups[T])||(t.plotLinesAndBandsGroups[T]=M=u.g("plot-"+T).attr(p).add()),v||(this.svgElem=v=u.path().attr(A).add(M)),r(f))S=t.getPlotLinePath({value:s?.log2lin(f)??f,lineWidth:v.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(r(m)&&r(g)))return;S=t.getPlotBandPath(s?.log2lin(m)??m,s?.log2lin(g)??g,e)}return!this.eventsAdded&&a&&(d(a,(t,e)=>{v?.on(e,t=>{a[e].apply(this,[t])})}),this.eventsAdded=!0),(k||!v.d)&&S?.length?v.attr({d:S}):v&&(S?(v.show(),v.animate({d:S})):v.d&&(v.hide(),b&&(this.label=b=b.destroy()))),x&&(r(x.text)||r(x.formatter))&&S?.length&&t.width>0&&t.height>0&&!S.isFlat?(x=h({align:i&&w?"center":void 0,x:i?!w&&4:10,verticalAlign:!i&&w?"middle":void 0,y:i?w?16:10:w?6:-4,rotation:i&&!w?90:0,...w?{inside:!0}:{}},x),this.renderLabel(x,S,w,n)):b&&b.hide(),this}renderLabel(t,e,i,a){let n=this.axis,l=n.chart.renderer,d=t.inside,c=this.label;c||(this.label=c=l.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:a}),n.chart.styledMode||c.css(h({fontSize:"0.8em",textOverflow:i&&!d?"":"ellipsis"},t.style)),c.add());let p=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],u=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],g=o(p),m=o(u),f=s(p)-g;c.align(t,!1,{x:g,y:m,width:f,height:s(u)-m}),(!c.alignValue||"left"===c.alignValue||r(d))&&c.css({width:(t.style?.width||(i&&d?f:90===c.rotation?n.height-(c.alignAttr.y-n.top):(t.clip?n.width:n.chart.chartWidth)-(c.alignAttr.x-n.left)))+"px"}),c.show(!0)}getLabelText(t){return r(t.formatter)?t.formatter.call(this):t.text}destroy(){n(this.axis.plotLinesAndBands,this),delete this.axis,a(this)}}return p}),i(e,"Core/Tooltip.js",[e["Core/Animation/AnimationUtilities.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,s,o,r){var a;let{animObject:n}=t,{format:l}=e,{composed:h,doc:d,isSafari:c}=i,{distribute:p}=s,{addEvent:u,clamp:g,css:m,discardElement:f,extend:y,fireEvent:x,isArray:b,isNumber:v,isString:S,merge:M,pick:w,pushUnique:C,splat:k,syncTimeout:A}=r;class T{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(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||k(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)}getAnchor(t,e){let i,{chart:s,pointer:o}=this,r=s.inverted,a=s.plotTop,n=s.plotLeft;if((t=k(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=o.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-n,o-a]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+w(t.colorIndex,o.colorIndex),r&&r.className].filter(S).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let s=this,r=this.chart.styledMode,a=this.options,n=this.split&&this.allowShared,l=this.container,h=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!n&&t||n&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart.options.chart.style,e=o.getRendererType();this.container=l=i.doc.createElement("div"),l.className="highcharts-tooltip-container",m(l,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||
vendor: 2,203 bytes, line 2
20,(t&&t.zIndex||0)+3)}),this.renderer=h=new e(l,0,0,t,void 0,void 0,h.styledMode)}if(n?this.label=h.g("tooltip"):(this.label=h.label("",t,e,a.shape,void 0,void 0,a.useHTML,void 0,"tooltip").attr({padding:a.padding,r:a.borderRadius}),r||this.label.attr({fill:a.backgroundColor,"stroke-width":a.borderWidth||0}).css(a.style).css({pointerEvents:a.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),s.outside){let t=this.label;[t.xSetter,t.ySetter].forEach((e,i)=>{t[i?"ySetter":"xSetter"]=o=>{e.call(t,s.distance),t[i?"y":"x"]=o,l&&(l.style[i?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(a.shadow).add()}return l&&!l.parentElement&&i.doc.body.appendChild(l),this.label}getPlayingField(){let{body:t,documentElement:e}=d,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:a}=this,{inverted:n,plotLeft:l,plotTop:h,polar:d}=o,{plotX:c=0,plotY:p=0}=i,u={},g=n&&i.h||0,{height:m,width:f}=this.getPlayingField(),y=a.getChartPosition(),x=i=>{let a="x"===i;return[i,a?f:m,a?t:e].concat(r?[a?t*y.scaleX:e*y.scaleY,a?y.left-s+(c+l)*y.scaleX:y.top-s+(p+h)*y.scaleY,0,a?f:m]:[a?t:e,a?c+l:p+h,a?l:h,a?l+o.plotWidth:h+o.plotHeight])},b=x("y"),v=x("x"),S,M=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(M=!M);let C=!this.followPointer&&w(i.ttBelow,!d&&!n===M),k=function(t,e,i,o,a,n,l){let h=r?"y"===t?s*y.scaleY:s*y.scaleX:s,d=(i-o)/2,c=o<a-s,p=a+s+o<e,m=a-h-i+d,f=a+h-d;if(C&&p)u[t]=f;else if(!C&&c)u[t]=m;else if(c)u[t]=Math.min(l-o,m-g<0?m:m-g);else{if(!p)return!1;u[t]=Math.max(n,f+g+i>e?f:f+g)}},A=function(t,e,i,o,r){if(r<s||r>e-s)return!1;r<i/2?u[t]=1:r>e-o/2?u[t]=e-o-2:u[t]=r-i/2},T=function(t){[b,v]=[v,b],S=t},P=()=>{!1!==k.apply(0,b)?!1!==A.apply(0,v)||S||(T(!0),P()):S?u.x=u.y=0:(T(!0),P())};return(n&&!d||this.len>1)&&T(),P(),u}hide(t){let e=this;r.clearTimeout(this.hideTimer),t=w(t,this.options.hideDelay),this.isHidden||(this.hideTimer=A(function(){let i=e.getLabel();e.getLabel().animate({opacity:0}
2,{duration:t&&150,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=w(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let o=this,r=n(!o.isHidden&&o.options.animation),a=o.followPointer||(o.len||0)>1,l={x:t,y:e};a||(l.anchorX=i,l.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(l,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:a}=this,n=k(t),h=n[0],d=[],c=s.format,p=s.formatter||this.defaultFormatter,u=i.styledMode,m={},f=this.allowShared;if(!s.enabled||!h.series)return;r.clearTimeout(this.hideTimer),this.allowShared=!(!b(t)&&t.series&&t.series.noSharedTooltip),f=f&&!this.allowShared,this.followPointer=!this.split&&h.series.tooltipOptions.followPointer;let y=this.getAnchor(t,e),v=y[0],M=y[1];a&&this.allowShared?(o.applyInactiveState(n),n.forEach(function(t){t.setState("hover"),d.push(t.getLabelConfig())}),(m=h.getLabelConfig()).points=d):m=h.getLabelConfig(),this.len=d.length;let C=S(c)?l(c,m,i):p.call(m,this),A=h.series;if(this.distance=w(A.tooltipOptions.distance,16),!1===C)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(C,n);else{let t=v,r=M;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),!(i.polar||!1===A.options.clip||n.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))))return void this.hide();{let t=this.getLabel(f&&this.tt||{});(!s.style.width||u)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({class:this.getClassName(h),text:C&&C.join?C.join(""):C}),this.outside&&t.attr({x:g(t.x||0,0,this.getPlayingField().width-(t.width||0))}),u||t.attr({stroke:s.borderColor||h.color||A.color||"#666666"}),this.updatePosition({plotX:v,plotY:M,negative:h.negative,ttBelow:h.ttBelow,h:y[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}x(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:a,plotLeft:n,plotTop:l,scrollablePixelsY:h=0,scrollablePixelsX:u,styledMode:m},distance:f,options:x,options:{positioner:b},pointer:v}=i,{scrollLeft:M=0,scrollTop:C=0}=s.scrollablePlotArea?.scrollingContainer||{},k=i.outside&&"number"!=typeof u?d.documentElement.getBoundingClientRect():{left:M,right:M+o,top:C,bottom:C+r},A=i.getLabel(),T=this.renderer||s.renderer,P=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:L,top:j}=v.getChartPosition(),O=l+C,D=0,E=a-h;function U(t,e,s,o,r=!0){let a,n;return s?(a=P?0:E,n=g(t-o/2,k.left,k.right-o-(i.outside?L:0))):(a=e-O,n=g(n=r?t-o-f:t+f,r?n:k.left,k.right)),{x:n,y:a}}S(t)&&(t=[!1,t]);let I=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},h=r.isHeader,d=h?i:r.series,c=d.tt=function(t,e,s){let o=t,{isHeader:r,series:a}=e;if(!o){let t={padding:x.padding,r:x.borderRadius};m||(t.fill=x.backgroundColor,t["stroke-width"]=x.borderWidth??1),o=T.label("",0,0,x[r?"headerShape":"shape"],void 0,void 0,x.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(A)}return o.isActive=!0,o.attr({text:s}),m||o.css(x.style).attr({stroke:x.borderColor||e.color||a.color||"#333333"}),o}(d.tt,r,s.toString()),p=c.getBBox(),u=p.width+c.strokeWidth();h&&(D=p.height,E+=D,P&&(O-=D));let{anchorX:y,anchorY:v}=function(t){let e,i,{isHeader:s,plotX:o=0,plotY:r=0,series:h}=t;if(s)e=Math.max(n+o,n),i=l+a/2;else{let{xAxis:t,yAxis:s}=h;e=t.pos+g(o,-f,t.len+f),h.shouldShowTooltip(0,s.pos-l+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=g(e,k.left-f,k.right+f),anchorY:i}}(r);if("number"==typeof v){let e=p.height+1,s=b?b.call(i,u,e,r):U(y,v,h,u);t.push({align:b?0:void 0,anchorX:y,anchorY:v,boxWidth:u,point:r,rank:w(s.rank,+!!h),size:e,target:s.y,tt:c,x:s.x})}else c.isActive=!1}return t},[]);!b&&I.some(t=>{let{outside:e}=i,s=(e?L:0)+t.anchorX;return s<k.left&&s+t.boxWidth<k.right||s<L-k.left+t.boxWidth&&k.right-s>s})&&(I=I.map(t=>{let{x:e,y:i}=U(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return y(t,{target:i,x:e})})),i.cleanSplit(),p(I,E);let z={left:L,right:L};I.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&L+e<z.left&&(z.left=L+e),!o&&i.outside&&z.left+s>z.right&&(z.right=L+e))}),I.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:a}}=t,n={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+O,anchorX:s,anchorY:o};if(i.outside&&e<s){let t=L-z.left;t>0&&(a||(n.x=e+t,n.anchorX=s+t),a&&(n.x=(z.right-z.left)/2,n.anchorX=s+t))}t.tt.attr(n)});let{container:B,outside:N,renderer:R}=i;if(N&&B&&R){let{width:t,height:e,x:i,y:s}=A.getBBox();R.setSize(t+i,e+s,!1),B.style.left=z.left+"px",B.style.top=j+"px"}c&&A.attr({opacity:1===A.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[
21]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o&&o.dateTime,a={isFooter:e,labelConfig:t},n=s.xDateFormat,h=s[e?"footerFormat":"headerFormat"];return x(this,"headerFormatter",a,function(e){r&&!n&&v(t.key)&&(n=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&n&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach(function(t){h=h.replace("{point."+t+"}","{point."+t+":"+n+"}")}),i.chart.styledMode&&(h=this.styledModeFormat(h)),e.text=l(h,{point:t,series:i},this.chart)}),a.text}update(t){this.destroy(),this.init(this.chart,M(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:a}=this,{height:n=0,width:l=0}=this.getLabel(),{left:h,top:d,scaleX:c,scaleY:p}=r.getChartPosition(),u=(o.positioner||this.getPosition).call(this,l,n,t),g=(t.plotX||0)+e.plotLeft,f=(t.plotY||0)+e.plotTop,y;a&&i&&(o.positioner&&(u.x+=h-s,u.y+=d-s),y=(o.borderWidth||0)+2*s+2,a.setSize(l+y,n+y,!1),(1!==c||1!==p)&&(m(i,{transform:`scale(${c}, ${p})`}),g*=c,f*=p),g+=h-u.x,f+=d-u.y),this.move(Math.round(u.x),Math.round(u.y||0),g,f)}}return(a=T||(T={})).compose=function(t){C(h,"Core.Tooltip")&&u(t,"afterInit",function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new a(t,t.options.tooltip,this))})},T}),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,s,o){let{animObject:r}=e,{defaultOptions:a}=i,{format:n}=s,{addEvent:l,crisp:h,erase:d,extend:c,fireEvent:p,getNestedProperty:u,isArray:g,isFunction:m,isNumber:f,isObject:y,merge:x,pick:b,syncTimeout:v,removeEvent:S,uniqueKey:M}=o;class w{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,s=i.options.pointValKey||i.pointValKey;return c(this,t=w.prototype.optionsToObject.call(this,t)),this.options=this.options?c(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=w.prototype.getNestedProperty.call(this,s)),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=e??i.autoIncrement():f(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,s=e.options.dataSorting,o=i.hoverPoints,a=r(t.series.chart.renderer.globalAnimation),n=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(S(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),d(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),v(n,a.duration)):n(),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 s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),p(s,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,s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}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=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),this.id??(this.id=M()),this.resolveColor(),t.chart.pointCount++,p(this,"afterInit")}isValid(){return(f(this.x)||this.x instanceof Date)&&f(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,l=0;if(f(t)||null===t)r[s[0]]=t;else if(g(t))for(!i&&t.length>
2o&&("string"==(a=typeof t[0])?r.name=t[0]:"number"===a&&(r.x=t[0]),n++);l<o;)i&&void 0===t[n]||(s[l].indexOf(".")>0?w.prototype.setNestedProperty(r,t[n],s[l]):r[s[l]]=t[n]),n++,l++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:a}=s,n=0,l=0;if(f(i)&&f(e))return t&&(n=r?r.pos:o.plotLeft,l=a?a.pos:o.plotTop),o.inverted&&r&&a?[a.len-e+l,r.len-i+n]:[i+n,e+l]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=b(this.options.colorIndex,a),this.color=b(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:y(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let e=this.series,i=e.tooltipOptions,s=b(i.valueDecimals,""),o=i.valuePrefix||"",r=i.valueSuffix||"";return e.chart.styledMode&&(t=e.chart.tooltip.styledModeFormat(t)),(e.pointArrayMap||["y"]).forEac
2h(function(e){e="{point."+e,(o||r)&&(t=t.replace(RegExp(e+"}","g"),o+e+"}"+r)),t=t.replace(RegExp(e+"}","g"),e+":,."+s+"f}")}),n(t,{point:this,series:this.series},e.chart)}update(t,e,i,s){let o,r=this,a=r.series,n=r.graphic,l=a.chart,h=a.options;function d(){r.applyOptions(t);let s=n&&r.hasMockGraphic,d=null===r.y?!s:s;n&&d&&(r.graphic=n.destroy(),delete r.hasMockGraphic),y(t,!0)&&(n&&n.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=n.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index,a.updateParallelArrays(r,o),h.data[o]=y(h.data[o],!0)||y(t,!0)?r.options:b(t,h.data[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===h.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=b(e,!0),!1===s?d():r.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=b(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEac
2h(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(o.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){let e=x(this.series.options.point,this.options),i=e.events?.[t];m(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=l(this,t,i)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&(S(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(e,i){let s=this.series,o=this.state,r=s.options.states[e||"normal"]||{},n=a.plotOptions[s.type].marker&&s.options.marker,l=n&&!1===n.enabled,h=n&&n.states&&n.states[e||"normal"]||{},d=!1===h.enabled,u=this.marker||{},g=s.chart,m=n&&s.markerAttribs,y=s.halo,x,v,S,M=s.stateMarkerGraphic,w;if((e=e||"")===this.state&&!i||this.selected&&"select"!==e||!1===r.enabled||e&&(d||l&&!1===h.enabled)||e&&u.states&&u.states[e]&&!1===u.states[e].enabled)return;if(this.state=e,m&&(x=s.markerAttribs(this,e)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),e&&this.graphic.addClass("highcharts-point-"+e),!g.styledMode){v=s.pointAttribs(this,e),S=b(g.options.chart.animation,r.animation);let t=v.opacity;s.options.inactiveOtherPoints&&f(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(v,S)}x&&this.graphic.animate(x,b(g.options.chart.animation,h.animation,n.animation)),M&&M.hide()}else e&&h&&(w=u.symbol||s.symbol,M&&M.currentSymbol!==w&&(M=M.destroy()),x&&(M?M[i?"animate":"attr"]({x:x.x,y:x.y}):w&&(s.stateMarkerGraphic=M=g.renderer.symbol(w,x.x,x.y,x.width,x.height).add(s.markerGroup),M.currentSymbol=w)),!g.styledMode&&M&&"inactive"!==this.state&&M.attr(s.pointAttribs(this,e))),M&&(M[e&&this.isInside?"show":"hide"](),M.element.point=this,M.addClass(this.getClassName(),!0));let C=r.halo,k=this.graphic||M,A=k&&k.visibility||"inherit";C&&C.size&&k&&"hidden"!==A&&!this.isCluster?(y||(s.halo=y=g.renderer.path().add(k.parentGroup)),y.show()[i?"animate":"attr"]({d:this.haloPath(C.size)}),y.attr({class:"highcharts-halo highcharts-color-"+b(this.colorIndex,s.colorIndex)+(this.className?" "+this.className:""),visibility:A,zIndex:-1}),y.point=this,g.styledMode||y.attr(c({fill:this.color||s.color,"fill-opacity":C.opacity},t.filterUserAttributes(C.attributes||{})))):y?.point?.haloPath&&!y.point.destroyed&&y.animate({d:y.point.haloPath(0)},null,y.hide),p(this,"afterSetState",{state:e})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(h(e[0],1)-t,e[1]-t,2*t,2*t):[]}}return w}),i(e,"Core/Pointer.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{parse:o}=t,{charts:r,composed:a,isTouchDevice:n}=e,{addEvent:l,attr:h,css:d,extend:c,find:p,fireEvent:u,isNumber:g,isObject:m,objectEach:f,offset:y,pick:x,pushUnique:b,splat:v}=i;class S{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.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&&(S.unbindDocumentMouseUp&&S.unbindDocumentMouseUp.forEach(t=>t()),S.unbindDocumentTouchEnd&&(S.unbindDocumentTouchEnd=S.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),f(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return u(this,"getSelectionMarkerAttrs",i,i=>{let s,{chart:o,zoomHor:r,zoomVert:a}
vendor: 4,201 bytes, line 2
2=this,{mouseDownX:n=0,mouseDownY:l=0}=o,h=i.attrs;h.x=o.plotLeft,h.y=o.plotTop,h.width=r?1:o.plotWidth,h.height=a?1:o.plotHeight,r&&(h.width=Math.max(1,Math.abs(s=t-n)),h.x=(s>0?0:s)+n),a&&(h.height=Math.max(1,Math.abs(s=e-l)),h.y=(s>0?0:s)+l)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:r,panKey:a,selectionMarkerFill:n}=e.options.chart,l=e.plotLeft,h=e.plotTop,d=e.plotWidth,c=e.plotHeight,p=m(r)?r.enabled:r,u=a&&t[`${a}Key`],g=t.chartX,f=t.chartY,y,x=this.selectionMarker;if((!x||!x.touch)&&(g<l?g=l:g>l+d&&(g=l+d),f<h?f=h:f>h+c&&(f=h+c),this.hasDragged=Math.sqrt(Math.pow(i-g,2)+Math.pow(s-f,2)),this.hasDragged>10)){y=e.isInsidePlot(i-l,s-h,{visiblePlotOnly:!0});let{shapeType:a,attrs:d}=this.getSelectionMarkerAttrs(g,f);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&y&&!u&&!x&&(this.selectionMarker=x=e.renderer[a](),x.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||x.attr({fill:n||o("#334eff").setOpacity(.25).get()})),x&&x.attr(d),y&&!x&&p&&e.pan(t,r)}}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 u(this,"getSelectionBox",e),e.result}drop(t){let e,{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);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})}g(i.index)&&(this.selectionMarker=s.destroy())}i&&g(i.index)&&(d(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){var o;let r,a,n,l=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),h=t.searchPoint(i,l);m(h,!0)&&h.series&&(!m(s,!0)||(r=(o=s).distX-h.distX,a=o.dist-h.dist,n=h.series.group?.zIndex-o.series.group?.zIndex,(0!==r&&e?r:0!==a?a:0!==n?n:o.series.index>h.series.index?-1:1)>0))&&(s=h)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,a=t.plotY||0;return t.isNode&&o&&g(o.x)&&g(o.y)&&(r=o.x,a=o.y),e?{chartX:s.len+s.pos-a,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:a+s.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.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:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let a=[],n=function(t){return t.visible&&!(!o&&t.directTouch)&&x(t.options.enableMouseTracking,!0)},l=e,h,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};u(this,"beforeGetHoverData",d),h=l&&!l.stickyTracking?[l]:i.filter(t=>t.stickyTracking&&(d.filter||n)(t));let c=s&&t||!r?t:this.findNearestKDPoint(h,o,r);return l=c&&c.series,c&&(o&&!l.noSharedTooltip?(h=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=p(t.points,function(t){return t.x===c.x&&!t.isNull});m(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),u(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:l,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=h(i,"class")){if(-1!==s.indexOf(e))return!0;
vendor: 4,488 bytes, line 2
2if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),u(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):x(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return c(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(u(i.series,"click",c(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(c(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&u(e,"click",s)))}onContainerMouseDown(t){let i=(1&(t.buttons||t.button))==1;t=this.normalize(t),e.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||i)&&(this.zoomOption(t),i&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=r[x(S.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){r[x(S.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),a=r.length,n=1===a&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,h=1===a&&x(l?.options.followTouchMove,!0);a>1?e.initiated=!0:h&&(e.initiated=!1),s&&e.initiated&&!n&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):h?this.runPointActions(e.normalize(t)):o&&(u(i,"touchpan",{originalEvent:t,touches:r},()=>{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(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,a=i.tooltip,n=a&&a.shared?r:o;t&&n&&v(n).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?a&&n&&v(n).length&&(a.refresh(n),a.shared&&r?r.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))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.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 s=this.chart,o=s.series,a=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,n=!!a&&a.shared,h=e||s.hoverPoint,d=h&&h.series||s.hoverSeries,c=(!t||"touchmove"!==t.type)&&(!!e||d&&d.directTouch&&this.isDirectTouch),u=this.getHoverData(h,d,o,c,n,t);h=u.hoverPoint,d=u.hoverSeries;let g=u.hoverPoints,m=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,f=n&&d&&!d.noSharedTooltip;if(h&&(i||h!==s.hoverPoint||a&&a.isHidden)){if((s.hoverPoints||[]).forEac
2h(function(t){-1===g.indexOf(t)&&t.setState()}),s.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(g),(g||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!h.series)return;s.hoverPoints=g,s.hoverPoint=h,h.firePointEvent("mouseOver",void 0,()=>{a&&h&&a.refresh(f?g:h,t)})}else if(m&&a&&!a.isHidden){let e=a.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&a.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=l(s.container.ownerDocument,"mousemove",t=>r[S.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(e){let i,o=x((e.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=p(g,t=>t.series&&t.series[e.coll]===e)),i||!o?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))),S.unbindDocumentMouseUp||(S.unbindDocumentMouseUp=[]),S.unbindDocumentMouseUp.push(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})),S.unbindDocumentTouchEnd||(S.unbindDocumentTouchEnd=l(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),l(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!n)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=x(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(l(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),l(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||d(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||d(i,{"touch-action":x(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let i=this.chart,s=e.charts[x(S.hoverChartIndex,-1)];if(s&&s!==i){let e={relatedTarget:i.container};t&&!t?.relatedTarget&&(t={...e,...t}),s.pointer?.onContainerMouseLeave(t||e)}s&&s.mouseIsDown||(S.hoverChartIndex=i.index)}touch(t,e){let i,{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),x(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=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=x(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}return(s=S||(S={})).compose=function(t){b(a,"Core.Pointer")&&l(t,"beforeRender",function(){this.pointer=new s(this,this.options)})},S}),i(e,"Core/Legend/LegendSymbol.js",[e["Core/Utilities.js"]],function(t){var e;let{extend:i,merge:s,pick:o}=t;return function(t){function e(t,e,r){let a=this.legendItem=this.legendItem||{},{chart:n,options:l}=this,{baseline:h=0,symbolWidth:d,symbolHeight:c}=t,p=this.symbol||"circle",u=c/2,g=n.renderer,m=a.group,f=h-Math.round((t.fontMetrics?.b||c)*(r?.4:.3)),y={},x,b=l.marker,v=0;
2if(n.styledMode||(y["stroke-width"]=Math.min(l.lineWidth||0,24),l.dashStyle?y.dashstyle=l.dashStyle:"square"===l.linecap||(y["stroke-linecap"]="round")),a.line=g.path().addClass("highcharts-graph").attr(y).add(m),r&&(a.area=g.path().addClass("highcharts-area").add(m)),y["stroke-linecap"]&&(v=Math.min(a.line.strokeWidth(),d)/2),d){let t=[["M",v,f],["L",d-v,f]];a.line.attr({d:t}),a.area?.attr({d:[...t,["L",d-v,h],["L",v,h]]})}if(b&&!1!==b.enabled&&d){let t=Math.min(o(b.radius,u),u);0===p.indexOf("url")&&(b=s(b,{width:c,height:c}),t=0),a.symbol=x=g.symbol(p,d/2-t,f-t,2*t,2*t,i({context:"legend"},b)).addClass("highcharts-point").add(m),x.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||{},s=t.options,r=t.symbolHeight,a=s.squareSymbol,n=a?r:t.symbolWidth;i.symbol=this.chart.renderer.rect(a?(t.symbolWidth-r)/2:0,t.baseline-r+1,n,r,o(t.options.symbolRadius,r/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,s){var o;let{defaultOptions:r}=e,{extend:a,extendClass:n,merge:l}=s;return function(e){function s(t,s){let o=r.plotOptions||{},a=s.defaultOptions,n=s.prototype;return n.type=t,n.pointClass||(n.pointClass=i),!e.seriesTypes[t]&&(a&&(o[t]=a),e.seriesTypes[t]=s,!0)}e.seriesTypes=t.seriesTypes,e.registerSeriesType=s,e.seriesType=function(t,o,h,d,c){let p=r.plotOptions||{};if(o=o||"",p[t]=l(p[o],h),delete e.seriesTypes[t],s(t,n(e.seriesTypes[o]||function(){},d)),e.seriesTypes[t].prototype.type=t,c){class s extends i{}a(s.prototype,c),e.seriesTypes[t].prototype.pointClass=s}return e.seriesTypes[t]}}(o||(o={})),o}),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,s,o,r,a,n,l,h){let{animObject:d,setAnimation:c}=t,{defaultOptions:p}=e,{registerEventOptions:u}=i,{svg:g,win:m}=s,{seriesTypes:f}=n,{arrayMax:y,arrayMin:x,clamp:b,correctFloat:v,crisp:S,defined:M,destroyObjectProperties:w,diffObjects:C,erase:k,error:A,extend:T,find:P,fireEvent:L,getClosestDistance:j,getNestedProperty:O,insertItem:D,isArray:E,isNumber:U,isString:I,merge:z,objectEach:B,pick:N,removeEvent:R,splat:W,syncTimeout:G}=h;class F{constructor(){this.zoneAxis="y"}init(t,e){let i;L(this,"init",{options:e});let s=this,o=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);let r=s.options,a=!1!==r.visible;s.linkedSeries=[],s.bindAxes(),T(s,{name:r.name,state:"",visible:a,selected:!0===r.selected}),u(this,r);let n=r.events;(n&&n.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),o.length&&(i=o[o.length-1]),s._i=N(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",D(this,o)),r.dataSorting&&r.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(r.data,!1),L(this,"afterInit")}is(t){return f[t]&&this instanceof f[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;
2L(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,(N(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(D(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||A(18,!0,s)})}),L(this,"afterBindAxes")}updateParallelArrays(t,e,i){let s=t.series,o=U(e)?function(i){let o="y"===i&&s.toYData?s.toYData(t):t[i];s[i+"Data"][e]=o}:function(t){Array.prototype[e].apply(s[t+"Data"],i)};s.parallelArrays.forEach(o)}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,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e=this.options,i=e.pointIntervalUnit,s=e.relativeXValue,o=this.chart.time,r=this.xIncrement,a,n;return r=N(r,e.pointStart,0),this.pointInterval=n=N(this.pointInterval,e.pointInterval,1),s&&U(t)&&(n*=t),i&&(a=new o.Date(r),"day"===i?o.set("Date",a,o.get("Date",a)+n):"month"===i?o.set("Month",a,o.get("Month",a)+n):"year"===i&&o.set("FullYear",a,o.get("FullYear",a)+n),n=a.getTime()-r),s&&U(t)?r+n:(this.xIncrement=r+n,r)}setDataSortingOptions(){let t=this.options;T(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),M(t.pointRange)||(t.pointRange=1)}setOptions(t){let e,i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=z(t),a=i.styledMode,n={plotOptions:s,userOptions:r};L(this,"setOptions",n);let l=n.plotOptions[this.type],h=o.plotOptions||{},d=h.series||{},c=p.plotOptions[this.type]||{},u=h[this.type]||{};this.userOptions=n.userOptions;let g=z(l,s.series,u,r);this.tooltipOptions=z(p.tooltip,p.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,h.series?.tooltip,u.tooltip,r.tooltip),this.stickyTracking=N(r.stickyTracking,u.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||g.stickyTracking),null===l.marker&&delete g.marker,this.zoneAxis=g.zoneAxis||"y";let m=this.zones=(g.zones||[]).map(t=>({...t}));return(g.negativeColor||g.negativeFillColor)&&!g.zones&&(e={value:g[this.zoneAxis+"Threshold"]||g.threshold||0,className:"highcharts-negative"},a||(e.color=g.negativeColor,e.fillColor=g.negativeFillColor),m.push(e)),m.length&&M(m[m.length-1].value)&&m.push(a?{}:{color:this.color,fillColor:this.fillColor}),L(this,"afterSetOptions",{options:g}),g}getName(){return N(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o,r=this.chart,a=`${t}Index`,n=`${t}Counter`,l=i?.length||r.options.chart.colorCount;!e&&(M(o=N("color"===t?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%l,r[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||p.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,s,o,a=t.id,n=t.x,l=this.points,h=this.options.dataSorting;if(a){let t=this.chart.get(a);t instanceof r&&(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!==(o=i&&i.index)&&(s=!0),void 0===o&&U(n)&&(o=this.xData.indexOf(n,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&U(o)&&l[o]&&l[o].touched&&(o=void 0),o}updateData(t,e){let i=this.options,s=i.dataSorting,o=this.points,r=[],a=this.requireSorting,n=t.length===o.length,l,h,d,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let h,d=M(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=d.x;d.id||U(p)?(-1===(h=this.findPointIndex(d,c))||void 0===h?r.push(t):o[h]&&t!==i.data[h]?(o[h].update(t,!1,null,!1),o[h].touched=!0,a&&(c=h+1)):o[h]&&(o[h].touched=!0),(!n||e!==h||s&&s.enabled||this.hasDerivedData)&&(l=!0)):r.push(t)},this),l)for(h=o.length;h--;)(d=o[h])&&!d.touched&&d.remove&&d.remove(!1,e);else!n||s&&s.enabled?p=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),r.length=0);return o.forEach(function(t){t&&(t.touched=!1)}),!!p&&(r.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,e=!0,i,s){let o=this,r=o.points,a=r&&r.length||0,n=o.options,l=o.chart,h=n.dataSorting,d=o.xAxis,c=n.turboThreshold,p=this.xData,u=this.yData,g=o.pointArrayMap,m=g&&g.length,f=n.keys,y,x,b,v=0,S=1,M;l.options.chart.allowMutatingData||(n.data&&delete o.options.data,o.userOptions.data&&delete o.userOptions.data,M=z(!0,t));let w=(t=M||t||[]).length;if(h&&h.enabled&&(t=this.sortData(t)),l.options.chart.allowMutatingData&&!1!==s&&w&&a&&!o.cropped&&!o.hasGroupedData&&o.visible&&!o.boosted&&(b=this.updateData(t,i)),!b){o.xIncrement=null,o.colorCounter=0,this.parallelArrays.forEach(function(t){o[t+"Data"].length=0});let e=c&&w>c;if(e){let i=o.getFirstValidPoint(t),s=o.getFirstValidPoint(t,w-1,-1),r=t=>!!(E(t)&&(f||U(t[0])));if(U(i)&&U(s))for(y=0;y<w;y++)p[y]=this.autoIncrement(),u[y]=t[y];else if(r(i)&&r(s))if(m)if(i.length===m)for(y=0;y<w;y++)p[y]=this.autoIncrement(),u[y]=t[y];else for(y=0;y<w;y++)x=t[y],p[y]=x[0],u[y]=x.slice(1,m+1);else if(f&&(v=f.indexOf("x"),S=f.indexOf("y"),v=v>=0?v:0,S=S>=0?S:1),1===i.length&&(S=0),v===S)for(y=0;y<w;y++)p[y]=this.autoIncrement(),u[y]=t[y][S];else for(y=0;y<w;y++)x=t[y],p[y]=x[v],u[y]=x[S];else e=!1}if(!e)for(y=0;y<w;y++)x={series:o},o.pointClass.prototype.applyOptions.apply(x,[t[y]]),o.updateParallelArrays(x,y);for(u&&I(u[0])&&A(14,!0,l),o.data=[],o.options.data=o.userOptions.data=t,y=a;y--;)r[y]?.destroy();d&&(d.minRange=d.userMinRange),o.isDirty=l.isDirtyBox=!0,o.isDirtyData=!!r,i=!1}
2"point"===n.legendType&&(this.processData(),this.generatePoints()),e&&l.redraw(i)}sortData(t){let e=this,i=e.options.dataSorting.sortKey||"y",s=function(t,e){return M(e)&&t.pointClass.prototype.optionsToObject.call({series:t},e)||{}};return t.forEach(function(i,o){t[o]=s(e,i),t[o].index=o},this),t.concat().sort((t,e)=>{let s=O(i,t),o=O(i,e);return o<s?-1:+(o>s)}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;i.dataSorting&&i.dataSorting.enabled||!o||(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,i=e.xAxis,s=e.options.cropThreshold,o=i?.logarithmic,r=e.isCartesian,a,n,l=0,h,d,c,p=e.xData,u=e.yData,g=!1,m=p.length;i&&(d=(h=i.getExtremes()).min,c=h.max,g=!!(i.categories&&!i.names.length)),r&&e.sorted&&!t&&(!s||m>s||e.forceCrop)&&(p[m-1]<d||p[0]>c?(p=[],u=[]):e.yData&&(p[0]<d||p[m-1]>c)&&(p=(a=this.cropData(e.xData,e.yData,d,c)).xData,u=a.yData,l=a.start,n=!0));let f=j([o?p.map(o.log2lin):p],()=>e.requireSorting&&!g&&A(15,!1,e.chart));return{xData:p,yData:u,cropped:n,cropStart:l,closestPointRange:f}}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,L(this,"afterProcessData")}cropData(t,e,i,s){let o=t.length,r,a,n=0,l=o;for(r=0;r<o;r++)if(t[r]>=i){n=Math.max(0,r-1);break}for(a=r;a<o;a++)if(t[a]>s){l=a+1;break}return{xData:t.slice(n,l),yData:e.slice(n,l),start:n,end:l}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,o=this.pointClass,r=i.length,a=this.cropStart||0,n=this.hasGroupedData,l=t.keys,h=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c,p,u,g,m=this.data;if(!m&&!n){let t=[];t.length=e.length,m=this.data=t}for(l&&n&&(this.options.keys=!1),g=0;g<r;g++)p=a+g,n?((u=new o(this,[i[g]].concat(W(s[g])))).dataGroup=this.groupMap[d+g],u.dataGroup.options&&(u.options=u.dataGroup.options,T(u,u.dataGroup.options),delete u.dataLabels)):(u=m[p])||void 0===e[p]||(m[p]=u=new o(this,e[p],i[g])),u&&(u.index=n?d+g:p,h[g]=u);if(this.options.keys=l,m&&(r!==(c=m.length)||n))for(g=0;g<c;g++)g!==a||n||(g+=r),m[g]&&(m[g].destroyElements(),m[g].plotX=void 0);this.data=m,this.points=h,L(this,"afterGeneratePoints")}getXExtremes(t){return{min:x(t),max:y(t)}}getExtremes(t,e){let i=this.xAxis,s=this.yAxis,o=[],r=this.requireSorting&&!this.is("column")?1:0,a=!!s&&s.positiveValuesOnly,n=e||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:l,processedYData:h}=this,d,c,p,u,g,m,f,b=0,v=0,S=0;if(this.cropped&&n){let t=this.getProcessedData(!0);l=t.xData,h=t.yData}let M=(t=t||this.stackedYData||h||[]).length,w=l||this.xData;for(i&&(b=(d=i.getExtremes()).min,v=d.max),m=0;m<M;m++)if(u=w[m],c=(U(g=t[m])||E(g))&&((U(g)?g>0:g.length)||!a),p=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!i||(w[m+r]||u)>=b&&(w[m-r]||u)<=v,c&&p)if(f=g.length)for(;f--;)U(g[f])&&(o[S++]=g[f]);else o[S++]=g;let C={activeYData:o,dataMin:x(o),dataMax:y(o)};return L(this,"afterGetExtremes",{dataExtremes:C}),C}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o<s;){if(M(t[o]))return t[o];o+=i}}translate(){this.processedXData||this.processData(),this.generatePoints();let t=this.options,e=t.stacking,i=this.xAxis,s=i.categories,o=this.enabledDataSorting,r=this.yAxis,a=this.points,n=a.length,l=this.pointPlacementToXValue(),h=!!l,d=t.threshold,c=t.startFromThreshold?d:0,p,u,g,m,f=Number.MAX_VALUE;function y(t){return b(t,-1e9,1e9)}for(p=0;p<n;p++){let t,n=a[p],x=n.x,b,S,w=n.y,C=n.low,k=e&&r.stacking?.stacks[(this.negStacks&&w<(c?0:d)?"-":"")+this.stackKey];n.plotX=U(u=i.translate(x,!1,!1,!1,!0,l))?v(y(u)):void 0,e&&this.visible&&k&&k[x]&&(m=this.getStackIndicator(m,x,this.index),!n.isNull&&m.key&&(S=(b=k[x]).points[m.key]),b&&E(S)&&(C=S[0],w=S[1],C===c&&m.key===k[x].base&&(C=N(U(d)?d:r.min)),r.positiveValuesOnly&&M(C)&&C<=0&&(C=void 0),n.total=n.stackTotal=N(b.total),n.percentage=M(n.y)&&b.total?n.y/b.total*100:void 0,n.stackY=w,this.irregularWidths||b.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),n.yBottom=M(C)?y(r.translate(C,!1,!0,!1,!0)):void 0,this.dataModify&&(w=this.dataModify.modifyValue(w,p)),U(w)&&void 0!==n.plotX&&(t=U(t=r.translate(w,!1,!0,!1,!0))?y(t):void 0),n.plotY=t,n.isInside=this.isPointInside(n),n.clientX=h?v(i.translate(x,!1,!1,
2!1,!0,l)):u,n.negative=(n.y||0)<(d||0),n.category=N(s&&s[n.x],n.x),n.isNull||!1===n.visible||(void 0!==g&&(f=Math.min(f,Math.abs(u-g))),g=u),n.zone=this.zones.length?n.getZone():void 0,!n.graphic&&this.group&&o&&(n.isNew=!0)}this.closestPointRangePx=f,L(this,"afterTranslate")}getValidPoints(t,e,i){let s=this.chart;return(t||this.points||[]).filter(function(t){let{plotX:o,plotY:r}=t;return!!((i||!t.isNull&&U(r))&&(!e||s.isInsidePlot(o,r,{inverted:s.inverted})))&&!1!==t.visible})}getClipBox(){let{chart:t,xAxis:e,yAxis:i}=this,{x:s,y:o,width:r,height:a}=z(t.clipBox);return e&&e.len!==t.plotSizeX&&(r=e.len),i&&i.len!==t.plotSizeY&&(a=i.len),t.inverted&&!this.invertible&&([r,a]=[a,r]),{x:s,y:o,width:r,height:a}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:e,markerGroup:i}=this,s=t.sharedClips,o=t.renderer,r=this.getClipBox(),a=this.getSharedClipKey(),n=s[a];n?n.animate(r):s[a]=n=o.clipRect(r),e&&e.clip(!1===this.options.clip?void 0:n),i&&i.clip()}animate(t){let{chart:e,group:i,markerGroup:s}=this,o=e.inverted,r=d(this.options.animation),a=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),n=e.sharedClips[a],l=e.sharedClips[a+"m"];if(t&&i){let t=this.getClipBox();if(n)n.attr("height",t.height);else{t.width=0,o&&(t.x=e.plotHeight),n=e.renderer.clipRect(t),e.sharedClips[a]=n;let i={x:-99,y:-99,width:o?e.plotWidth+199:99,height:o?99:e.plotHeight+199};l=e.renderer.clipRect(i),e.sharedClips[a+"m"]=l}i.clip(n),s?.clip(l)}else if(n&&!n.hasClass("highcharts-animating")){let t=this.getClipBox(),i=r.step;(s?.element.childNodes.length||e.series.length>1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&l?.element&&l.attr(o?"height":"width",t+99)}),n.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),B(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,L(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n,l=this.chart,h=l.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,m=N(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e<t.length;e++)if(o=(s=(i=t[e]).graphic)?"animate":"attr",r=i.marker||{},a=!!i.marker,(m&&void 0===r.enabled||r.enabled)&&!i.isNull&&!1!==i.visible){let t=N(r.symbol,this.symbol,"rect");n=this.markerAttribs(i,i.selected&&"select"),this.enabledDataSorting&&(i.startXPos=g.reversed?-(n.width||0):g.width);let e=!1!==i.isInside;if(!s&&e&&((n.width||0)>0||i.hasImage)&&(i.graphic=s=l.renderer.symbol(t,n.x,n.y,n.width,n.height,a?r:p).add(u),this.enabledDataSorting&&l.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(n),s){let t=this.pointAttribs(i,h||!i.selected?void 0:"select");h?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,a={},n,l,h=N(o.radius,s&&s.radius);e&&(n=s.states[e],h=N((l=o.states&&o.states[e])&&l.radius,n&&n.radius,h&&h+(n&&n.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(h=0);let d=t.pos();return U(h)&&d&&(i.crisp&&(d[0]=S(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),a.x=d[0]-h,a.y=d[1]-h),h&&(a.width=a.height=2*h),a}pointAttribs(t,e){let i=this.options.marker,s=t&&t.options,o=s&&s.marker||{},r=s&&s.color,a=t&&t.color,n=t&&t.zone&&t.zone.color,l,h,d=this.color,c,p,u=N(o.lineWidth,i.lineWidth),g=1;return d=r||n||a||d,c=o.fillColor||i.fillColor||d,p=o.lineColor||i.lineColor||d,e=e||"normal",l=i.states[e]||{},u=N((h=o.states&&o.states[e]||{}).lineWidth,l.lineWidth,u+N(h.lineWidthPlus,l.lineWidthPlus,0)),c=h.fillColor||l.fillColor||c,{stroke:p=h.lineColor||l.lineColor||p,"stroke-width":u,fill:c,opacity:g=N(h.opacity,l.opacity,g)}}
2destroy(t){let e,i,s,o=this,r=o.chart,a=/AppleWebKit\/533/.test(m.navigator.userAgent),n=o.data||[];for(L(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach(function(t){(s=o[t])&&s.series&&(k(s.series,o),s.isDirty=s.forceRedraw=!0)}),o.legendItem&&o.chart.legend.destroyItem(o),e=n.length;e--;)(i=n[e])&&i.destroy&&i.destroy();for(let t of o.zones)w(t,void 0,!0);h.clearTimeout(o.animationTimeout),B(o,function(t,e){t instanceof l&&!t.survive&&t[a&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===o&&(r.hoverSeries=void 0),k(r.series,o),r.orderItems("series"),B(o,function(e,i){t&&"hcEvents"===i||delete o[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:a,zoneAxis:n}=this,{inverted:l,renderer:h}=e,d=this[`${n}Axis`],{isXAxis:c,len:p=0}=d||{},u=(i?.strokeWidth()||0)/2+1,g=(t,e=0,i=0)=>{l&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r)<u?i-u*(r<=0?-1:1):s])};if(s.length&&(i||t)&&d&&U(d.min)){let e=d.getExtremes().max,u=t=>{t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=b(d.toPixels(N(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===n&&o.length<r.len)for(let t of o){let{plotX:e,plotY:i,zone:o}=t,r=o&&s[s.indexOf(o)-1];o&&g(o,e,i),r&&g(r,e,i)}let m=[],f=d.toPixels(d.getExtremes().min,!0);s.forEach(e=>{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:n,simpleClip:d}=e,p=0,g=0,y=r.len,x=a.len;c?(p=o,y=f):(g=o,x=f);let b=[["M",p,g],["L",y,g],["L",y,x],["L",p,x],["Z"]],v=[b[0],...s,b[1],b[2],...m,b[3],b[4]];m=s.reverse(),f=o,l&&(u(v),t&&u(b)),n?(n.animate({d:v}),d?.animate({d:b})):(n=e.clip=h.path(v),t&&(d=e.simpleClip=h.path(b))),i&&e.graph?.clip(n),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],a=!r,n={visibility:i,zIndex:s||.1};return M(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(M(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:90*!!o,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||R(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=d(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,l=t.finishedAnimating?0:o.duration;L(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),!1!==i.clip&&t.setClip(),l&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),l&&t.animate?.(),s||(l&&o.defer&&(l+=o.defer),t.animationTimeout=G(()=>{t.afterAnimate()},l||0)),t.isDirty=!1,t.hasRendered=!0,L(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,G(function(){e.kdTree=function t(i,s,o){let r,a,n=i?.length;if(n)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[a=Math.floor(n/2)],left:t(i.slice(0,a),s+1,o),right:t(i.slice(a+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i){let s=this,[o,r]=this.kdAxisArray,a=e?"distX":"dist",n=(s.options.findNearestPointBy||"").indexOf("y")>-1?2:1,l=!!s.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,n,h){let d,c,p,u,g,m,f,y=i.point,x=s.kdAxisArray[n%h],b,v,S=y;d=e[o],c=y[o],p=M(d)&&M(c)?d-c:null,u=e[r],g=y[r],m=M(u)&&M(g)?u-g:0,f=l&&y.marker?.radius||0,y.dist=
2Math.sqrt((p&&p*p||0)+m*m)-f,y.distX=M(p)?Math.abs(p)-f:Number.MAX_VALUE;let w=(e[x]||0)-(y[x]||0)+(l&&y.marker?.radius||0),C=w<0?"left":"right",k=w<0?"right":"left";return i[C]&&(S=(b=t(e,i[C],n+1,h))[a]<S[a]?b:y),i[k]&&Math.sqrt(w*w)<S[a]&&(S=(v=t(e,i[k],n+1,h))[a]<S[a]?v:S),S}(t,this.kdTree,n,n)}pointPlacementToXValue(){let{options:t,xAxis:e}=this,i=t.pointPlacement;return"between"===i&&(i=e.reversed?-.5:.5),U(i)?i*(t.pointRange||e.pointRange):0}isPointInside(t){let{chart:e,xAxis:i,yAxis:s}=this,{plotX:o=-1,plotY:r=-1}=t;return r>=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,a=o.renderer,n=o.options.tooltip?.snap||0,l=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},h="rgba(192,192,192,"+(g?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:h,fill:i?h:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",l))})),L(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a,n=this.options,l=this.data,h=this.chart,d=this.xAxis,c=d&&d.hasNames&&d.names,p=n.data,u=this.xData;e=N(e,!0);let g={series:this};this.pointClass.prototype.applyOptions.apply(g,[t]);let m=g.x;if(a=u.length,this.requireSorting&&m<u[a-1])for(r=!0;a&&u[a-1]>m;)a--;this.updateParallelArrays(g,"splice",[a,0,0]),this.updateParallelArrays(g,a),c&&g.name&&(c[m]=g.name),p.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):(l.shift(),this.updateParallelArrays(g,"shift"),p.shift())),!1!==o&&L(this,"addPoint",{point:g}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,o=s.data,r=o[t],a=s.points,n=s.chart,l=function(){a&&a.length===o.length&&a.splice(t,1),o.splice(t,1),s.options.data.splice(t,1),s.updateParallelArrays(r||{series:s},"splice",[t,1]),r&&r.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&n.redraw()};c(i,n),e=N(e,!0),r?r.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),N(t,!0)&&r.redraw(e)}!1!==i?L(o,"remove",null,a):a()}update(t,e){L(this,"update",{options:t=C(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=f[r].prototype,l=i.finishedAnimating&&{animation:!1},h={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||o.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==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=>i.hasOptionChanged(t)));u=u||r,g&&(p.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&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&T(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=z(o,{index:void 0===o.index?i.index:o.index,pointStart:a?.series?.pointStart??o.pointStart??i.xData?.[0]},!g&&{data:i.options.data},t,l),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let m=!1;if(f[u]){if(m=u!==i.type,i.remove(!1,!1,!1,!0),m)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,f[u].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;T(i,f[u].prototype),t?i.hcEvents=t:delete i.hcEvents}}else A(17,!0,s,{missingModuleFor:u});
2if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(let t of(!1===(d=i.options).visible?(h.graphic=1,h.dataLabel=1):(this.hasMarkerChanged(d,o)&&(h.graphic=1),i.hasDataLabels?.()||(h.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(h).length&&t.destroyElements(h),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),m&&i.linkedSeries.length&&(i.isDirtyData=!0),L(this,"afterUpdate"),N(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=N(s?.[this.type]?.[t],s?.series?.[t]);return o&&!M(r)?i!==o:i!==N(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries;t.pointer?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&L(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&L(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,s=i.options,o=i.graph,r=s.inactiveOtherPoints,a=s.states,n=N(a[t||"normal"]&&a[t||"normal"].animation,i.chart.options.chart.animation),l=s.lineWidth,h=s.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(a[t]&&!1===a[t].enabled)return;if(t&&(l=a[t].lineWidth||l+(a[t].lineWidthPlus||0),h=N(a[t].opacity,h)),o&&!o.dashstyle&&U(l))for(let t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":l},n);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:h},n)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let a=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),L(i,a),!1!==e&&s.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),L(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){o[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return F.defaultOptions=a,F.types=n.seriesTypes,F.registerType=n.registerSeriesType,T(F.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:r,requireSorting:!0,sorted:!0}),n.series=F,F}),i(e,"Core/Legend/Legend.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Series/Point.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n){var l;let{animObject:h,setAnimation:d}=t,{registerEventOptions:c}=e,{composed:p,marginNames:u}=i,{distribute:g}=r,{format:m}=a,{addEvent:f,createElement:y,css:x,defined:b,discardElement:v,find:S,fireEvent:M,isNumber:w,merge:C,pick:k,pushUnique:A,relativeLength:T,stableSort:P,syncTimeout:L}=n;class j{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.symbolWi
vendor: 4,146 bytes, line 2
2dth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),c(this,e),f(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),f(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=k(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=C(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=k(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(C(!0,this.options,t)),"events"in this.options&&c(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,k(e,!0)&&i.redraw(),M(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let{area:i,group:s,label:o,line:r,symbol:a}=t.legendItem||{};if(s?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:s={}}=this,n=s.color,{fillColor:l,fillOpacity:h,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=n),t.stroke&&(t.stroke=n)),t);o?.css(C(e?this.itemStyle:s)),r?.attr(p({stroke:d||t.color})),a&&a.attr(p(c&&a.isMarker?t.pointAttribs():{fill:t.color})),i?.attr(p({fill:l||t.color,"fill-opacity":l?1:h??.75}))}M(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,a=!o.rtl,n=t.checkbox;if(e&&e.element){let o={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s};e[b(e.translateY)?"animate":"attr"](o,void 0,()=>{M(this,"afterPositionItem",{item:t})})}n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&v(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,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r,a=o.checkbox;a&&(r=t+s+a.y+(this.scrollOffset||0)+3,x(a,{left:e.translateX+o.checkboxOffset+a.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r<t+i-6?"":"none"}))},this))}renderTitle(){let t=this.options,e=this.padding,i=t.title,s,o=0;i.text&&(this.title||(this.title=this.chart.renderer.label(i.text,e-3,e-4,void 0,void 0,void 0,t.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(i.style),this.title.add(this.group)),i.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(s=this.title.getBBox()).height,this.offsetWidth=s.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o}setText(t){let e=this.options;t.legendItem.label.attr({text:e.labelFormat?m(e.labelFormat,t,this.chart):e.labelFormatter.call(t)})}renderItem(t){let e=t.legendItem=t.legendItem||{},i=this.chart,s=i.renderer,o=this.options,r="horizontal"===o.layout,a=this.symbolWidth,n=o.symbolPadding||0,l=this.itemStyle,h=this.itemHiddenStyle,d=r?k(o.itemDistance,20):0,c=!o.rtl,p=!t.series,u=!p&&t.series.drawLegendSymbol?t.series:t,g=u.options,m=!!this.createCheckboxForItem&&g&&g.showCheckbox,f=o.useHTML,y=t.options.className,x=e.label,b=a+n+d+20*!!m;!x&&(e.group=s.g("legend-item").addClass("highcharts-"+u.type+"-series highcharts-color-"+t.colorIndex+(y?" "+y:"")+(p?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),e.label=x=s.text("",c?a+n:-n,this.baseline||0,f),i.styledMode||x.css(C(t.visible?l:h)),x.attr({align:c?"left":"right",zIndex:2}).add(e.group),!this.baseline&&(this.fontMetrics=s.fontMetrics(x),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,x.attr("y",this.baseline),this.symbolHeight=k(o.symbolHeight,this.fontMetrics.f),o.squareSymbol&&(this.symbolWi
2dth=k(o.symbolWidth,Math.max(this.symbolHeight,16)),b=this.symbolWidth+n+d+20*!!m,c&&x.attr("x",this.symbolWidth+n))),u.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,x,f)),m&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(i.styledMode||!l.width)&&x.css({width:(o.itemWidth||this.widthOption||i.spacingBox.width)-b+"px"}),this.setText(t);let v=x.getBBox(),S=this.fontMetrics&&this.fontMetrics.h||0;t.itemWidth=t.checkboxOffset=o.itemWidth||e.labelWidth||v.width+b,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(e.labelHeight||(v.height>1.5*S?v.height:S))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?k(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+h>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=h:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):h)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&k(i.showInLegend,!b(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),M(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEac
vendor: 10,993 bytes, line 2
2h(function(r,a){r.test(o)&&!b(t[a])&&(i[u[a]]=Math.max(i[u[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+k(s.margin,12)+e[a]+(i.titleOffset[a]||0)))})}proximatePositions(){let t,e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,a=s,n,l;t.yAxis&&(t.xAxis.options.reversed&&(a=!a),t.points&&(o=S(a?t.points:t.points.slice(0).reverse(),function(t){return w(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,l=t.yAxis.top-e.plotTop,n=t.visible?(o?o.plotY:t.yAxis.height)+(l-.3*r):l+t.yAxis.height,i.push({target:n,size:r,item:t}))},this),g(i,e.plotHeight)))t=o.item.legendItem||{},w(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,a,n,l=this.group,h,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=T(i.width,t.spacingBox.width-s),h=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(h/=2),this.maxLegendWidth=this.widthOption||h,l||(this.group=l=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(l),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),P(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(l)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),a>0&&n>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:a,height:n},d.strokeWidth())),l[r?"show":"hide"](),t.styledMode&&"none"===l.getStyle("display")&&(a=n=0),this.legendWidth=a,this.legendHeight=n,r&&this.align(),this.proximate||this.positionItems(),M(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=C(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(C(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,a="top"===o.verticalAlign,n=this.padding,l=o.maxHeight,h=o.navigation,d=k(h.animation,!0),c=h.arrowSize||12,p=this.pages,u=this.allItems,g=function(t){"number"==typeof t?S.attr({height:t}):S&&(e.clipRect=S.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},m=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(v),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},f,y,x,b=i.spacingBox.height+(a?-r:r)-n,v=this.nav,S=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(b/=2),l&&(b=Math.min(b,l)),p.length=0,t&&b>0&&t>b&&!1!==h.enabled?(this.clipHeight=f=Math.max(b-20-this.titleHeight-n,0),this.currentPage=k(this.currentPage,1),this.fullHeight=t,u.forEach((t,e)=>{let i=(x=t.legendItem||{}).y||0,s=Math.round(x.label.getBBox().height),o=p.length;(!o||i-p[o-1]>f&&(y||i)!==p[o-1])&&(p.push(y||i),o++),x.pageIx=o-1,y&&((u[e-1].legendItem||{}).pageIx=o-1),e===u.length-1&&i+s-p[o-1]>f&&i>p[o-1]&&(p.push(i),x.pageIx=o),i!==y&&(y=i)}),S||(S=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(S)),g(f),v||(this.nav=v=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(v),m("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&h.style&&this.pager.css(h.style),this.pager.add(v),this.down=s.symbol("triangle-down",0,0,c,c).add(v),m("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=b):v&&(g(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,a=this.options.navigation,n=this.pager,l=this.padding,c=this.currentPage+t;c>o&&(c=o),c>0&&(void 0!==e&&d(e,i),this.nav.attr({translateX:l,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===c?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:c+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:c===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===c?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===c?"default":"pointer"}),this.down.attr({fill:c===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:c===o?"default":"pointer"})),this.scrollOffset=-s[c-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=c,this.positionCheckboxes(),L(()=>{M(this,"afterScroll",{currentPage:c})},h(k(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let r=this,a=t.legendItem||{},n=r.chart.renderer.boxWrapper,l=t instanceof o,h=t instanceof s,d="highcharts-legend-"+(l?"point":"series")+"-active",c=r.chart.styledMode,p=i?[e,a.symbol]:[a.group],u=e=>{r.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!l)})})};for(let i of p)i&&i.on("mouseover",function(){t.visible&&u("inactive"),t.setState("hover"),t.visible&&n.addClass(d),c||e.css(r.options.itemHoverStyle)}).on("mouseout",function(){r.chart.styledMode||e.css(C(t.visible?r.itemStyle:r.itemHiddenStyle)),u(""),n.removeClass(d),t.setState()}).on("click",function(e){let i=function(){t.setVisible&&t.setVisible(),u(t.visible?"inactive":"")};n.removeClass(d),M(r,"itemClick",{browserEvent:e,legendItem:t},i),l?t.firePointEvent("legendItemClick",{browserEvent:e}):h&&M(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=y("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),f(t.checkbox,"click",function(e){let i=e.target;M(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}return(l=j||(j={})).compose=function(t){A(p,"Core.Legend")&&f(t,"beforeMargins",function(){this.legend=new l(this,this.options.legend)})},j}),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,s,o,r,a,n,l,h,d,c,p,u){let{animate:g,animObject:m,setAnimation:f}=t,{defaultOptions:y,defaultTime:x}=i,{numberFormat:b}=s,{registerEventOptions:v}=o,{charts:S,doc:M,marginNames:w,svg:C,win:k}=r,{seriesTypes:A}=l,{addEvent:T,attr:P,createElement:L,css:j,defined:O,diffObjects:D,discardElement:E,erase:U,error:I,extend:z,find:B,fireEvent:N,getStyle:R,isArray:W,isNumber:G,isObject:F,isString:X,merge:H,objectEach:Y,pick:V,pInt:_,relativeLength:$,removeEvent:Z,splat:K,syncTimeout:q,uniqueKey:J}=c;class Q{static chart(t,e,i){return new Q(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(X(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:V(t.zoomType,e.type),key:V(t.zoomKey,e.key),pinchType:V(t.pinchType,e.pinchType),singleTouch:V(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:H(e.resetButton,t.resetZoomButton)}}init(t,e){N(this,"init",{args:arguments},function(){let i=H(y,t),s=i.chart;this.userOptions=z({},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 d(t.time):r.time,this.numberFormatter=s.numberFormatter||b,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=S.length,S.push(this),r.chartCount++,v(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),N(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=A[i];s||I(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=K(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?K(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t<r;++t){let e=i[t];e&&(e.index=t,e instanceof n&&(e.name=e.getName()),e.options.isInternal||(s[t]=e.options,o[t]=e.userOptions))}}isInsidePlot(t,e,i={}){let{inverted:s,plotBox:o,plotLeft:r,plotTop:a,scrollablePlotBox:n}=this,{scrollLeft:l=0,scrollTop:h=0}=i.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},d=i.series,c=i.visiblePlotOnly&&n||o,p=i.inverted?e:t,u=i.inverted?t:e,g={x:p,y:u,isInsidePlot:!0,options:i};if(!i.ignoreX){let t=d&&(s&&!this.polar?d.yAxis:d.xAxis)||{pos:r,len:1/0},e=i.paneCoordinates?t.pos+p:r+p;e>=Math.max(l+r,t.pos)&&e<=Math.min(l+r+c.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=i.paneCoordinates?t.pos+u:a+u;e>=Math.max(h+a,t.pos)&&e<=Math.min(h+a+c.height,t.pos+t.len)||(g.isInsidePlot=!1)}return N(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){N(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,a=this.renderer,n=a.isHidden(),l=[],h,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),f(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){h=!0;break}if(h)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);
2i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),t.isDirtyData&&N(t,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,l.push(function(){N(t,"afterSetExtremes",z(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),N(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),N(this,"redraw"),N(this,"render"),n&&this.temporaryDisplay(!0),l.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 s=B(this.axes,i)||B(this.series,i);for(let t=0;!s&&t<e.length;t++)s=B(e[t].points||[],i);return s}getAxes(){let t=this.userOptions;for(let i of(N(this,"getAxes"),["xAxis","yAxis"]))for(let s of t[i]=K(t[i]||{}))new e(this,s,i);N(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((t,e)=>(e.getPointsCollection().forEach(e=>{V(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,s=this.options[t]=H(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(z("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],i=this.renderer,s=this.spacingBox;["title","subtitle","caption"].forEach(function(t){let o=this[t],r=this.options[t],a=r.verticalAlign||"top",n="title"===t?"top"===a?-3:0:"top"===a?e[0]+2:0;if(o){o.css({width:(r.width||s.width+(r.widthAdjust||0))+"px"});let t=i.fontMetrics(o).b,l=Math.round(o.getBBox(r.useHTML).height);o.align(z({y:"bottom"===a?t:n+t,height:l},r),!1,"spacingBox"),r.floating||("top"===a?e[0]=Math.ceil(e[0]+l):"bottom"===a&&(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 o=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,N(this,"afterLayOutTitles"),!this.isDirtyBox&&o&&(this.isDirtyBox=this.isDirtyLegend=o,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:R(this.renderTo,"width",!0)||0,height:R(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height>1&&!(!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height);this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,$(i,this.chartWidth)||(o?s.height:400)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e&&e.style;)e.hcOrigStyle&&(j(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(M.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(M.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,M.body.appendChild(e)),("none"===R(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),j(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==M.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t=this.options,e=t.chart,i="data-highcharts-chart",s=J(),o,r=this.renderTo;r||(this.renderTo=r=e.renderTo),X(r)&&(this.renderTo=r=M.getElementById(r)),r||I(13,!0,this);let n=_(P(r,i));G(n)&&S[n]&&S[n].hasRendered&&S[n].destroy(),P(r,i,this.index),r.innerHTML=p.emptyHTML,e.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();
2let l=this.chartHeight,d=this.chartWidth;j(r,{overflow:"hidden"}),this.styledMode||(o=z({position:"relative",overflow:"hidden",width:d+"px",height:l+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},e.style||{}));let c=L("div",{id:s},o,r);this.container=c,this.getChartSize(),d===this.chartWidth||(d=this.chartWidth,this.styledMode||j(c,{width:V(e.style?.width,d+"px")})),this.containerBox=this.getContainerBox(),this._cursor=c.style.cursor;let u=e.renderer||!C?a.getRendererType(e.renderer):h;if(this.renderer=new u(c,d,l,void 0,e.forExport,t.exporting&&t.exporting.allowHTML,this.styledMode),f(void 0,this),this.setClassName(e.className),this.styledMode)for(let e in t.defs)this.renderer.definition(t.defs[e]);else this.renderer.setStyle(e.style);this.renderer.chartIndex=this.index,N(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!O(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!O(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),N(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i&&i.length&&o(i),w.forEach(function(i,o){O(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return D(this.userOptions,y)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(c.clearTimeout(e.reflowTimeout),e.reflowTimeout=q(function(){e.container&&e.setSize(void 0,void 0,!1)},100*!!t)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=T(k,"resize",e);T(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,f(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:l=0,scrollablePixelsY:h=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(r?g:j)(s.container,{width:`${a+l}px`,height:`${n+h}px`},r),s.setChartSize(!0),o.setSize(a,n,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,N(s,"resize"),setTimeout(()=>{s&&N(s,"endResize")},m(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o,{chartHeight:r,chartWidth:a,inverted:n,spacing:l,renderer:h}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=n?o:s,this.plotSizeY=n?s:o,this.spacingBox=h.spacingBox={x:l[3],y:l[0],width:a-l[3]-l[1],height:r-l[0]-l[2]},this.plotBox=h.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),h.alignElements()),N(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){N(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=i/2;["margin","spacing"].forEach(function(i){let s=e[i],o=F(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,r){t[i][r]=V(e[i+s],o[r])})}
2),w.forEach(function(e,i){t[e]=V(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,l=t.plotBackgroundImage,h=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,m=this.clipBox,f=this.chartBackground,y=this.plotBackground,x=this.plotBorder,b,v,S,M="animate";f||(this.chartBackground=f=e.rect().addClass("highcharts-background").add(),M="attr"),o?b=v=f.strokeWidth():(v=(b=t.borderWidth||0)+8*!!t.shadow,S={fill:a||"none"},(b||f["stroke-width"])&&(S.stroke=t.borderColor,S["stroke-width"]=b),f.attr(S).shadow(t.shadow)),f[M]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),M="animate",y||(M="attr",this.plotBackground=y=e.rect().addClass("highcharts-plot-background").add()),y[M](u),!o&&(y.attr({fill:n||"none"}).shadow(t.plotShadow),l&&(r?(l!==r.attr("href")&&r.attr("href",l),r.animate(u)):this.plotBGImage=e.image(l,h,d,c,p).add())),g?g.animate({width:m.width,height:m.height}):this.clipRect=e.clipRect(m),M="animate",x||(M="attr",this.plotBorder=x=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||x.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),x[M](x.crisp({x:h,y:d,width:c,height:p},-x.strokeWidth())),this.isDirtyBox=!1,N(this,"afterDrawChartBox")}propFromSeries(){let t,e,i,s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(a){for(e=A[o.type],i=o[a]||e&&e.prototype[a],t=r&&r.length;!i&&t--;)(e=A[r[t].type])&&e.prototype[a]&&(i=!0);s[a]=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(X(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=V(t.options.visible,s.options.visible,t.visible))}}),N(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,a=!0,n,l=0;for(let e of(this.setTitle(),N(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new u(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&V(i.reserveSpace,!G(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||s>1)&&l<s;){let e=this.plotWidth,i=this.plotHeight;for(let e of t)0===l?e.setScale():(e.horiz&&a||!e.horiz&&n)&&e.setTickInterval(!0);0===l?this.getAxisMargins():this.getMargins(),a=e/this.plotWidth>(l?1:1.1),n=i/this.plotHeight>(l?1:1.05),l++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=H(!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&&(k.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,s=e.series,o=e.container,a=o&&o.parentNode;for(N(e,"destroy"),e.renderer.forExport?U(S,e):S[e.index]=void 0,r.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),Z(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();
2["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())}),o&&(o.innerHTML=p.emptyHTML,Z(o),a&&E(o)),Y(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.getAxes();let i=W(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),N(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),N(this,"load"),N(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(/</g,"&lt;")}),t.accessibility&&!1===t.accessibility.enabled||I('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(t,e,i){let s,o=this;return t&&(e=V(e,!0),N(o,"addSeries",{options:t},function(){s=o.initSeries(t),o.isDirtyLegend=!0,o.linkSeries(),s.enabledDataSorting&&s.setData(t.data,!1),N(o,"afterAddSeries",{series:s}),e&&o.redraw(i)})),s}addAxis(t,e,i,s){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:s})}addColorAxis(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})}createAxis(t,i){let s=new e(this,i.axis,t);return V(i.redraw,!0)&&this.redraw(i.animation),s}showLoading(t){let e=this,i=e.options,s=i.loading,o=function(){r&&j(r,{left:e.plotLeft+"px",top:e.plotTop+"px",width:e.plotWidth+"px",height:e.plotHeight+"px"})},r=e.loadingDiv,a=e.loadingSpan;r||(e.loadingDiv=r=L("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),a||(e.loadingSpan=a=L("span",{className:"highcharts-loading-inner"},null,r),T(e,"redraw",o)),r.className="highcharts-loading",p.setElementHTML(a,V(t,i.lang.loading,"")),e.styledMode||(j(r,z(s.style,{zIndex:10})),j(a,s.labelStyle),e.loadingShown||(j(r,{opacity:0,display:""}),g(r,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),e.loadingShown=!0,o()}hideLoading(){let t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||g(e,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){j(e,{display:"none"})}})),this.loadingShown=!1}update(t,e,i,s){let o,r,a,n=this,l={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},h=t.isResponsiveOptions,c=[];N(n,"update",{options:t}),h||n.setResponsive(!1,!0),t=D(t,n.options),n.userOptions=H(n.userOptions,t);let p=t.chart;p&&(H(!0,n.options.chart,p),this.setZoomOptions(),"className"in p&&n.setClassName(p.className),("inverted"in p||"polar"in p||"type"in p)&&(n.propFromSeries(),o=!0),"alignTicks"in p&&(o=!0),"events"in p&&v(this,p),Y(p,function(t,e){-1!==n.propsRequireUpdateSeries.indexOf("chart."+e)&&(r=!0),-1!==n.propsRequireDirtyBox.indexOf(e)&&(n.isDirtyBox=!0),-1===n.propsRequireReflow.indexOf(e)||(n.isDirtyBox=!0,h||(a=!0))}),!n.styledMode&&p.style&&n.renderer.setStyle(n.options.chart.style||{})),!n.styledMode&&t.colors&&(this.options.colors=t.colors),t.time&&(this.time===x&&(this.time=new d(t.time)),H(!0,n.options.time,t.time)),Y(t,function(e,i){n[i]&&"function"==typeof n[i].update?n[i].update(e,!1):"function"==typeof n[l[i]]?n[l[i]](e):"colors"!==i&&-1===n.collectionsWithUpdate.indexOf(i)&&H(!0,n.options[i],t[i]),"chart"!==i&&-1!==n.propsRequireUpdateSeries.indexOf(i)&&(r=!0)}),this.collectionsWithUpdate.forEach(function(e){t[e]&&(K(t[e]).forEach(function(t,s){let o,r=O(t.id);r&&(o=n.get(t.id)),!o&&n[e]&&(o=n[e][V(t.index,s)])&&(r&&O(o.options.id)||o.options.isInternal)&&(o=void 0),o&&o.coll===e&&(o.update(t,!1),i&&(o.touched=!0)),!o&&i&&n.collectionsWithInit[e]&&(n.collectionsWithInit[e][0].apply(n,[t].concat(n.collectionsWithInit[e][1]||[]).concat([!1])).touched=!0)}),i&&n[e].forEach(function(t){t.touched||t.options.isInternal?delete t.touched:c.push(t)}))}
2),c.forEach(function(t){t.chart&&t.remove&&t.remove(!1)}),o&&n.axes.forEach(function(t){t.update({},!1)}),r&&n.getSeriesOrderByLinks().forEach(function(t){t.chart&&t.update({},!1)},this);let u=p&&p.width,g=p&&(X(p.height)?$(p.height,u||n.chartWidth):p.height);a||G(u)&&u!==n.chartWidth||G(g)&&g!==n.chartHeight?n.setSize(u,g,s):V(e,!0)&&n.redraw(s),N(n,"afterUpdate",{options:t,redraw:e,animation:s})}setSubtitle(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)}setCaption(t,e){this.applyDescription("caption",t),this.layOutTitles(e)}showResetZoom(){let t=this,e=y.lang,i=t.zooming.resetButton,s=i.theme,o="chart"===i.relativeTo||"spacingBox"===i.relativeTo?null:"plotBox";function r(){t.zoomOut()}N(this,"beforeShowResetZoom",null,function(){t.resetZoomButton=t.renderer.button(e.resetZoom,null,null,r,s).attr({align:i.position.align,title:e.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(i.position,!1,o)}),N(this,"afterShowResetZoom")}zoomOut(){N(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),N(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),j(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:a={},trigger:n}=t,{inverted:l}=this,h=!1,d,c;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),e)){let{horiz:e,len:p,minPointOffset:u=0,options:g,reversed:m}=t,f=e?"width":"height",y=e?"x":"y",x=V(a[f],t.len),b=V(s[f],t.len),v=10>Math.abs(x)?1:x/b,S=(s[y]||0)+b/2-t.pos,M=S-((a[y]??t.pos)+x/2-t.pos)/v,w=m&&!l||!m&&l?-1:1;if(!o&&(S<0||S>t.len))continue;let C=t.toValue(M,!0)+(r||t.isOrdinal?0:u*w),k=t.toValue(M+p/v,!0)-(r||t.isOrdinal?0:u*w||0),A=t.allExtremes;if(C>k&&([C,k]=[k,C]),1===v&&!o&&"yAxis"===t.coll&&!A){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).yData,!0);A??(A={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),G(t.dataMin)&&G(t.dataMax)&&(A.dataMin=Math.min(t.dataMin,A.dataMin),A.dataMax=Math.max(t.dataMax,A.dataMax))}t.allExtremes=A}let{dataMin:T,dataMax:P,min:L,max:j}=z(t.getExtremes(),A||{}),D=T??g.min,E=P??g.max,U=k-C,I=t.categories?0:Math.min(U,E-D),B=D-I*(O(g.min)?0:g.minPadding),N=E+I*(O(g.max)?0:g.maxPadding),R=t.allowZoomOutside||1===v||"zoom"!==n&&v>1,W=Math.min(g.min??B,B,R?L:B),F=Math.max(g.max??N,N,R?j:N);(!t.isOrdinal||t.options.overscroll||1!==v||o)&&(C<W&&(C=W,v>=1&&(k=C+U)),k>F&&(k=F,v>=1&&(C=k-U)),(o||t.series.length&&(C!==L||k!==j)&&C>=W&&k<=F)&&(r?r[t.coll].push({axis:t,min:C,max:k}):(t.isPanning="zoom"!==n,t.isPanning&&(c=!0),t.setExtremes(o?void 0:C,o?void 0:k,!1,!1,{move:M,trigger:n,scale:v}),!o&&(C>W||k<F)&&"mousewheel"!==n&&(d=!0)),h=!0),i&&(this[e?"mouseDownX":"mouseDownY"]=i[e?"chartX":"chartY"]))}return h&&(r?N(this,"selection",r,()=>{delete t.selection,t.trigger="zoom",this.transform(t)}):(!d||c||this.resetZoomButton?!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),h}}return z(Q.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Q.prototype.addAxis,[!0]],yAxis:[Q.prototype.addAxis,[!1]],series:[Q.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroun
2dColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),Q}),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,s){let{stop:o}=t,{composed:r}=e,{addEvent:a,createElement:n,css:l,defined:h,merge:d,pushUnique:c}=s;function p(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new g(this)),t?.applyFixed()}function u(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class g{static compose(t,e,i){c(r,this.compose)&&(a(t,"afterInit",u),a(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),a(e,"render",p),a(i,"show",u))}static afterSetSize(t,e){let i,s,o,{minWidth:r,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:l,inverted:c,renderer:p}=t;if(!p.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=d(t.plotBox),l.width=t.plotWidth+=i,n[c?"height":"width"]+=i,o=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),h(s)&&(t.scrollablePlotBox=d(t.plotBox),l.height=t.plotHeight+=s,n[c?"width":"height"]+=s,o=!1)),h(o)&&!e.skipAxes))for(let e of t.axes)e.horiz===o&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e,s=t.options.chart,o=i.getRendererType(),r=s.scrollablePlotArea||{},h=this.moveFixedElements.bind(this),d={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(d.overflowX="auto"),t.scrollablePixelsY&&(d.overflowY="auto"),this.chart=t;let c=this.parentDiv=n("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),p=this.scrollingContainer=n("div",{className:"highcharts-scrolling"},d,c),u=this.innerContainer=n("div",{className:"highcharts-inner-container"},void 0,p),g=this.fixedDiv=n("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(s.style?.zIndex||0)+2,top:0},void 0,!0),m=this.fixedRenderer=new o(g,t.chartWidth,t.chartHeight,s.style);this.mask=m.path().attr({fill:s.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),p.parentNode.insertBefore(g,p),l(t.renderTo,{overflow:"visible"}),a(t,"afterShowResetZoom",h),a(t,"afterApplyDrilldown",h),a(t,"afterLayOutTitles",h),a(p,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),u.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:r,chartWidth:a,chartHeight:n,container:d,plotHeight:c,plotLeft:p,plotTop:u,plotWidth:g,scrollablePixelsX:m=0,scrollablePixelsY:f=0}=t,{scrollPositionX:y=0,scrollPositionY:x=0}=t.options.chart.scrollablePlotArea||{},b=a+m,v=n+f;e.setSize(a,n),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),o(t.container),l(d,{width:`${b}px`,height:`${v}px`}),t.renderer.boxWrapper.attr({width:b,height:v,viewBox:["0 0",b,v].join(" ")}),t.chartBackground?.attr({width:b,height:v}),l(s,{width:`${a}px`,height:`${n}px`}),h(i)||(s.scrollLeft=m*y,s.scrollTop=f*x);let S=u-r[0]-1,M=p-r[3]-1,w=u+c+r[2]+1,C=p+g+r[1]+1,k=p+g-m,A=u+c-f,T=[["M",0,0]];m?T=[["M",0,S],["L",p-1,S],["L",p-1,w],["L",0,w],["Z"],["M",k,S],["L",a,S],["L",a,w],["L",k,w],["Z"]]:f&&(T=[["M",M,0],["L",M,u-1],["L",C,u-1],["L",C,0],["Z"],["M",M,A],["L",M,n],["L",C,n],["L",C,A],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:T})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,a=g.fixedSelectors;for(let n of(s&&!i?t=".highcharts-yaxis":s&&i||o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&a.push(`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`),a))[].forEach.call(e.querySelectorAll(n),t=>
2{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}return g.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],g}),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:s}=t,{series:o}=e,{destroyObjectProperties:r,fireEvent:a,isNumber:n,pick:l}=i;return class{constructor(t,e,i,s,o){let r=t.chart.inverted,a=t.reversed;this.axis=t;let n=this.isNegative=!!i!=!!a;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?n?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":n?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?n?"right":"left":"center")}destroy(){r(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,o=i.format,r=o?s(o,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=e.renderer.label(r,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:r,padding:l(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,a(this,"afterRender")}setOffset(t,e,i,s,r,h){let{alignOptions:d,axis:c,label:p,options:u,textAlign:g}=this,m=c.chart,f=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:r,xAxis:h}),{verticalAlign:y}=d;if(p&&f){let t=p.getBBox(void 0,0),e=p.padding,i="justify"===l(u.overflow,"justify"),s;d.x=u.x||0,d.y=u.y||0;let{x:r,y:a}=this.adjustStackPosition({labelBox:t,verticalAlign:y,textAlign:g});f.x-=r,f.y-=a,p.align(d,!1,f),(s=m.isInsidePlot(p.alignAttr.x+d.x+r,p.alignAttr.y+d.y+a))||(i=!1),i&&o.prototype.justifyDataLabel.call(c,p,d,p.alignAttr,t,f),p.attr({x:p.alignAttr.x,y:p.alignAttr.y,rotation:u.rotation,rotationOriginX:t.width*({left:0,center:.5,right:1})[u.textAlign||"center"],rotationOriginY:t.height/2}),l(!i&&u.crop,!0)&&(s=n(p.x)&&n(p.y)&&m.isInsidePlot(p.x-e+(p.width||0),p.y)&&m.isInsidePlot(p.x+e,p.y)),p[s?"show":"hide"]()}a(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){let s={bottom:0,middle:1,top:2,right:1,center:0,left:-1},o=s[e],r=s[i];return{x:t.width/2+t.width/2*r,y:t.height/2*o}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:a,boxBottom:h}=t,d=e.stacking.usePercentage?100:l(s,this.total,0),c=e.toPixels(d),p=t.xAxis||i.xAxis[0],u=l(o,p.translate(this.x))+r,g=Math.abs(c-e.toPixels(h||n(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),m=i.inverted,f=this.isNegative;return m?{x:(f?c:c-g)-i.plotLeft,y:p.height-u-a+p.top-i.plotTop,width:g,height:a}:{x:u+p.transB-i.plotLeft,y:(f?c-g:c)-i.plotTop,width:a,height:g}}}}),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,s,o){var r;let{getDeferredAnimation:a}=t,{series:{prototype:n}}=i,{addEvent:l,correctFloat:h,defined:d,destroyObjectProperties:c,fireEvent:p,isArray:u,isNumber:g,objectEach:m,pick:f}=o;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,f(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function x(){let t=this.stacking;if(t){let e=t.stacks;m(e,(t,i)=>{c(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function b(){this.stacking||(this.stacking=new k(this))}function v(t,e,i,s){return!d(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function S(){let t,e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.processedXData,a=e.options.stacking,n=e[a+"Stacker"];
2n&&[s,"-"+s].forEach(i=>{let s=r.length,a,l,h;for(;s--;)a=r[s],t=e.getStackIndicator(t,a,e.index,i),l=o[i]?.[a],(h=l?.points[t.key||""])&&n.call(e,h,l,s)})}function M(t,e,i){let s=e.total?100/e.total:0;t[0]=h(t[0]*s),t[1]=h(t[1]*s),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?n.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function C(t,e){let i,o,r,a,n,l,c,p,g,m=e||this.options.stacking;if(!m||!this.reserveSpace()||(({group:"xAxis"})[m]||"yAxis")!==t.coll)return;let y=this.processedXData,x=this.processedYData,b=[],v=x.length,S=this.options,M=S.threshold||0,w=S.startFromThreshold?M:0,C=S.stack,k=e?`${this.type},${m}`:this.stackKey||"",A="-"+k,T=this.negStacks,P=t.stacking,L=P.stacks,j=P.oldStacks;for(P.stacksTouched+=1,c=0;c<v;c++){p=y[c],g=x[c],l=(i=this.getStackIndicator(i,p,this.index)).key||"",L[n=(o=T&&g<(w?0:M))?A:k]||(L[n]={}),L[n][p]||(j[n]?.[p]?(L[n][p]=j[n][p],L[n][p].total=null):L[n][p]=new s(t,t.options.stackLabels,!!o,p,C)),r=L[n][p],null!==g?(r.points[l]=r.points[this.index]=[f(r.cumulative,w)],d(r.cumulative)||(r.base=l),r.touched=P.stacksTouched,i.index>0&&!1===this.singleStacks&&(r.points[l][0]=r.points[this.index+","+p+",0"][0])):(delete r.points[l],delete r.points[this.index]);let e=r.total||0;"percent"===m?(a=o?k:A,e=T&&L[a]?.[p]?(a=L[a][p]).total=Math.max(a.total||0,e)+Math.abs(g)||0:h(e+(Math.abs(g)||0))):"group"===m?(u(g)&&(g=g[0]),null!==g&&e++):e=h(e+(g||0)),"group"===m?r.cumulative=(e||1)-1:r.cumulative=h(f(r.cumulative,w)+(g||0)),r.total=e,null!==g&&(r.points[l].push(r.cumulative),b[c]=r.cumulative,r.hasValidPoints=!0)}"percent"===m&&(P.usePercentage=!0),"group"!==m&&(this.stackedYData=b),P.oldStacks={}}class k{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e,i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,a=s.length;for(this.resetStacks(),this.usePercentage=!1,e=a;e--;)t=s[r?e:a-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e<a;e++)s[e].modifyStacks();p(i,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,m(this.stacks,t=>{m(t,t=>{t.cumulative=t.total})}))}resetStacks(){m(this.stacks,t=>{m(t,(e,i)=>{g(e.touched)&&e.touched<this.stacksTouched?(e.destroy(),delete t[i]):(e.total=null,e.cumulative=null)})})}renderStackTotals(){let t=this.axis,e=t.chart,i=e.renderer,s=this.stacks,o=a(e,t.options.stackLabels?.animation||!1),r=this.stackTotalGroup=this.stackTotalGroup||i.g("stack-labels").attr({zIndex:6,opacity:0}).add();r.translate(e.plotLeft,e.plotTop),m(s,t=>{m(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}return(r||(r={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(l(t,"init",b),l(t,"destroy",x),s.getStacks=y,o.getStackIndicator=v,o.modifyStacks=S,o.percentStacker=M,o.setGroupedPoints=w,o.setStackedPoints=C)},r}),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:s,merge:o,isObject:r}=i;class a extends t{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,a)=>{let n,l=s.graph,h=l?"animate":"attr",d=s.dashStyle||t.dashStyle;l?(l.endX=this.preventGraphAnimation?null:e.xMap,l.animate({d:e})):e.length&&(s.graph=l=this.chart.renderer.path(e).addClass("highcharts-graph"+(a?` highcharts-zone-graph-${a-1} `:" ")+(a&&s.className||"")).attr({zIndex:1}).add(this.group)),l&&!i&&(n={stroke:!a&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},d?n.dashstyle=d:"square"!==t.linecap&&(n["stroke-linecap"]=n["stroke-linejoin"]="round"),l[h](n).shadow(a<2&&t.shadow&&o({filterUnits:"userSpaceOnUse"},r(t.shadow)?t.shadow:{}))),l&&(l.startX=e.xMap,l.isArea=e.isArea)})}getGraphPath(t,e,i){let o=this,r=o.options,a=[],n=[],l,h=r.step,d=(t=t||o.points).reversed;return d&&t.reverse(),(h=({right:1,center:2})[h]||h&&3)&&d&&(h=4-h),(t=this.getValidPoints(t,!1,!(r.connectNulls&&!e&&!i))).forEac
2h(function(d,c){let p,u=d.plotX,g=d.plotY,m=t[c-1],f=d.isNull||"number"!=typeof g;(d.leftCliff||m&&m.rightCliff)&&!i&&(l=!0),f&&!s(e)&&c>0?l=!r.connectNulls:f&&!e?l=!0:(0===c||l?p=[["M",d.plotX,d.plotY]]:o.getPointSpline?p=[o.getPointSpline(t,d,c)]:h?(p=1===h?[["L",m.plotX,g]]:2===h?[["L",(m.plotX+u)/2,m.plotY],["L",(m.plotX+u)/2,g]]:[["L",u,m.plotY]]).push(["L",u,g]):p=[["L",u,g]],n.push(d.x),h&&(n.push(d.x),2===h&&n.push(d.x)),a.push.apply(a,p),l=!1)}),a.xMap=n,o.graphPath=a,a}}return a.defaultOptions=o(t.defaultOptions,{legendSymbol:"lineMarker"}),e.registerSeriesType("line",a),a}),i(e,"Series/Area/AreaSeriesDefaults.js",[],function(){return{threshold:0,legendSymbol:"areaMarker"}}),i(e,"Series/Area/AreaSeries.js",[e["Series/Area/AreaSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{seriesTypes:{line:s}}=e,{extend:o,merge:r,objectEach:a,pick:n}=i;class l extends s{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,a=i.area,n=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(o.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[n](o),a.startX=t.xMap,a.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,o,r=s.prototype.getGraphPath,a=this.options,l=a.stacking,h=this.yAxis,d=[],c=[],p=this.index,u=h.stacking.stacks[this.stackKey],g=a.threshold,m=Math.round(h.getThreshold(a.threshold)),f=n(a.connectNulls,"percent"===l),y=function(i,s,o){let r=t[i],a=l&&u[r.x].points[p],n=r[o+"Null"]||0,f=r[o+"Cliff"]||0,y,x,b=!0;f||n?(y=(n?a[0]:a[1])+f,x=a[0]+f,b=!!n):!l&&t[s]&&t[s].isNull&&(y=x=g),void 0!==y&&(c.push({plotX:e,plotY:null===y?m:h.getThreshold(y),isNull:b,isCliff:!0}),d.push({plotX:e,plotY:null===x?m:h.getThreshold(x),doCurve:!1}))};t=t||this.points,l&&(t=this.getStackPoints(t));for(let s=0,r=t.length;s<r;++s)l||(t[s].leftCliff=t[s].rightCliff=t[s].leftNull=t[s].rightNull=void 0),i=t[s].isNull,e=n(t[s].rectPlotX,t[s].plotX),o=l?n(t[s].yBottom,m):m,i&&!f||(f||y(s,s-1,"left"),i&&!l&&f||(c.push(t[s]),d.push({x:s,plotX:e,plotY:o})),f||y(s,s+1,"right"));let x=r.call(this,c,!0,!0);d.reversed=!0;let b=r.call(this,d,!0,!0),v=b[0];v&&"M"===v[0]&&(b[0]=["L",v[1],v[2]]);let S=x.concat(b);S.length&&S.push(["Z"]);let M=r.call(this,c,!1,f);return this.chart.series.length>1&&l&&c.some(t=>t.isCliff)&&(S.hasStackedCliffs=M.hasStackedCliffs=!0),S.xMap=x.xMap,this.areaPath=S,M}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,l=r.stacking.stacks[this.stackKey],h={},d=r.series,c=d.length,p=r.options.reversedStacks?1:-1,u=d.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;e<t.length;e++)t[e].leftNull=t[e].rightNull=void 0,h[t[e].x]=t[e];a(l,function(t,e){null!==t.total&&s.push(e)}),s.sort(function(t,e){return t-e});let g=d.map(t=>t.visible);
2s.forEach(function(t,a){let m=0,f,y;if(h[t]&&!h[t].isNull)i.push(h[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=l[s[a+i]],n=0;if(r){let i=u;for(;i>=0&&i<c;){let s=d[i].index;!(f=r.points[s])&&(s===e.index?h[t][o]=!0:g[i]&&(y=l[t].points[s])&&(n-=y[1]-y[0])),i+=p}}h[t][1===i?"rightCliff":"leftCliff"]=n});else{let e=u;for(;e>=0&&e<c;){let i=d[e].index;if(f=l[t].points[i]){m=f[1];break}e+=p}m=n(m,0),m=r.translate(m,0,1,0,1),i.push({isNull:!0,plotX:o.translate(t,0,0,0,1),x:t,plotY:m,yBottom:m})}})}return i}}return l.defaultOptions=r(s.defaultOptions,t),o(l.prototype,{singleStacks:!1}),e.registerSeriesType("area",l),l}),i(e,"Series/Spline/SplineSeries.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{line:i}=t.seriesTypes,{merge:s,pick:o}=e;class r extends i{getPointSpline(t,e,i){let s,r,a,n,l=e.plotX||0,h=e.plotY||0,d=t[i-1],c=t[i+1];function p(t){return t&&!t.isNull&&!1!==t.doCurve&&!e.isCliff}if(p(d)&&p(c)){let t=d.plotX||0,i=d.plotY||0,o=c.plotX||0,p=c.plotY||0,u=0;s=(1.5*l+t)/2.5,r=(1.5*h+i)/2.5,a=(1.5*l+o)/2.5,n=(1.5*h+p)/2.5,a!==s&&(u=(n-r)*(a-l)/(a-s)+h-n),r+=u,n+=u,r>i&&r>h?(r=Math.max(i,h),n=2*h-r):r<i&&r<h&&(r=Math.min(i,h),n=2*h-r),n>p&&n>h?(n=Math.max(p,h),r=2*h-n):n<p&&n<h&&(n=Math.min(p,h),r=2*h-n),e.rightContX=a,e.rightContY=n,e.controlPoints={low:[s,r],high:[a,n]}}let u=["C",o(d.rightContX,d.plotX,0),o(d.rightContY,d.plotY,0),o(s,l,0),o(r,h,0),l,h];return d.rightContX=d.rightContY=void 0,u}}return r.defaultOptions=s(i.defaultOptions),t.registerSeriesType("spline",r),r}),i(e,"Series/AreaSpline/AreaSplineSeries.js",[e["Series/Spline/SplineSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{area:s,area:{prototype:o}}=e.seriesTypes,{extend:r,merge:a}=i;class n extends t{}return n.defaultOptions=a(t.defaultOptions,s.defaultOptions),r(n.prototype,{getGraphPath:o.getGraphPath,getStackPoints:o.getStackPoints,drawGraph:o.drawGraph}),e.registerSeriesType("areaspline",n),n}),i(e,"Series/Column/ColumnSeriesDefaults.js",[],function(){return{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}}),i(e,"Series/Column/ColumnSeries.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Series/Column/ColumnSeriesDefaults.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a){let{animObject:n}=t,{parse:l}=e,{noop:h}=s,{clamp:d,crisp:c,defined:p,extend:u,fireEvent:g,isArray:m,isNumber:f,merge:y,pick:x,objectEach:b}=a;class v extends o{animate(t){let e,i,s=this,o=this.yAxis,r=o.pos,a=o.reversed,l=s.options,{clipOffset:h,inverted:c}=this.chart,p={},g=c?"translateX":"translateY";t&&h?(p.scaleY=.001,i=d(o.toPixels(l.threshold),r,r+o.len),c?p.translateX=(i+=a?-Math.floor(h[0]):Math.ceil(h[2]))-o.len:p.translateY=i+=a?Math.ceil(h[0]):-Math.floor(h[2]),s.clipBox&&s.setClip(),s.group.attr(p)):(e=Number(s.group.attr(g)),s.group.animate({scaleY:1},u(n(s.options.animation),{step:function(t,i){s.group&&(p[g]=e+i.pos*(r-e),s.group.attr(p))}})))}init(t,e){super.init.apply(this,arguments);let i=this;(t=i.chart).hasRendered&&t.series.forEach(function(t){t.type===i.type&&(t.isDirty=!0)})}getColumnMetrics(){let t=this,e=t.options,i=t.xAxis,s=t.yAxis,o=i.options.reversedStacks,r=i.reversed&&!o||!i.reversed&&o,a={},n,l=0;!1===e.grouping?l=1:t.chart.series.forEach(function(e){let i,o=e.yAxis,r=e.options;e.type===t.type&&e.reserveSpace()&&s.len===o.len&&s.pos===o.pos&&(r.stacking&&"group"!==r.stacking?(void 0===a[n=e.stackKey]&&(a[n]=l++),i=a[n]):!1!==r.grouping&&(i=l++),e.columnIndex=i)});let h=Math.min(Math.abs(i.transA)*(!i.brokenAxis?.hasBreaks&&i.ordinal?.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),d=h*e.groupPadding,c=(h-2*d)/(l||1),p=Math.min(e.maxPointWidth||i.len,x(e.pointWidth,c*(1-2*e.pointPadding))),u=(t.columnIndex||0)+ +!!r;return t.columnMetrics={width:p,offset:(c-p)/2+(d+u*c-h/2)*(r?-1:1),paddedWidth:c,columnCount:l},t.columnMetrics}crispCol(t,e,i,s){let o=this.borderWidth,r=this.chart.inverted;return s=c(e+s,o,r)-(e=c(e,o,r)),this.options.crisp&&(i=c(t+i,o)-(t=c(t,o))),{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){if(!i.isNull&&s.columnCount>1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,a=0;b(this.xAxis.stacking?.stacks,t=>{if("number"==typeof i.x){let e=t[i.x.toString()];if(e&&m(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!==o.indexOf(t)).sort((t,e)=>e-t);r=t.indexOf(this.index),a=t.length}}}),r=this.xAxis.reversed?a-1-r:r;let n=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+n/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,r=t.borderWidth=x(i.borderWidth,+!s),a=t.xAxis,n=t.yAxis,l=i.threshold,h=x(i.minPointLength,5),c=t.getColumnMetrics(),u=c.width,m=t.pointXOffset=c.offset,y=t.dataMin,b=t.dataMax,v=t.translatedThreshold=n.getThreshold(l),S=t.barW=Math.max(u,1+2*r);i.pointPadding&&(S=Math.ceil(S)),o.prototype.translate.apply(t),t.points.forEac
2h(function(s){let o=x(s.yBottom,v),r=999+Math.abs(o),g=s.plotX||0,M=d(s.plotY,-r,n.len+r),w,C=Math.min(M,o),k=Math.max(M,o)-C,A=u,T=g+m,P=S;h&&Math.abs(k)<h&&(k=h,w=!n.reversed&&!s.negative||n.reversed&&s.negative,f(l)&&f(b)&&s.y===l&&b<=l&&(n.min||0)<l&&(y!==b||(n.max||0)<=l)&&(w=!w,s.negative=!s.negative),C=Math.abs(C-v)>h?o-h:v-(w?h:0)),p(s.options.pointWidth)&&(T-=Math.round(((A=P=Math.ceil(s.options.pointWidth))-u)/2)),i.centerInCategory&&!i.stacking&&(T=t.adjustForMissingColumns(T,A,s,c)),s.barX=T,s.pointWidth=A,s.tooltipPos=e.inverted?[d(n.len+n.pos-e.plotLeft-M,n.pos-e.plotLeft,n.len+n.pos-e.plotLeft),a.len+a.pos-e.plotTop-T-P/2,k]:[a.left-e.plotLeft+T+P/2,d(M+n.pos-e.plotTop,n.pos-e.plotTop,n.len+n.pos-e.plotTop),k],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(T,s.isNull?v:C,P,s.isNull?0:k)}),g(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",a,n,h,d=t&&t.color||this.color,c=t&&t[o]||i[o]||d,p=t&&t.options.dashStyle||i.dashStyle,u=t&&t[r]||i[r]||this[r]||0,g=x(t&&t.opacity,i.opacity,1);t&&this.zones.length&&(n=t.getZone(),d=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(c=n.borderColor||c,p=n.dashStyle||p,u=n.borderWidth||u)),e&&t&&(h=(a=y(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,d=a.color||void 0!==h&&l(d).brighten(a.brightness).get()||d,c=a[o]||c,u=a[r]||u,p=a.dashStyle||p,g=x(a.opacity,g));let m={fill:d,stroke:c,"stroke-width":u,opacity:g};return p&&(m.dashstyle=p),m}drawPoints(t=this.points){let e,i=this,s=this.chart,o=i.options,r=s.renderer,a=o.animationLimit||250;t.forEach(function(t){let n=t.plotY,l=t.graphic,h=!!l,d=l&&s.pointCount<a?"animate":"attr";f(n)&&null!==t.y?(e=t.shapeArgs,l&&t.hasNewShapeType()&&(l=l.destroy()),i.enabledDataSorting&&(t.startXPos=i.xAxis.reversed?-(e&&e.width||0):i.xAxis.width),!l&&(t.graphic=l=r[t.shapeType](e).add(t.group||i.group),l&&i.enabledDataSorting&&s.hasRendered&&s.pointCount<a&&(l.attr({x:t.startXPos}),h=!0,d="animate")),l&&h&&l[d](y(e)),s.styledMode||l[d](i.pointAttribs(t,t.selected&&"select")).shadow(!1!==t.allowShadow&&o.shadow),l&&(l.addClass(t.getClassName(),!0),l.attr({visibility:t.visible?"inherit":"hidden"}))):l&&(t.graphic=l.destroy())})}drawTracker(t=this.points){let e,i=this,s=i.chart,o=s.pointer,r=function(t){let e=o?.getPointFromEvent(t);o&&e&&i.options.enableMouseTracking&&(o.isDirectTouch=!0,e.onMouseOver(t))};t.forEach(function(t){e=m(t.dataLabels)?t.dataLabels:t.dataLabel?[t.dataLabel]:[],t.graphic&&(t.graphic.element.point=t),e.forEach(function(e){(e.div||e.element).point=t})}),i._hasTracking||(i.trackerGroups.forEach(function(t){i[t]&&(i[t].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(t){o?.onTrackerMouseOut(t)}).on("touchstart",r),!s.styledMode&&i.options.cursor&&i[t].css({cursor:i.options.cursor}))}),i._hasTracking=!0),g(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(e){e.type===t.type&&(e.isDirty=!0)}),o.prototype.remove.apply(t,arguments)}}return v.defaultOptions=y(o.defaultOptions,i),u(v.prototype,{directTouch:!0,getSymbol:h,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),r.registerSeriesType("column",v),v}),i(e,"Core/Series/DataLabel.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{getDeferredAnimation:o}=t,{format:r}=e,{defined:a,extend:n,fireEvent:l,isArray:h,isString:d,merge:c,objectEach:p,pick:u,pInt:g,splat:m}=i;return function(t){function e(){return v(this).some(t=>t?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:l}=this,h=this.isCartesian&&r.inverted,d=t.plotX,p=t.plotY,g=i.rotation||0,m=a(d)&&a(p)&&r.isInsidePlot(d,Math.round(p),{inverted:h,paneCoordinates:!0,series:this}),f=0===g&&"justify"===u(i.overflow,l?"none":"justify"),y=this.visible&&!1!==t.visible&&a(d)&&(t.series.forceDL||l&&!f||m||u(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(d,h?s.x+1:s.y+s.height-1,{inverted:h,paneCoordinates:!0,series:this})),x=t.pos();if(y&&x){var b;let a=e.getBBox(),d=e.getBBox(void 0,0),p={right:1,center:.5}[i.align||0]||0,v={bottom:1,middle:.5}[i.verticalAlign||0]||0;if(s=n({x:x[0],y:Math.round(x[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[h?"x":"y"]=0,s[h?"width":"height"]=this.yAxis?.len||0),n(i,{width:a.width,height:a.height}),b=s,l&&this.xAxis&&!f&&this.setDataLabelStartPos(t,e,o,m,b),e.align(c(i,{width:d.width,height:d.height}),!1,s,!1),e.alignAttr.x+=p*(d.width-a.width),e.alignAttr.y+=v*(d.height-a.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(a.width-d.width)/2,y:e.alignAttr.y+(a.height-d.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),f&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,a,s,o);else if(u(i.crop,!0)){let{x:t,y:i}=e.alignAttr;y=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+a.width-1,i+a.height-1,{paneCoordinates:!0,series:this})}i.shape&&!g&&e[o?"attr":"animate"]({anchorX:x[0],anchorY:x[1]})}o&&l&&(e.placed=!1),y||l&&!f?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function f(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){let e;t=t||this.points;let i=this,s=i.chart,n=i.options,h=s.renderer,{backgroundColor:c,plotBackgroun
2dColor:f}=s.options.chart,y=h.getContrast(d(f)&&f||d(c)&&c||"#000000"),x=v(i),{animation:S,defer:M}=x[0],w=M?o(s,S,i):{defer:0,duration:0};l(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(w),t.forEach(t=>{let o=t.dataLabels||[];m(b(x,t.dlOptions||t.options?.dataLabels)).forEach((c,m)=>{let f=c.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s<o||">="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,c),{backgroundColor:x,borderColor:b,distance:v,style:S={}}=c,M,w,C,k,A={},T=o[m],P=!T,L;f&&(w=u(c[t.formatPrefix+"Format"],c.format),M=t.getLabelConfig(),C=a(w)?r(w,M,s):(c[t.formatPrefix+"Formatter"]||c.formatter).call(M,c),k=c.rotation,!s.styledMode&&(S.color=u(c.color,S.color,d(i.color)?i.color:void 0,"#000000"),"contrast"===S.color?("none"!==x&&(L=x),t.contrastColor=h.getContrast("auto"!==L&&L||t.color||i.color),S.color=L||!a(v)&&c.inside||0>g(v||0)||n.stacking?t.contrastColor:y):delete t.contrastColor,n.cursor&&(S.cursor=n.cursor)),A={r:c.borderRadius||0,rotation:k,padding:c.padding,zIndex:1},s.styledMode||(A.fill="auto"===x?t.color:x,A.stroke="auto"===b?t.color:b,A["stroke-width"]=c.borderWidth),p(A,(t,e)=>{void 0===t&&delete A[e]})),!T||f&&a(C)&&!!T.div==!!c.useHTML&&(T.rotation&&c.rotation||T.rotation===c.rotation)||(T=void 0,P=!0),f&&a(C)&&(T?A.text=C:(T=h.label(C,0,0,c.shape,void 0,void 0,c.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(c.className||"")+(c.useHTML?" highcharts-tracker":"")),T&&(T.options=c,T.attr(A),s.styledMode?S.width&&T.css({width:S.width,textOverflow:S.textOverflow}):T.css(S).shadow(c.shadow),l(T,"beforeAddingDataLabel",{labelOptions:c,point:t}),T.added||T.add(e),i.alignDataLabel(t,T,c,void 0,P),T.isActive=!0,o[m]&&o[m]!==T&&o[m].destroy(),o[m]=T))});let c=o.length;for(;c--;)o[c]&&o[c].isActive?o[c].isActive=!1:(o[c]?.destroy(),o.splice(c,1));t.dataLabel=o[0],t.dataLabels=o})),l(this,"afterDrawDataLabels")}function x(t,e,i,s,o,r){let a=this.chart,n=e.align,l=e.verticalAlign,h=t.box?0:t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,u=p?p.top-a.plotTop:0,{x:g=0,y:m=0}=e,f,y;return(f=(i.x||0)+h+c)<0&&("right"===n&&g>=0?(e.align="left",e.inside=!0):g-=f,y=!0),(f=(i.x||0)+s.width-h+c)>a.plotWidth&&("left"===n&&g<=0?(e.align="right",e.inside=!0):g+=a.plotWidth-f,y=!0),(f=i.y+h+u)<0&&("bottom"===l&&m>=0?(e.verticalAlign="top",e.inside=!0):m-=f,y=!0),(f=(i.y||0)+s.height-h+u)>a.plotHeight&&("top"===l&&m<=0?(e.verticalAlign="bottom",e.inside=!0):m+=a.plotHeight-f,y=!0),y&&(e.x=g,e.y=m,t.placed=!r,t.align(e,void 0,o)),y}function b(t,e){let i=[],s;if(h(t)&&!h(e))i=t.map(function(t){return c(t,e)});else if(h(e)&&!h(t))i=e.map(function(e){return c(t,e)});else if(h(t)||h(e)){if(h(t)&&h(e))for(s=Math.max(t.length,e.length);s--;)i[s]=c(t[s],e[s])}else i=c(t,e);return i}function v(t){let e=t.chart.options.plotOptions;return m(b(b(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function S(t,e,i,s,o){let r=this.chart,a=r.inverted,n=this.xAxis,l=n.reversed,h=((a?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=a?o.x:l?-h-c:n.width-h+c,e.startYPos=a?l?this.yAxis.height-h+c:-h-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0}
2,void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let o=t.prototype;o.initDataLabels||(o.initDataLabels=f,o.initDataLabelsGroup=s,o.alignDataLabel=i,o.drawDataLabels=y,o.justifyDataLabel=x,o.setDataLabelStartPos=S,o.hasDataLabels=e)}}(s||(s={})),s}),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,s){var o;let{composed:r}=e,{series:a}=i,{merge:n,pick:l,pushUnique:h}=s;return function(e){function i(t,e,i,s,o){let r=this.chart.inverted,h=t.series,d=(h.xAxis?h.xAxis.len:this.chart.plotSizeX)||0,c=(h.yAxis?h.yAxis.len:this.chart.plotSizeY)||0,p=t.dlBox||t.shapeArgs,u=l(t.below,t.plotY>l(this.translatedThreshold,c)),g=l(i.inside,!!this.options.stacking);if(p){if(s=n(p),"allow"!==i.overflow||!1!==i.crop){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-c;t>0&&t<s.height-1&&(s.height-=t)}r&&(s={x:c-s.y-s.height,y:d-s.x-s.width,width:s.height,height:s.width}),g||(r?(s.x+=u?0:s.width,s.width=0):(s.y+=u?s.height:0,s.height=0))}i.align=l(i.align,!r||g?"center":u?"right":"left"),i.verticalAlign=l(i.verticalAlign,r||g?"middle":u?"top":"bottom"),a.prototype.alignDataLabel.call(this,t,e,i,s,o),i.inside&&t.contrastColor&&e.css({color:t.contrastColor})}e.compose=function(e){t.compose(a),h(r,"ColumnDataLabel")&&(e.prototype.alignDataLabel=i)}}(o||(o={})),o}),i(e,"Series/Bar/BarSeries.js",[e["Series/Column/ColumnSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{extend:s,merge:o}=i;class r extends t{}return r.defaultOptions=o(t.defaultOptions,{}),s(r.prototype,{inverted:!0}),e.registerSeriesType("bar",r),r}),i(e,"Series/Scatter/ScatterSeriesDefaults.js",[],function(){return{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}}),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:s,line:o}=e.seriesTypes,{addEvent:r,extend:a,merge:n}=i;class l extends o{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(s,o){["x","y"].forEach(function(r,a){if(e[r]&&!s.isNull){let n=`plot${r.toUpperCase()}`,l=t[`${r}Axis`],h=e[r]*l.transA;if(l&&!l.logarithmic){let t,e=Math.max(0,(s[n]||0)-h),d=Math.min(l.len,(s[n]||0)+h);s[n]=e+(d-e)*((t=1e4*Math.sin(o+a*i))-Math.floor(t)),"x"===r&&(s.clientX=s.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return l.defaultOptions=n(o.defaultOptions,t),a(l.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),r(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 s,o;let{deg2rad:r}=t,{fireEvent:a,isNumber:n,pick:l,relativeLength:h}=i;return(o=s||(s={})).getCenter=function(){let t=this.options,i=this.chart,s=2*(t.slicedOffset||0),o=i.plotWidth-2*s,r=i.plotHeight-2*s,d=t.center,c=Math.min(o,r),p=t.thickness,u,g=t.size,m=t.innerSize||0,f,y;"string"==typeof g&&(g=parseFloat(g)),"string"==typeof m&&(m=parseFloat(m));let x=[l(d[0],"50%"),l(d[1],"50%"),l(g&&g<0?void 0:t.size,"100%"),l(m&&m<0?void 0:t.innerSize||0,"0%")];for(!i.angular||this instanceof e||(x[3]=0),f=0;f<4;++f)y=x[f],u=f<2||2===f&&/%$/.test(y),x[f]=h(y,[o,r,c,x[2]][f])+(u?s:0);return x[3]>x[2]&&(x[3]=x[2]),n(p)&&2*p<x[2]&&p>0&&(x[3]=x[2]-2*p),a(this,"afterGetCenter",{positions:x}),x},o.getStartAndEndRadians=function(t,e){let i=n(t)?t:0,s=n(e)&&e>i&&e-i<360?e:i+360;return{start:r*(i+-90),end:r*(s+-90)}},s}),i(e,"Series/Pie/PiePoint.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(t,e,
vendor: 7,386 bytes, line 2
2i){let{setAnimation:s}=t,{addEvent:o,defined:r,extend:a,isNumber:n,pick:l,relativeLength:h}=i;class d extends e{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.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){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};o(this,"select",s),o(this,"unselect",s)}isValid(){return n(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let o=this.series;s(i,o.chart),e=l(e,!0),this.sliced=this.options.sliced=t=r(t)?t:!this.sliced,o.options.data[o.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return a(d.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.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:s,touchingSliceAt:o}=e,{series:r}=this,[a,n,l]=r.center,d=l/2,{plotLeft:c,plotWidth:p}=r.chart,u="left"===t.alignment,{x:g,y:m}=t,f=s.x;if(i.crookDistance){let t=h(i.crookDistance,1);f=u?a+d+(p+c-a-d)*(1-t):c+(a-d)*t}else f=a+(n-m)*Math.tan((this.angle||0)-Math.PI/2);let y=[["M",g,m]];return(u?f<=g&&f>=s.x:f>=g&&f<=s.x)&&y.push(["L",f,m]),y.push(["L",s.x,s.y],["L",o.x,o.y]),y}}}),d}),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,s,o,r,a,n,l){let{getStartAndEndRadians:h}=t,{noop:d}=i,{clamp:c,extend:p,fireEvent:u,merge:g,pick:m}=l;class f extends r{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:m(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e,i=this.startAngleRad,s=this.endAngleRad,o=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,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:n.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,a=s.dataLabelPosition,n=a?.distance||0,l=Math.asin(c((t-o[1])/(r+n),-1,1));return o[0]+Math.cos(l)*(r+n)*(e?-1:1)+(n>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let t,e,i,s,o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(a){let n={};e=a.graphic,!a.isNull&&e?(s=a.shapeArgs,t=a.getTranslate(),r.styledMode||(i=o.pointAttribs(a,a.selected&&"select")),a.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),a.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||g(!0,n,i),g(!0,n,s,t),e.animate(n)),e.attr({visibility:a.visible?"inherit":"hidden"}),e.addClass(a.getClassName(),!0)):e&&(a.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){u(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=h(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,a=this.points,n=e.ignoreHiddenPoint,l=a.length,d,c,p,g,m,f,y,x=0;for(t||(this.center=t=this.getCenter()),f=0;f<l;f++){y=a[f],d=o+x*r,y.isValid()&&(!n||y.visible)&&(x+=y.percentage/100),c=o+x*r;let e={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:Math.round(1e3*d)/1e3,end:Math.round(1e3*c)/1e3};y.shapeType="arc",y.shapeArgs=e,(p=(c+d)/2)>1.5*Math.PI?p-=2*Math.PI:p<-Math.PI/2&&(p+=2*Math.PI),y.slicedTranslation={translateX:Math.round(Math.cos(p)*i),translateY:Math.round(Math.sin(p)*i)},g=Math.cos(p)*t[2]/2,m=Math.sin(p)*t[2]/2,y.tooltipPos=[t[0]+.7*g,t[1]+.7*m],y.half=+(p<-Math.PI/2||p>Math.PI/2),y.angle=p}u(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s<e;s++)(o=t[s]).isValid()&&(!i||o.visible)&&(r+=o.y);for(s=0,this.total=r;s<e;s++)(o=t[s]).percentage=r>0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}return f.defaultOptions=g(r.defaultOptions,o),p(f.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:e.prototype.drawTracker,getCenter:t.getCenter,getSymbol:d,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:e.prototype.pointAttribs,pointClass:s,requireSorting:!1,searchPoint:d,trackerGroups:["group","dataLabelsGroup"]}),a.registerSeriesType("pie",f),f}),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,s,o){var r;let{composed:a,noop:n}=e,{distribute:l}=i,{series:h}=s,{arrayMax:d,clamp:c,defined:p,pick:u,pushUnique:g,relativeLength:m}=o;return function(e){let i={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function s(t,e){let{center:i,options:s}=this,o=i[2]/2,r=t.angle||0,a=Math.cos(r),n=Math.sin(r),l=i[0]+a*o,h=i[1]+n*o,d=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);
vendor: 4,374 bytes, line 2
2return{natural:{x:l+a*e,y:h+n*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:l+a*d,y:h+n*d},touchingSliceAt:{x:l,y:h}},distance:e}}function o(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,a=Math.round(i.chartWidth/3),n=t.center,c=n[2]/2,g=n[1],f=[[],[]],y=[0,0,0,0],x=t.dataLabelPositioners,b,v,S,M=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),h.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=n[2]/2,o=e.options,r=m(o?.distance||0,s);0===i&&f[t.half].push(t),!p(o?.style?.width)&&e.getBBox().width>a&&(e.css({width:Math.round(.7*a)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),M=Math.max(M,r)})}),f.forEach((e,a)=>{let h=e.length,d=[],m,f,b=0,w;h&&(t.sortByAngle(e,a-.5),M>0&&(m=Math.max(0,g-c-M),f=Math.min(g+c+M,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,g-c-s.distance),s.bottom=Math.min(g+c+s.distance,i.plotHeight),b=e.getBBox().height||21,e.lineHeight=i.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+e.lineHeight/2,size:b,rank:t.y},d.push(t.distributeBox))})}),l(d,w=f+b-m,w/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(l=>{let h=l.options||{},g=i.distributeBox,m=l.dataLabelPosition,f=m?.natural.y||0,b=h.connectorPadding||0,M=l.lineHeight||21,w=(M-l.getBBox().height)/2,C=0,k=f,A="inherit";if(m){if(d&&p(g)&&m.distance>0&&(void 0===g.pos?A="hidden":(S=g.size,k=x.radialDistributionY(i,l))),h.justify)C=x.justify(i,l,c,n);else switch(h.alignTo){case"connectors":C=x.alignToConnectors(e,a,s,r);break;case"plotEdges":C=x.alignToPlotEdges(l,a,s,r);break;default:C=x.radialDistributionX(t,i,k-w,f,l)}if(m.attribs={visibility:A,align:m.alignment},m.posAttribs={x:C+(h.x||0)+(({left:b,right:-b})[m.alignment]||0),y:k+(h.y||0)-M/2},m.computed.x=C,m.computed.y=k-w,u(h.crop,!0)){let t;C-(v=l.getBBox().width)<b&&1===a?(t=Math.round(v-C+b),y[3]=Math.max(t,y[3])):C+v>s-b&&0===a&&(t=Math.round(C+v-s+b),y[1]=Math.max(t,y[1])),k-S/2<0?y[0]=Math.max(Math.round(-k+S/2),y[0]):k+S/2>o&&(y[2]=Math.max(Math.round(k+S/2-o),y[2])),m.sideOverflow=t}}})}))}),(0===d(y)||this.verifyDataLabelOverflow(y))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{let{connectorColor:o,connectorWidth:r=1}=s.options||{},a=s.dataLabelPosition;if(r){let n;b=s.connector,a&&a.distance>0?(n=!b,b||(s.connector=b=i.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||b.attr({"stroke-width":r,stroke:o||e.color||"#666666"}),b[n?"attr":"animate"]({d:e.getConnectorPath(s)}),b.attr({visibility:a.attribs?.visibility})):b&&(s.connector=b.destroy())}})})))}function r(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function f(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,a=null!==i.size;return!a&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=c(r,o,e[2]-Math.max(t[0],t[2])):(r=c(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r<e[2]?(e[2]=r,e[3]=Math.min(i.thickness?Math.max(0,r-2*i.thickness):Math.max(0,m(i.innerSize||0,r)),r),this.translate(e),this.drawDataLabels&&this.drawDataLabels()):a=!0),a}e.compose=function(e){if(t.compose(h),g(a,"PieDataLabel")){let t=e.prototype;t.dataLabelPositioners=i,t.alignDataLabel=n,t.drawDataLabels=o,t.getDataLabelPosition=s,t.placeDataLabels=r,t.verifyDataLabelOverflow=f}}}(r||(r={})),r}),i(e,"Core/Geometry/GeometryUtilities.js",[],function(){var t,e;return(e=t||(t={})).getCenterOfPoints=function(t){let e=t.reduce((t,e)=>(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},e.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}
2,e.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},e.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,a=!1;for(o=0,r=s-1;o<s;r=o++){let[s,n]=i[o],[l,h]=i[r];n>e!=h>e&&t<(l-s)*(e-n)/(h-n)+s&&(a=!a)}return a},t}),i(e,"Extensions/OverlappingDataLabels.js",[e["Core/Geometry/GeometryUtilities.js"],e["Core/Utilities.js"]],function(t,e){let{pointInPolygon:i}=t,{addEvent:s,fireEvent:o,objectEach:r,pick:a}=e;function n(t){let e=t.length,s=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),r=(t,e)=>{for(let s of t)if(i({x:s[0],y:s[1]},e))return!0;return!1},a,n,h,d,c,p=!1;for(let i=0;i<e;i++)(a=t[i])&&(a.oldOpacity=a.opacity,a.newOpacity=1,a.absoluteBox=function(t){if(t&&(!t.alignAttr||t.placed)){let e=t.box?0:t.padding||0,i=t.alignAttr||{x:t.attr("x"),y:t.attr("y")},s=t.getBBox();return t.width=s.width,t.height=s.height,{x:i.x+(t.parentGroup?.translateX||0)+e,y:i.y+(t.parentGroup?.translateY||0)+e,width:(t.width||0)-2*e,height:(t.height||0)-2*e,polygon:s?.polygon}}}(a));t.sort((t,e)=>(e.labelrank||0)-(t.labelrank||0));for(let i=0;i<e;++i){d=(n=t[i])&&n.absoluteBox;let o=d?.polygon;for(let a=i+1;a<e;++a){c=(h=t[a])&&h.absoluteBox;let e=!1;if(d&&c&&n!==h&&0!==n.newOpacity&&0!==h.newOpacity&&"hidden"!==n.visibility&&"hidden"!==h.visibility){let t=c.polygon;if(o&&t&&o!==t?r(o,t)&&(e=!0):s(d,c)&&(e=!0),e){let t=n.labelrank<h.labelrank?n:h,e=t.text;t.newOpacity=0,e?.element.querySelector("textPath")&&e.hide()}}}}for(let e of t)l(e,this)&&(p=!0);p&&o(this,"afterHideAllOverlappingLabels")}function l(t,e){let i,s,r=!1;return t&&(s=t.newOpacity,t.oldOpacity!==s&&(t.hasClass("highcharts-data-label")?(t[s?"removeClass":"addClass"]("highcharts-data-label-hidden"),i=function(){e.styledMode||t.css({pointerEvents:s?"auto":"none"})},r=!0,t[t.isOld?"animate":"attr"]({opacity:s},void 0,i),o(e,"afterHideOverlappingLabel")):t.attr({opacity:s})),t.isOld=!0),r}function h(){let t=this,e=[];for(let i of t.labelCollectors||[])e=e.concat(i());for(let i of t.yAxis||[])i.stacking&&i.options.stackLabels&&!i.options.stackLabels.allowOverlap&&r(i.stacking.stacks,t=>{r(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=a(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,l(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}return{compose:function(t){let e=t.prototype;e.hideOverlappingLabels||(e.hideOverlappingLabels=n,s(t,"render",h))}}}
vendor: 3,843 bytes, line 2
2),i(e,"Extensions/BorderRadius.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{defaultOptions:s}=t,{noop:o}=e,{addEvent:r,extend:a,isObject:n,merge:l,relativeLength:h}=i,d={radius:0,scope:"stack",where:void 0},c=o,p=o;function u(t,e,i,s,o={}){let r=c(t,e,i,s,o),{innerR:a=0,r:n=i,start:l=0,end:d=0}=o;if(o.open||!o.borderRadius)return r;let p=d-l,g=Math.sin(p/2),m=Math.max(Math.min(h(o.borderRadius||0,n-a),(n-a)/2,n*g/(1+g)),0),f=Math.min(m,p/Math.PI*2*a),y=r.length-1;for(;y--;)!function(t,e,i){let s,o,r,a=t[e],n=t[e+1];if("Z"===n[0]&&(n=t[0]),("M"===a[0]||"L"===a[0])&&"A"===n[0]?(s=a,o=n,r=!0):"A"===a[0]&&("M"===n[0]||"L"===n[0])&&(s=n,o=a),s&&o&&o.params){let a=o[1],n=o[5],l=o.params,{start:h,end:d,cx:c,cy:p}=l,u=n?a-i:a+i,g=u?Math.asin(i/u):0,m=n?g:-g,f=Math.cos(g)*u;r?(l.start=h+m,s[1]=c+f*Math.cos(h),s[2]=p+f*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,c+a*Math.cos(l.start),p+a*Math.sin(l.start)])):(l.end=d-m,o[6]=c+a*Math.cos(l.end),o[7]=p+a*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,c+f*Math.cos(d),p+f*Math.sin(d)])),o[4]=Math.abs(l.end-l.start)<Math.PI?0:1}}(r,y,y>1?f:m);return r}function g(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,o=s.plotOptions?.[this.type]?.borderRadius,r=m(t.borderRadius,n(o)?o:{}),l=e.options.reversed;for(let s of this.points){let{shapeArgs:o}=s;if("roundedRect"===s.shapeType&&o){let{width:n=0,height:d=0,y:c=0}=o,p=c,u=d;if("stack"===r.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),a=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));p=a.y,u=a.height}let g=(s.negative?-1:1)*(l?-1:1)==-1,m=r.where;!m&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(m="all"),m||(m="end");let f=Math.min(h(r.radius,n),n/2,"all"===m?d/2:1/0)||0;"end"===m&&(g&&(p-=f),u+=f),a(o,{brBoxHeight:u,brBoxY:p,r:f})}}}}function m(t,e){return n(t)||(t={radius:t||0}),l(d,e,t)}function f(){let t=m(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,s,o={}){let r=p(t,e,i,s,o),{r:a=0,brBoxHeight:n=s,brBoxY:l=e}=o,h=e-l,d=l+n-(e+s),c=h-a>-.1?0:a,u=d-a>-.1?0:a,g=Math.max(c&&h,0),m=Math.max(u&&d,0),f=[t+c,e],x=[t+i-c,e],b=[t+i,e+c],v=[t+i,e+s-u],S=[t+i-u,e+s],M=[t+u,e+s],w=[t,e+s-u],C=[t,e+c],k=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(g){let t=k(c,c-g);f[0]-=t,x[0]+=t,b[1]=C[1]=e+c-g}if(s<c-g){let o=k(c,c-g-s);b[0]=v[0]=t+i-c+o,S[0]=Math.min(b[0],S[0]),M[0]=Math.max(v[0],M[0]),w[0]=C[0]=t+c-o,b[1]=C[1]=e+s}if(m){let t=k(u,u-m);S[0]+=t,M[0]-=t,v[1]=w[1]=e+s-u+m}if(s<u-m){let o=k(u,u-m-s);b[0]=v[0]=t+i-u+o,x[0]=Math.min(b[0],x[0]),f[0]=Math.max(v[0],f[0]),w[0]=C[0]=t+u-o,v[1]=w[1]=e}return r.length=0,r.push(["M",...f],["L",...x],["A",c,c,0,0,1,...b],["L",...v],["A",u,u,0,0,1,...S],["L",...M],["A",u,u,0,0,1,...w],["L",...C],["A",c,c,0,0,1,...f],["Z"]),r}return{compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;r(t,"afterColumnTranslate",g,{order:9}),r(s,"afterTranslate",f),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),c=o.arc,p=o.roundedRect,o.arc=u,o.roundedRect=y}},optionsToObject:m}}),i(e,"Core/Responsive.js",[e["Core/Utilities.js"]],function(t){var e;let{diffObjects:i,extend:s,find:o,merge:r,pick:a,uniqueKey:n}=t;return function(t){function e(t,e){let i=t.condition;(i.callback||function(){return this.chartWidth<=a(i.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=a(i.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=a(i.minWidth,0)&&this.chartHeight>=a(i.minHeight,0)}).call(this)&&e.push(t._id)}function l(t,e){let s=this.options.responsive,a=this.currentResponsive,l=[],h;
2!e&&s&&s.rules&&s.rules.forEach(t=>{void 0===t._id&&(t._id=n()),this.matchResponsiveRule(t,l)},this);let d=r(...l.map(t=>o((s||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));d.isResponsiveOptions=!0,l=l.toString()||void 0;let c=a&&a.ruleIds;l===c||(a&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(a.undoOptions,t,!0),this.updatingResponsive=!1),l?((h=i(d,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:l,mergedOptions:d,undoOptions:h},this.updatingResponsive||this.update(d,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let i=t.prototype;return i.matchResponsiveRule||s(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/
2BorderRadius.js"],e["Core/Responsive.js"],e["Core/Color/Color.js"],e["Core/Time.js"]],function(t,e,i,s,o,r,a,n,l,h,d,c,p,u,g,m,f,y,x,b,v,S,M,w,C,k,A,T,P,L,j,O,D,E,U,I){return t.AST=r,t.Axis=p,t.Chart=M,t.Color=U,t.DataLabel=j,t.Fx=s,t.HTMLElement=c,t.Legend=v,t.LegendSymbol=S,t.OverlappingDataLabels=t.OverlappingDataLabels||O,t.PlotLineOrBand=m,t.Point=x,t.Pointer=b,t.RendererRegistry=n,t.Series=A,t.SeriesRegistry=T,t.StackItem=k,t.SVGElement=h,t.SVGRenderer=d,t.Templating=a,t.Tick=f,t.Time=I,t.Tooltip=y,t.animate=o.animate,t.animObject=o.animObject,t.chart=M.chart,t.color=U.parse,t.dateFormat=a.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=l.distribute,t.format=a.format,t.getDeferredAnimation=o.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=a.numberFormat,t.seriesType=T.seriesType,t.setAnimation=o.setAnimation,t.setOptions=i.setOptions,t.stop=o.stop,t.time=i.defaultTime,t.timers=s.timers,D.compose(t.Series,t.SVGElement,t.SVGRenderer),P.compose(t.Series.types.column),j.compose(t.Series),u.compose(t.Axis),c.compose(t.SVGRenderer),v.compose(t.Chart),g.compose(t.Axis),O.compose(t.Chart),L.compose(t.Series.types.pie),m.compose(t.Chart,t.Axis),b.compose(t.Chart),E.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}),i(e,"Core/Axis/Color/ColorAxisComposition.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(t,e){var i;let{parse:s}=t,{addEvent:o,extend:r,merge:a,pick:n,splat:l}=e;return function(t){let e;function i(){let{userOptions:t}=this;this.colorAxis=[],t.colorAxis&&(t.colorAxis=l(t.colorAxis),t.colorAxis.map(t=>new e(this,t)))}function h(t){let e=this.chart.colorAxis||[],i=e=>{let i=t.allItems.indexOf(e);-1!==i&&(this.destroyItem(t.allItems[i]),t.allItems.splice(i,1))},s=[],o,r;for(e.forEach(function(t){(o=t.options)&&o.showInLegend&&(o.dataClasses&&o.visible?s=s.concat(t.getDataClassLegendSymbols()):o.visible&&s.push(t),t.series.forEach(function(t){(!t.options.showInLegend||o.dataClasses)&&("point"===t.options.legendType?t.points.forEach(function(t){i(t)}):i(t))}))}),r=s.length;r--;)t.allItems.unshift(s[r])}function d(t){t.visible&&t.item.legendColor&&t.item.legendItem.symbol.attr({fill:t.item.legendColor})}function c(t){this.chart.colorAxis?.forEach(e=>{e.update({},t.redraw)})}function p(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function u(){let t=this.axisTypes;t?-1===t.indexOf("colorAxis")&&t.push("colorAxis"):this.axisTypes=["colorAxis"]}function g(t){let e=this,i=t?"show":"hide";e.visible=e.options.visible=!!t,["graphic","dataLabel"].forEach(function(t){e[t]&&e[t][i]()}),this.series.buildKDTree()}function m(){let t=this,e=this.getPointsCollection(),i=this.options.nullColor,s=this.colorAxis,o=this.colorKey;e.forEach(e=>{let r=e.getNestedProperty(o),a=e.options.color||(e.isNull||null===e.value?i:s&&void 0!==r?s.toColor(r,e):e.color||t.color);a&&e.color!==a&&(e.color=a,"point"===t.options.legendType&&e.legendItem&&e.legendItem.label&&t.chart.legend.colorizeItem(e,e.visible))})}function f(){this.elem.attr("fill",s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}function y(){this.elem.attr("stroke",s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}t.compose=function(t,s,l,x,b){let v,S=s.prototype,M=l.prototype,w=b.prototype;S.collectionsWithUpdate.includes("colorAxis")||(e=t,S.collectionsWithUpdate.push("colorAxis"),S.collectionsWithInit.colorAxis=[S.addColorAxis],o(s,"afterGetAxes",i),v=s.prototype.createAxis,s.prototype.createAxis=function(t,i){if("colorAxis"!==t)return v.apply(this,arguments);let s=new e(this,a(i.axis,{index:this[t].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(t=>{t.series=[]}),this.series.forEach(t=>{t.bindAxes(),t.isDirtyData=!0}),n(i.redraw,!0)&&this.redraw(i.animation),s},M.fillSetter=f,M.strokeSetter=y,o(x,"afterGetAllItems",h),o(x,"afterColorizeItem",d),o(x,"afterUpdate",c),r(w,{optionalAxis:"colorAxis",translateColors:m}),r(w.pointClass.prototype,{setVisible:g}),o(b,"afterTranslate",p,{order:1}),o(b,"bindAxes",u))},t.pointSetVisible=g}(i||(i={})),i}),i(e,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{lineWidth:0,minPadding:0,maxPadding:0,gridLineColor:"#ffffff",gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{distance:8,overflow:"justify",rotation:0},minColor:"#e6e9ff",maxColor:"#0022ff",tickLength:5,showInLegend:!0}}),i(e,"Core/Axis/Color/ColorAxisLike.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(t,e){var i,s;let{parse:o}=t,{merge:r}=e;return(s=i||(i={})).initDataClasses=function(t){let e=this.chart,i=this.legendItem=this.legendItem||{},s=this.options,a=t.dataClasses||[],n,l,h=e.options.chart.colorCount,d=0,c;this.dataClasses=l=[],i.labels=[];for(let t=0,i=a.length;t<i;++t)n=r(n=a[t]),l.push(n),(e.styledMode||!n.color)&&("category"===s.dataClassColor?(e.styledMode||(h=(c=e.options.colors||[]).length,n.color=c[d]
2),n.colorIndex=d,++d===h&&(d=0)):n.color=o(s.minColor).tweenTo(o(s.maxColor),i<2?.5:t/(i-1)))},s.initStops=function(){let t=this.options,e=this.stops=t.stops||[[0,t.minColor||""],[1,t.maxColor||""]];for(let t=0,i=e.length;t<i;++t)e[t].color=o(e[t][1])},s.normalizedValue=function(t){let e=this.max||0,i=this.min||0;return this.logarithmic&&(t=this.logarithmic.log2lin(t)),1-(e-t)/(e-i||1)},s.toColor=function(t,e){let i,s,o,r,a,n,l=this.dataClasses,h=this.stops;if(l){for(n=l.length;n--;)if(s=(a=l[n]).from,o=a.to,(void 0===s||t>=s)&&(void 0===o||t<=o)){r=a.color,e&&(e.dataClass=n,e.colorIndex=a.colorIndex);break}}else{for(i=this.normalizedValue(t),n=h.length;n--&&!(i>h[n][0]););s=h[n]||h[n+1],i=1-((o=h[n+1]||s)[0]-i)/(o[0]-s[0]||1),r=s.color.tweenTo(o.color,i)}return r},i}),i(e,"Core/Axis/Color/ColorAxis.js",[e["Core/Axis/Axis.js"],e["Core/Axis/Color/ColorAxisComposition.js"],e["Core/Axis/Color/ColorAxisDefaults.js"],e["Core/Axis/Color/ColorAxisLike.js"],e["Core/Defaults.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n){let{defaultOptions:l}=o,{series:h}=a,{defined:d,extend:c,fireEvent:p,isArray:u,isNumber:g,merge:m,pick:f,relativeLength:y}=n;l.colorAxis=m(l.xAxis,i);class x extends t{static compose(t,i,s,o){e.compose(x,t,i,s,o)}constructor(t,e){super(t,e),this.coll="colorAxis",this.visible=!0,this.init(t,e)}init(t,e){let i=t.options.legend||{},s=e.layout?"vertical"!==e.layout:"vertical"!==i.layout;this.side=e.side||s?2:1,this.reversed=e.reversed||!s,this.opposite=!s,super.init(t,e,"colorAxis"),this.userOptions=e,u(t.userOptions.colorAxis)&&(t.userOptions.colorAxis[this.index]=e),e.dataClasses&&this.initDataClasses(e),this.initStops(),this.horiz=s,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(t){let e=m(l.colorAxis,t,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&!1!==t.visible});super.setOptions(e),this.options.crosshair=this.options.marker}setAxisSize(){let t=this.chart,e=this.legendItem?.symbol,{width:i,height:s}=this.getSize();e&&(this.left=+e.attr("x"),this.top=+e.attr("y"),this.width=i=+e.attr("width"),this.height=s=+e.attr("height"),this.right=t.chartWidth-this.left-i,this.bottom=t.chartHeight-this.top-s,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?i:s)||x.defaultLegendLength}getOffset(){let t=this.legendItem?.group,e=this.chart.axisOffset[this.side];if(t){this.axisParent=t,super.getOffset();let i=this.chart.legend;i.allItems.forEach(function(t){t instanceof x&&t.drawLegendSymbol(i,t)}),i.render(),this.chart.getMargins(!0),this.chart.series.some(t=>t.isDrilling)||(this.isDirty=!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=e}}setLegendColor(){let t=this.horiz,e=this.reversed,i=+!!e,s=+!e,o=t?[i,0,s,0]:[0,s,0,i];this.legendColor={linearGradient:{x1:o[0],y1:o[1],x2:o[2],y2:o[3]},stops:this.stops}}drawLegendSymbol(t,e){let i=e.legendItem||{},s=t.padding,o=t.options,r=this.options.labels,a=f(o.itemDistance,10),n=this.horiz,{width:l,height:h}=this.getSize(),d=f(o.labelPadding,n?16:30);this.setLegendColor(),i.symbol||(i.symbol=this.chart.renderer.symbol("roundedRect").attr({r:o.symbolRadius??3,zIndex:1}).add(i.group)),i.symbol.attr({x:0,y:(t.baseline||0)-11,width:l,height:h}),i.labelWidth=l+s+(n?a:f(r.x,r.distance)+(this.maxLabelLength||0)),i.labelHeight=h+s+(n?d:0)}setState(t){this.series.forEach(function(e){e.setState(t)})}setVisible(){}getSeriesExtremes(){let t=this.series,e,i,s,o,r,a,n=t.length,l,c;for(this.dataMin=1/0,this.dataMax=-1/0;n--;){if(i=(a=t[n]).colorKey=f(a.options.colorKey,a.colorKey,a.pointValKey,a.zoneAxis,"y"),o=a.pointArrayMap,r=a[i+"Min"]&&a[i+"Max"],a[i+"Data"])e=a[i+"Data"];else if(o){if(e=[],s=o.indexOf(i),l=a.yData,s>=0&&l)for(c=0;c<l.length;c++)e.push(f(l[c][s],l[c]))}else e=a.yData;if(r)a.minColorValue=a[i+"Min"],a.maxColorValue=a[i+"Max"];else{let t=h.prototype.getExtremes.call(a,e);a.minColorValue=t.dataMin,a.maxColorValue=t.dataMax}d(a.minColorValue)&&d(a.maxColorValue)&&(this.dataMin=Math.min(this.dataMin,a.minColorValue),this.dataMax=Math.max(this.dataMax,a.maxColorValue)),r||h.prototype.applyExtremes.call(a)}}drawCrosshair(t,e){let i,s=this.legendItem||{}
2,o=e&&e.plotX,r=e&&e.plotY,a=this.pos,n=this.len;e&&((i=this.toPixels(e.getNestedProperty(e.series.colorKey)))<a?i=a-2:i>a+n&&(i=a+n+2),e.plotX=i,e.plotY=this.len-i,super.drawCrosshair(t,e),e.plotX=o,e.plotY=r,this.cross&&!this.cross.addedToColorAxis&&s.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(s.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(t){let e=this.left,i=t.translatedValue,s=this.top;return g(i)?this.horiz?[["M",i-4,s-6],["L",i+4,s-6],["L",i,s],["Z"]]:[["M",e,i],["L",e-6,i+6],["L",e-6,i-6],["Z"]]:super.getPlotLinePath(t)}update(t,e){let i=this.chart.legend;this.series.forEach(t=>{t.isDirtyData=!0}),(t.dataClasses&&i.allItems||this.dataClasses)&&this.destroyItems(),super.update(t,e),this.legendItem&&this.legendItem.label&&(this.setLegendColor(),i.colorizeItem(this,!0))}destroyItems(){let t=this.chart,e=this.legendItem||{};if(e.label)t.legend.destroyItem(this);else if(e.labels)for(let i of e.labels)t.legend.destroyItem(i);t.isDirtyLegend=!0}destroy(){this.chart.isDirtyLegend=!0,this.destroyItems(),super.destroy(...[].slice.call(arguments))}remove(t){this.destroyItems(),super.remove(t)}getDataClassLegendSymbols(){let t,e=this,i=e.chart,s=e.legendItem&&e.legendItem.labels||[],o=i.options.legend,a=f(o.valueDecimals,-1),n=f(o.valueSuffix,""),l=t=>e.series.reduce((e,i)=>(e.push(...i.points.filter(e=>e.dataClass===t)),e),[]);return s.length||e.dataClasses.forEach((o,h)=>{let d=o.from,u=o.to,{numberFormatter:g}=i,m=!0;t="",void 0===d?t="< ":void 0===u&&(t="> "),void 0!==d&&(t+=g(d,a)+n),void 0!==d&&void 0!==u&&(t+=" - "),void 0!==u&&(t+=g(u,a)+n),s.push(c({chart:i,name:t,options:{},drawLegendSymbol:r.rectangle,visible:!0,isDataClass:!0,setState:t=>{for(let e of l(h))e.setState(t)},setVisible:function(){this.visible=m=e.visible=!m;let t=[];
2for(let e of l(h))e.setVisible(m),e.hiddenInDataClass=!m,-1===t.indexOf(e.series)&&t.push(e.series);i.legend.colorizeItem(this,m),t.forEach(t=>{p(t,"afterDataClassLegendClick")})}},o))}),s}getSize(){let{chart:t,horiz:e}=this,{height:i,width:s}=this.options,{legend:o}=t.options;return{width:f(d(s)?y(s,t.chartWidth):void 0,o?.symbolWidth,e?x.defaultLegendLength:12),height:f(d(i)?y(i,t.chartHeight):void 0,o?.symbolHeight,e?12:x.defaultLegendLength)}}}return x.defaultLegendLength=200,x.keepProps=["legendItem"],c(x.prototype,s),Array.prototype.push.apply(t.keepProps,x.keepProps),x}),i(e,"masters/modules/coloraxis.src.js",[e["Core/Globals.js"],e["Core/Axis/Color/ColorAxis.js"]],function(t,e){return t.ColorAxis=t.ColorAxis||e,t.ColorAxis.compose(t.Chart,t.Fx,t.Legend,t.Series),t}),i(e,"Maps/MapNavigationDefaults.js",[],function(){return{lang:{zoomIn:"Zoom in",zoomOut:"Zoom out"},mapNavigation:{buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{color:"#666666",fontSize:"1em",fontWeight:"bold"},theme:{fill:"#ffffff",stroke:"#e6e6e6","stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1}}}),i(e,"Maps/MapPointer.js",[e["Core/Utilities.js"]],function(t){var e;let{defined:i,extend:s,pick:o,wrap:r}=t;return function(t){let e,a=0;function n(t){let e=this.chart;t=this.normalize(t),e.options.mapNavigation.enableDoubleClickZoomTo?e.pointer.inClass(t.target,"highcharts-tracker")&&e.hoverPoint&&e.hoverPoint.zoomTo():e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapZoom(.5,void 0,void 0,t.chartX,t.chartY)}function l(t){let s=this.chart,o=i((t=this.normalize(t)).wheelDelta)&&-t.wheelDelta/120||t.deltaY||t.detail;Math.abs(o)>=1&&(a+=Math.abs(o),e&&clearTimeout(e),e=setTimeout(()=>{a=0},50)),a<10&&s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop)&&s.mapView&&s.mapView.zoomBy(-((s.options.mapNavigation.mouseWheelSensitivity-1)*o),void 0,[t.chartX,t.chartY],!(1>Math.abs(o))&&void 0)}function h(t,e,i){let o=this.chart;if(e=t.call(this,e,i),o&&o.mapView){let t=o.mapView.pixelsToLonLat({x:e.chartX-o.plotLeft,y:e.chartY-o.plotTop});t&&s(e,t)}return e}function d(t){let e=this.chart.options.mapNavigation;e&&o(e.enableTouchZoom,e.enabled)&&(this.chart.zooming.pinchType="xy"),t.apply(this,[].slice.call(arguments,1))}t.compose=function(t){let e=t.prototype;e.onContainerDblClick||(s(e,{onContainerDblClick:n,onContainerMouseWheel:l}),r(e,"normalize",h),r(e,"zoomOption",d))}}(e||(e={})),e}),i(e,"Maps/MapSymbols.js",[],function(){let t;function e(e,i,s,o,r){if(r){let t=r?.r||0;r.brBoxY=i-t,r.brBoxHeight=o+t}return t.roundedRect(e,i,s,o,r)}function i(e,i,s,o,r){if(r){let t=r?.r||0;r.brBoxHeight=o+t}return t.roundedRect(e,i,s,o,r)}return{compose:function(s){(t=s.prototype.symbols).bottombutton=e,t.topbutton=i}}}),i(e,"Maps/MapNavigation.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Maps/MapNavigationDefaults.js"],e["Maps/MapPointer.js"],e["Maps/MapSymbols.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){let{setOptions:a}=t,{composed:n}=e,{addEvent:l,extend:h,merge:d,objectEach:c,pick:p,pushUnique:u}=r;function g(t){t&&(t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0)}class m{static compose(t,e,r){s.compose(e),o.compose(r),u(n,"Map.Navigation")&&(l(t,"beforeRender",function(){this.mapNavigation=new m(this),this.mapNavigation.update()}),a(i))}constructor(t){this.chart=t,this.navButtons=[]}update(t){let e=this,i=e.chart,s=e.navButtons,o=function(t){this.handler.call(i,t),g(t)},r=i.options.mapNavigation;for(t&&(r=i.options.mapNavigation=d(i.options.mapNavigation,t));s.length;)s.pop().destroy();!i.renderer.forExport&&p(r.enableButtons,r.enabled)&&(e.navButtonsGroup||(e.navButtonsGroup=i.renderer.g().attr({zIndex:7}).add()),c(r.buttons,(t,a)=>{let n={padding:(t=d(r.buttonOptions,t)).padding};!i.styledMode&&t.theme&&(h(n,t.theme),n.style=d(t.theme.style,t.style));let{text:c,width:p=0,height:u=0,padding:m=0}=t,f=i.renderer.button("+"!==c&&"-"!==c&&c||"",0,0,o,n,void 0,void 0,void 0,"zoomIn"===a?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+({zoomIn:"zoom-in",zoomOut:"zoom
2-out"})[a]).attr({width:p,height:u,title:i.options.lang[a],zIndex:5}).add(e.navButtonsGroup);if("+"===c||"-"===c){let e=p+1,s=[["M",m+3,m+u/2],["L",m+e-3,m+u/2]];"+"===c&&s.push(["M",m+e/2,m+3],["L",m+e/2,m+u-3]),i.renderer.path(s).addClass("highcharts-button-symbol").attr(i.styledMode?{}:{stroke:t.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(f)}if(f.handler=t.onclick,l(f.element,"dblclick",g),s.push(f),h(t,{width:f.width,height:2*(f.height||0)}),i.hasLoaded)f.align(t,!1,t.alignTo);else{let e=l(i,"load",()=>{f.element&&f.align(t,!1,t.alignTo),e()})}}),i.hasLoaded||l(i,"render",function(){let t=i.exportingGroup&&i.exportingGroup.getBBox();if(t){let i=e.navButtonsGroup.getBBox();if(!(i.x>=t.x+t.width||i.x+i.width<=t.x||i.y>=t.y+t.height||i.y+i.height<=t.y)){let s=-i.y-i.height+t.y-5,o=t.y+t.height-i.y+5,a=r.buttonOptions&&r.buttonOptions.verticalAlign;e.navButtonsGroup.attr({translateY:"bottom"===a?s:o})}}})),this.updateEvents(r)}updateEvents(t){let e=this.chart;p(t.enableDoubleClickZoom,t.enabled)||t.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||l(e.container,"dblclick",function(t){e.pointer.onContainerDblClick(t)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),p(t.enableMouseWheelZoom,t.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||l(e.container,"wheel",function(t){return e.pointer.inClass(t.target,"highcharts-no-mousewheel")||(e.pointer.onContainerMouseWheel(t),g(t)),!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}return m}),i(e,"Series/ColorMapComposition.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{column:{prototype:o}}=t.seriesTypes,{addEvent:r,defined:a}=i;return function(t){function i(t){let i=this.series,s=i.chart.renderer;this.moveToTopOnHover&&this.graphic&&(i.stateMarkerGraphic||(i.stateMarkerGraphic=new e(s,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),t?.state==="hover"?(this.graphic.attr({id:this.id}),i.stateMarkerGraphic.attr({href:`${s.url}#${this.id}`,visibility:"visible"})):i.stateMarkerGraphic.attr({href:""}))}t.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},t.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return a(t.color)&&(!t.state||"normal"===t.state)&&(e[this.colorProp||"fill"]=t.color),e},pointAttribs:o.pointAttribs},t.compose=function(t){return r(t.prototype.pointClass,"afterSetState",i),t}}(s||(s={})),s}),i(e,"Core/Chart/MapChart.js",[e["Core/Chart/Chart.js"],e["Core/Defaults.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"]],function(t,e,i,s){var o;let{getOptions:r}=e,{isNumber:a,merge:n,pick:l}=s;class h extends t{init(t,e){let i=r().credits,s=n({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:l(i.mapText,' \xa9 <a href="{geojson.copyrightUrl}">{geojson.copyrightShort}</a>'),mapTextFull:l(i.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},t);super.init(s,e)}mapZoom(t,e,i,s,o){this.mapView&&(a(t)&&(t=Math.log(t)/Math.log(.5)),this.mapView.zoomBy(t,a(e)&&a(i)?this.mapView.projection.inverse([e,i]):void 0,a(s)&&a(o)?[s,o]:void 0))}update(t){t.chart&&"map"in t.chart&&this.mapView?.recommendMapView(this,[t.chart.map,...(this.options.series||[]).map(t=>t.mapData)],!0),super.update.apply(this,arguments)}}return(o=h||(h={})).maps={},o.mapChart=function(t,e,i){return new o(t,e,i)},o.splitPath=function(t){let e;return e="string"==typeof t?(t=t.replace(/([A-Z])/gi," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(t=>/[A-Z]/i.test(t)?t:parseFloat(t)):t,i.prototype.pathToSegments(e)},h}),i(e,"Maps/MapUtilities.js",[],function(){return{boundsFromPath:function(t){let e=-Number.MAX_VALUE,i=Number.MAX_VALUE,s=-Number.MAX_VALUE,o=Number.MAX_VALUE,r;if(t.forEach(t=>{let a=t[t.length-2],n=t[t.length-1];"number"==typeof a&&"number"==typeof n&&(i=Math.min(i,a),e=Math.max(e,a),o=Math.min(o,n),s=Math.max(s,n),r=!0)}),r)return{x1:i,y1:o,x2:e,y2:s}}}}),i(e,"Series/Map/MapPoint.js",[e["Series/ColorMapComposition.js"],e["Maps/MapUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,
vendor: 28,156 bytes, line 2
2i,s){let{boundsFromPath:o}=e,r=i.seriesTypes.scatter.prototype.pointClass,{extend:a,isNumber:n,pick:l}=s;class h extends r{static getProjectedPath(t,e){return t.projectedPath||(e&&t.geometry?(e.hasCoordinates=!0,t.projectedPath=e.path(t.geometry)):t.projectedPath=t.path),t.projectedPath||[]}applyOptions(t,e){let i=this.series,s=super.applyOptions(t,e),o=i.joinBy;if(i.mapData&&i.mapMap){let t=o[1],e=super.getNestedProperty(t),r=void 0!==e&&i.mapMap[e];r?a(s,{...r,name:s.name??r.name}):-1!==i.pointArrayMap.indexOf("value")&&(s.value=s.value||null)}return s}getProjectedBounds(t){let e=o(h.getProjectedPath(this,t)),i=this.properties,s=this.series.chart.mapView;if(e){let o=i&&i["hc-middle-lon"],r=i&&i["hc-middle-lat"];if(s&&n(o)&&n(r)){let i=t.forward([o,r]);e.midX=i[0],e.midY=i[1]}else{let t=i&&i["hc-middle-x"],s=i&&i["hc-middle-y"];e.midX=e.x1+(e.x2-e.x1)*l(this.middleX,n(t)?t:.5);let o=l(this.middleY,n(s)?s:.5);this.geometry||(o=1-o),e.midY=e.y2-(e.y2-e.y1)*o}return e}}onMouseOver(t){s.clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,t):this.series.onMouseOut()}setVisible(t){this.visible=this.options.visible=!!t,this.dataLabel&&this.dataLabel[t?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(t){let e=this.series.chart,i=e.mapView,s=this.bounds;if(i&&s){let o=n(this.insetIndex)&&i.insets[this.insetIndex];if(o){let t=o.projectedUnitsToPixels({x:s.x1,y:s.y1}),e=o.projectedUnitsToPixels({x:s.x2,y:s.y2}),r=i.pixelsToProjectedUnits({x:t.x,y:t.y}),a=i.pixelsToProjectedUnits({x:e.x,y:e.y});s={x1:r.x,y1:r.y,x2:a.x,y2:a.y}}i.fitToBounds(s,void 0,!1),this.series.isDirty=!0,e.redraw(t)}}}return a(h.prototype,{dataLabelOnNull:t.pointMembers.dataLabelOnNull,moveToTopOnHover:t.pointMembers.moveToTopOnHover,isValid:t.pointMembers.isValid}),h}),i(e,"Series/Map/MapSeriesDefaults.js",[e["Core/Utilities.js"]],function(t){let{isNumber:e}=t;return{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let{numberFormatter:t}=this.series.chart,{value:i}=this.point;return e(i)?t(i,-1):this.point.name},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}<br/>"},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}}),i(e,"Maps/MapViewDefaults.js",[],function(){return{center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}}}),i(e,"Maps/GeoJSONComposition.js",[e["Core/Globals.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{win:o}=t,{format:r}=e,{error:a,extend:n,merge:l,wrap:h}=i;return function(t){function e(t){return this.mapView&&this.mapView.lonLatToProjectedUnits(t)}function i(t){return this.mapView&&this.mapView.projectedUnitsToLonLat(t)}function s(t,e){let i=this.options.chart.proj4||o.proj4;if(!i)return void a(21,!1,this);let{jsonmarginX:s=0,jsonmarginY:r=0,jsonres:n=1,scale:l=1,xoffset:h=0,xpan:d=0,yoffset:c=0,ypan:p=0}=e,u=i(e.crs,[t.lon,t.lat]),g=e.cosAngle||e.rotation&&Math.cos(e.rotation),m=e.sinAngle||e.rotation&&Math.sin(e.rotation),f=e.rotation?[u[0]*g+u[1]*m,-u[0]*m+u[1]*g]:u;return{x:((f[0]-h)*l+d)*n+s,y:-(((c-f[1])*l+p)*n-r)}}function d(t,e){let i=this.options.chart.proj4||o.proj4;if(!i)return void a(21,!1,this);if(null===t.y)return;let{jsonmarginX:s=0,jsonmarginY:r=0,jsonres:n=1,scale:l=1,xoffset:h=0,xpan:d=0,yoffset:c=0,ypan:p=0}=e,u={x:((t.x-s)/n-d)/l+h,y:((t.y-r)/n+p)/l+c},g=e.cosAngle||e.rotation&&Math.cos(e.rotation),m=e.sinAngle||e.rotation&&Math.sin(e.rotation),f=i(e.crs,"WGS84",e.rotation?{x:u.x*g+-(u.y*m),y:u.x*m+u.y*g}:u);return{lat:f.y,lon:f.x}}function c(t,e){e||(e=Object.keys(t.objects)[0]);let i=t.objects[e];if(i["hc-decoded-geojson"]&&i["hc-decoded-geojson"].title===t.title)return i["hc-decoded-geojson"];let s=t.arcs;if(t.transform){let e,i,o,r=t.arcs,{scale:a,translate:n}=t.transform;s=[];for(let t=0,l=r.length;t<l;++t){let l=r[t];s.push(e=[]),i=0,o=0;for(let t=0,s=l.length;t<s;++t)e.push([(i+=l[t][0])*a[0]+n[0],(o+=l[t][1])*a[1]+n[1]])}}let o=t=>"number"==typeof t[0]?t.reduce((t,e,i)=>{let o=e<0?s[~e]:s[e];return e<0?(o=o.slice(0,0===i?o.length:o.length-1)).reverse():i&&(o=o.slice(1)),t.concat(o)},[]):t.map(o),r=i.geometries,a=[];for(let t=0,e=r.length;t<e;++t)a.push({type:"Feature",properties:r[t].properties,geometry:{type:r[t].type,coordinates:r[t].coordinates||o(r[t].arcs)}});let n={type:"FeatureCollection",copyright:t.copyright,copyrightShort:t.copyrightShort,copyrightUrl:t.copyrightUrl,features:a,"hc-recommended-mapview":i["hc-recommended-mapview"],bbox:t.bbox,title:t.title};return i["hc-decoded-geojson"]=n,n}function p(t,e){e=l(!0,this.options.credits,e),t.call(this,e),this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})}t.compose=function(t){let o=t.prototype;o.transformFromLatLon||(o.fromLatLonToPoint=e,o.fromPointToLatLon=i,o.transformFromLatLon=s,o.transformToLatLon=d,h(o,"addCredits",p))},t.geojson=function(t,e="map",i){let s=[],o="Topology"===t.type?c(t):t,a=o.features;for(let t=0,i=a.length;t<i;++t){let i,o=a[t],r=o.geometry||{},l=r.type,h=r.coordinates,d=o.properties;if(("map"===e||"mapbubble"===e)&&("Polygon"===l||"MultiPolygon"===l)||"mapline"===e&&("LineString"===l||"MultiLineString"===l)?h.length&&(i={geometry:{coordinates:h,type:l}}):"mappoint"===e&&"Point"===l&&h.length&&(i={geometry:{coordinates:h,type:l}}),i){let t=d&&(d.name||d.NAME),e=d&&d.lon,o=d&&d.lat;s.push(n(i,{lat:"number"==typeof o?o:void 0,lon:"number"==typeof e?e:void 0,name:"string"==typeof t?t:void 0,properties:d}))}}return i&&o.copyrightShort&&(i.chart.mapCredits=r(i.chart.options.credits?.mapText,{geojson:o}),i.chart.mapCreditsFull=r(i.chart.options.credits?.mapTextFull,{geojson:o})),s},t.topo2geo=c}(s||(s={})),s}),i(e,"Core/Geometry/PolygonClip.js",[],function(){function t(s,o,r=!0){let a=o[o.length-1],n,l,h,d=s;for(let t=0;t<o.length;t++){let s=d;n=o[t],d=[],l=r?s[s.length-1]:s[0];for(let t=0;t<s.length;t++)e(a,n,h=s[t])?(e(a,n,l)||d.push(i(a,n,l,h)),d.push(h)):e(a,n,l)&&d.push(i(a,n,l,h)),l=h;a=n}return d}function e(t,e,i){return(e[0]-t[0])*(i[1]-t[1])>(e[1]-t[1])*(i[0]-t[0])}function i(t,e,i,s){let o=[t[0]-e[0],t[1]-e[1]],r=[i[0]-s[0],i[1]-s[1]],a=t[0]*e[1]-t[1]*e[0],n=i[0]*s[1]-i[1]*s[0],l=1/(o[0]*r[1]-o[1]*r[0]),h=[(a*r[0]-n*o[0])*l,(a*r[1]-n*o[1])*l];return h.isIntersection=!0,h}return{clipLineString:function(e,i){let s=[],o=t(e,i,!1);for(let t=1;t<o.length;t++)o[t].isIntersection&&o[t-1].isIntersection&&(s.push(o.splice(0,t)),t=0),t===o.length-1&&s.push(o);return s},clipPolygon:t}}),i(e,"Maps/Projections/LambertConformalConic.js",[],function(){let t=Math.sign||(t=>0===t?0:t>0?1:-1),e=Math.PI/180,i=Math.PI/2,s=t=>Math.tan((i+t)/2);return class{constructor(i){let o=(i.parallels||[]).map(t=>t*e),r=o[0]||0,a=o[1]??r,n=Math.cos(r);"object"==typeof i.projectedBounds&&(this.projectedBounds=i.projectedBounds);let l=r===a?Math.sin(r):Math.log(n/Math.cos(a))/Math.log(s(a)/s(r));1e-10>Math.abs(l)&&(l=1e-10*(t(l)||1)),this.n=l,this.c=n*Math.pow(s(r),l)/l}forward(t){let{c:o,n:r,projectedBounds:a}=this,n=t[0]*e,l=t[1]*e;o>0?l<-i+1e-6&&(l=-i+1e-6):l>i-1e-6&&(l=i-1e-6);let h=o/Math.pow(s(l),r),d=h*Math.sin(r*n)*63.78137,c=(o-h*Math.cos(r*n))*63.78137,p=[d,c];return a&&(d<a.x1||d>a.x2||c<a.y1||c>a.y2)&&(p.outside=!0),p}inverse(s){let{c:o,n:r}=this,a=s[0]/63.78137,n=o-s[1]/63.78137,l=t(r)*Math.sqrt(a*a+n*n),h=Math.atan2(a,Math.abs(n))*t(n);return n*r<0&&(h-=Math.PI*t(a)*t(n)),[h/r/e,(2*Math.atan(Math.pow(o/l,1/r))-i)/e]}}}),i(e,"Maps/Projections/EqualEarth.js",[],function(){let t=Math.sqrt(3)/2;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(e){let i=Math.PI/180,s=Math.asin(t*Math.sin(e[1]*i)),o=s*s,r=o*o*o;return[e[0]*i*Math.cos(s)*74.03120656864502/(t*(1.340264+-.24331799999999998*o+r*(.0062510000000000005+.034164*o))),74.03120656864502*s*(1.340264+-.081106*o+r*(893e-6+.003796*o))]}inverse(e){let i=e[0]/74.03120656864502,s=e[1]/74.03120656864502,o=180/Math.PI,r=s,a,n,l,h;for(let t=0;t<12&&(n=(a=r*r)*a*a,l=r*(1.340264+-.081106*a+n*(893e-6+.003796*a))-s,r-=h=l/(1.340264+-.24331799999999998*a+n*(.0062510000000000005+.034164*a)),!(1e-9>Math.abs(h)));++t);n=(a=r*r)*a*a;let d=o*t*i*(1.340264+-.24331799999999998*a+n*(.0062510000000000005+.034164*a))/Math.cos(r),c=o*Math.asin(Math.sin(r)/t);return Math.abs(d)>180?[NaN,NaN]:[d,c]}}}),i(e,"Maps/Projections/Miller.js",[],function(){let t=Math.PI/4,e=Math.PI/180;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-146.91480769173063,y2:146.91480769173063}}forward(i){return[i[0]*e*63.78137,79.7267125*Math.log(Math.tan(t+.4*i[1]*e))]}inverse(i){return[i[0]/63.78137/e,2.5*(Math.atan(Math.exp(.8*(i[1]/63.78137)))-t)/e]}}}),i(e,"Maps/Projections/Orthographic.js",[],function(){let t=Math.PI/180;return class{constructor(){this.antimeridianCutting=!1,this.bounds={x1:-63.78460826781007,x2:63.78460826781007,y1:-63.78460826781007,y2:63.78460826781007}}forward(e){let i=e[0],s=e[1]*t,o=[Math.cos(s)*Math.sin(i*t)*63.78460826781007,63.78460826781007*Math.sin(s)];return(i<-90||i>90)&&(o.outside=!0),o}inverse(e){let i=e[0]/63.78460826781007,s=e[1]/63.78460826781007,o=Math.sqrt(i*i+s*s),r=Math.asin(o),a=Math.sin(r);return[Math.atan2(i*a,o*Math.cos(r))/t,Math.asin(o&&s*a/o)/t]}}}),i(e,"Maps/Projections/WebMercator.js",[],function(){let t=Math.PI/180;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-200.3750834278071,y2:200.3750834278071},this.maxLatitude=85.0511287798}forward(e){let i=Math.sin(e[1]*t),s=[63.78137*e[0]*t,63.78137*Math.log((1+i)/(1-i))/2];return Math.abs(e[1])>this.maxLatitude&&(s.outside=!0),s}inverse(e){return[e[0]/(63.78137*t),(2*Math.atan(Math.exp(e[1]/63.78137))-Math.PI/2)/t]}}}),i(e,"Maps/Projections/ProjectionRegistry.js",[e["Maps/Projections/LambertConformalConic.js"],e["Maps/Projections/EqualEarth.js"],e["Maps/Projections/Miller.js"],e["Maps/Projections/Orthographic.js"],e["Maps/Projections/WebMercator.js"]],function(t,e,i,s,o){return{EqualEarth:e,LambertConformalConic:t,Miller:i,Orthographic:s,WebMercator:o}}),i(e,"Maps/Projection.js",[e["Core/Geometry/PolygonClip.js"],e["Maps/Projections/ProjectionRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{clipLineString:s,clipPolygon:o}=t,{clamp:r,erase:a}=i,n=2*Math.PI/360,l=t=>(t<-180&&(t+=360),t>180&&(t-=360),t),h=t=>(1-Math.cos(t))/2;class d{static add(t,e){d.registry[t]=e}static distance(t,e){let i,s,o,r,a,{atan2:l,sqrt:d}=Math,c=(i=Math.cos,s=t[1]*n,o=t[0]*n,r=e[1]*n,a=e[0]*n,h(r-s)+i(s)*i(r)*h(a-o));return 6371e3*(2*l(d(c),d(1-c)))}static geodesic(t,e,i,s=5e5){let{atan2:o,cos:r,sin:a,sqrt:l}=Math,h=d.distance,c=t[1]*n,p=t[0]*n,u=e[1]*n,g=e[0]*n,m=r(c)*r(p),f=r(u)*r(g),y=r(c)*a(p),x=r(u)*a(g),b=a(c),v=a(u),S=h(t,e),M=S/6371e3,w=a(M),C=Math.round(S/s),k=[];if(i&&k.push(t),C>1){let t=1/C;for(let e=t;e<.999;e+=t){let t=a((1-e)*M)/w,i=a(e*M)/w,s=t*m+i*f,r=t*y+i*x,h=o(t*b+i*v,l(s*s+r*r)),d=o(r,s);k.push([d/n,h/n])}}return i&&k.push(e),k}static insertGeodesics(t){let e=t.length-1;for(;e--;)if(Math.max(Math.abs(t[e][0]-t[e+1][0]),Math.abs(t[e][1]-t[e+1][1]))>10){let i=d.geodesic(t[e],t[e+1]);i.length&&t.splice(e+1,0,...i)}}static toString(t){let{name:e,rotation:i}=t||{};return[e,i&&i.join(",")].join(";")}constructor(t={}){this.hasCoordinates=!1,this.hasGeoProjection=!1,this.maxLatitude=90,this.options=t;let{name:e,projectedBounds:i,rotation:s}=t;this.rotator=s?this.getRotator(s):void 0;let o=e?d.registry[e]:void 0;o&&(this.def=new o(t));let{def:r,rotator:a}=this;r&&(this.maxLatitude=r.maxLatitude||90,this.hasGeoProjection=!0),a&&r?(this.forward=t=>r.forward(a.forward(t)),this.inverse=t=>a.inverse(r.inverse(t))):r?(this.forward=t=>r.forward(t),this.inverse=t=>r.inverse(t)):a&&(this.forward=a.forward,this.inverse=a.inverse),this.bounds="world"===i?r&&r.bounds:i}lineIntersectsBounds(t){let{x1:e,x2:i,y1:s,y2:o}=this.bounds||{},r=(t,e,i)=>{let[s,o]=t,r=+!e;if("number"==typeof i&&s[e]>=i!=o[e]>=i){let t=(i-s[e])/(o[e]-s[e]),a=s[r]+t*(o[r]-s[r]);return e?[a,i]:[i,a]}},a,n=t[0];return((a=r(t,0,e))||(a=r(t,0,i)))&&(n=a,t[1]=a),((a=r(t,1,s))||(a=r(t,1,o)))&&(n=a),n}getRotator(t){let e=t[0]*n,i=(t[1]||0)*n,s=(t[2]||0)*n,o=Math.cos(i),r=Math.sin(i),a=Math.cos(s),l=Math.sin(s);if(0!==e||0!==i||0!==s)return{forward:t=>{let i=t[0]*n+e,s=t[1]*n,h=Math.cos(s),d=Math.cos(i)*h,c=Math.sin(i)*h,p=Math.sin(s),u=p*o+d*r;return[Math.atan2(c*a-u*l,d*o-p*r)/n,Math.asin(u*a+c*l)/n]},inverse:t=>{let i=t[0]*n,s=t[1]*n,h=Math.cos(s),d=Math.cos(i)*h,c=Math.sin(i)*h,p=Math.sin(s),u=p*a-c*l;return[(Math.atan2(c*a+p*l,d*o+u*r)-e)/n,Math.asin(u*o-d*r)/n]}}}forward(t){return t}inverse(t){return t}cutOnAntimeridian(t,e){let i,s=[],o=[t];for(let i=0,o=t.length;i<o;++i){let o=t[i],a=t[i-1];if(!i){if(!e)continue;a=t[t.length-1]}let n=a[0],l=o[0];if((n<-90||n>90)&&(l<-90||l>90)&&n>0!=l>0){let t=r((180-(n+360)%360)/((l+360)%360-(n+360)%360),0,1),e=a[1]+t*(o[1]-a[1]);s.push({i:i,lat:e,direction:n<0?1:-1,previousLonLat:a,lonLat:o})}}if(s.length)if(e){s.length%2==1&&(i=s.slice().sort((t,e)=>Math.abs(e.lat)-Math.abs(t.lat))[0],a(s,i));let e=s.length-2;for(;e>=0;){let i=s[e].i,r=l(180+1e-6*s[e].direction),a=l(180-1e-6*s[e].direction),n=t.splice(i,s[e+1].i-i,...d.geodesic([r,s[e].lat],[r,s[e+1].lat],!0));n.push(...d.geodesic([a,s[e+1].lat],[a,s[e].lat],!0)),o.push(n),e-=2}if(i)for(let t=0;t<o.length;t++){let{direction:e,lat:s}=i,r=o[t],a=r.indexOf(i.lonLat);if(a>-1){let t=(s<0?-1:1)*this.maxLatitude,o=l(180+1e-6*e),n=l(180-1e-6*e),h=d.geodesic([o,s],[o,t],!0);for(let i=o+120*e;i>-180&&i<180;i+=120*e)h.push([i,t]);h.push(...d.geodesic([n,t],[n,i.lat],!0)),r.splice(a,0,...h);break}}}else{let e=s.length;for(;e--;){let i=s[e].i,r=t.splice(i,t.length,[l(180+1e-6*s[e].direction),s[e].lat]);r.unshift([l(180-1e-6*s[e].direction),s[e].lat]),o.push(r)}}return o}path(t){let e,{bounds:i,def:r,rotator:a}=this,n=[],l="Polygon"===t.type||"MultiPolygon"===t.type,h=this.hasGeoProjection,c=!r||!1!==r.antimeridianCutting,p=c?a:void 0,u=c&&r||this;i&&(e=[[i.x1,i.y1],[i.x2,i.y1],[i.x2,i.y2],[i.x1,i.y2]]);let g=t=>{let r=t.map(t=>{if(c){p&&(t=p.forward(t));let e=t[0];1e-6>Math.abs(e-180)&&(e=e<180?179.999999:180.000001),t=[e,t[1]]}return t}),a=[r];h&&(d.insertGeodesics(r),c&&(a=this.cutOnAntimeridian(r,l))),a.forEach(t=>{let r,a;if(t.length<2)return;let p=!1,g=!1,m=t=>{p?n.push(["L",t[0],t[1]]):(n.push(["M",t[0],t[1]]),p=!0)},f=!1,y=!1,x=t.map(t=>{let e=u.forward(t);return e.outside?f=!0:y=!0,e[1]===1/0?e[1]=1e10:e[1]===-1/0&&(e[1]=-1e10),e});if(c){if(l&&x.push(x[0]),f){if(!y)return;if(e){if(l)x=o(x,e);else if(i)return void s(x,e).forEach(t=>{p=!1,t.forEach(m)})}}x.forEach(m)}else for(let e=0;e<x.length;e++){let i=t[e],s=x[e];s.outside?g=!0:(l&&!r&&(r=i,t.push(i),x.push(s)),g&&a&&(l&&h?d.geodesic(a,i).forEach(t=>m(u.forward(t))):p=!1),m(s),a=i,g=!1)}})};return"LineString"===t.type?g(t.coordinates):"MultiLineString"===t.type?t.coordinates.forEach(t=>g(t)):"Polygon"===t.type?(t.coordinates.forEach(t=>g(t)),n.length&&n.push(["Z"])):"MultiPolygon"===t.type&&(t.coordinates.forEach(t=>{t.forEach(t=>g(t))}),n.length&&n.push(["Z"])),n}}return d.registry=e,d}),i(e,"Maps/MapView.js",[e["Core/Globals.js"],e["Maps/MapViewDefaults.js"],e["Maps/GeoJSONComposition.js"],e["Core/Geometry/GeometryUtilities.js"],e["Maps/MapUtilities.js"],e["Maps/Projection.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a){let{composed:n}=t,{pointInPolygon:l}=s,{topo2geo:h}=i,{boundsFromPath:d}=o,{addEvent:c,clamp:p,crisp:u,fireEvent:g,isArray:m,isNumber:f,isObject:y,isString:x,merge:b,pick:v,pushUnique:S,relativeLength:M}=a,w={};function C(t,e){let{width:i,height:s}=e;return Math.log(400.979322/Math.max((t.x2-t.x1)/(i/256),(t.y2-t.y1)/(s/256)))/Math.log(2)}function k(t){t.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,t.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class A{static compose(t){S(n,"MapView")&&(w=t.maps,c(t,"afterInit",function(){this.mapView=new A(this,this.options.mapView)},{order:0}),c(t,"addSeriesAsDrilldown",k),c(t,"afterDrillUp",k))}static compositeBounds(t){if(t.length)return t.slice(1).reduce((t,e)=>(t.x1=Math.min(t.x1,e.x1),t.y1=Math.min(t.y1,e.y1),t.x2=Math.max(t.x2,e.x2),t.y2=Math.max(t.y2,e.y2),t),b(t[0]))}static mergeInsets(t,e){let i=t=>{let e={};return t.forEach((t,i)=>{e[t&&t.id||`i${i}`]=t}),e},s=b(i(t),i(e));return Object.keys(s).map(t=>s[t])}constructor(t,i){this.allowTransformAnimation=!0,this.eventsToUnbind=[],this.insets=[],this.padding=[0,0,0,0],this.recommendedMapView={},this instanceof T||this.recommendMapView(t,[t.options.chart.map,...(t.options.series||[]).map(t=>t.mapData)]),this.userOptions=i||{};let s=b(e,this.recommendedMapView,i),o=this.recommendedMapView?.insets,a=i&&i.insets;o&&a&&(s.insets=A.mergeInsets(o,a)),this.chart=t,this.center=s.center,this.options=s,this.projection=new r(s.projection),this.playingField=t.plotBox,this.zoom=s.zoom||0,this.minZoom=s.minZoom,this.createInsets(),this.eventsToUnbind.push(c(t,"afterSetChartSize",()=>{this.playingField=this.getField(),(void 0===this.minZoom||this.minZoom===this.zoom)&&(this.fitToBounds(void 0,void 0,!1),!this.chart.hasRendered&&f(this.userOptions.zoom)&&(this.zoom=this.userOptions.zoom),this.userOptions.center&&b(!0,this.center,this.userOptions.center))})),this.setUpEvents()}createInsets(){let t=this.options,e=t.insets;e&&e.forEach(e=>{let i=new T(this,b(t.insetOptions,e));this.insets.push(i)})}fitToBounds(t,e,i=!0,s){let o=t||this.getProjectedBounds();if(o){let r=v(e,t?0:this.options.padding),a=this.getField(!1),n=m(r)?r:[r,r,r,r];this.padding=[M(n[0],a.height),M(n[1],a.width),M(n[2],a.height),M(n[3],a.width)],this.playingField=this.getField();let l=C(o,this.playingField);t||(this.minZoom=l);let h=this.projection.inverse([(o.x2+o.x1)/2,(o.y2+o.y1)/2]);this.setView(h,l,i,s)}}getField(t=!0){let e=t?this.padding:[0,0,0,0];return{x:e[3],y:e[0],width:this.chart.plotWidth-e[1]-e[3],height:this.chart.plotHeight-e[0]-e[2]}}getGeoMap(t){if(x(t))return w[t]&&"Topology"===w[t].type?h(w[t]):w[t];if(y(t,!0)){if("FeatureCollection"===t.type)return t;if("Topology"===t.type)return h(t)}}getMapBBox(){let t=this.getProjectedBounds(),e=this.getScale();if(t){let i=this.padding,s=this.projectedUnitsToPixels({x:t.x1,y:t.y2});return{width:(t.x2-t.x1)*e+i[1]+i[3],height:(t.y2-t.y1)*e+i[0]+i[2],x:s.x-i[3],y:s.y-i[0]}}}getProjectedBounds(){let t=this.projection,e=this.chart.series.reduce((t,e)=>{let i=e.getProjectedBounds&&e.getProjectedBounds();return i&&!1!==e.options.affectsMapView&&t.push(i),t},[]),i=this.options.fitToGeometry;if(i){if(!this.fitToGeometryCache)if("MultiPoint"===i.type){let e=i.coordinates.map(e=>t.forward(e)),s=e.map(t=>t[0]),o=e.map(t=>t[1]);this.fitToGeometryCache={x1:Math.min.apply(0,s),x2:Math.max.apply(0,s),y1:Math.min.apply(0,o),y2:Math.max.apply(0,o)}}else this.fitToGeometryCache=d(t.path(i));return this.fitToGeometryCache}return this.projection.bounds||A.compositeBounds(e)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){let{x:t,y:e,width:i,height:s}=this.playingField,o=this.projection.forward(this.center),r=this.projection.hasCoordinates?-1:1,a=this.getScale(),n=a*r,l=t+i/2-o[0]*a,h=e+s/2-o[1]*n;return{scaleX:a,scaleY:n,translateX:l,translateY:h}}lonLatToPixels(t){let e=this.lonLatToProjectedUnits(t);if(e)return this.projectedUnitsToPixels(e)}lonLatToProjectedUnits(t){let e=this.chart,i=e.mapTransforms;if(i){for(let s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone){let o=e.transformFromLatLon(t,i[s]);if(o&&l(o,i[s].hitZone.coordinates[0]))return o}return e.transformFromLatLon(t,i.default)}for(let e of this.insets)if(e.options.geoBounds&&l({x:t.lon,y:t.lat},e.options.geoBounds.coordinates[0])){let i=e.projection.forward([t.lon,t.lat]),s=e.projectedUnitsToPixels({x:i[0],y:i[1]});return this.pixelsToProjectedUnits(s)}let s=this.projection.forward([t.lon,t.lat]);if(!s.outside)return{x:s[0],y:s[1]}}projectedUnitsToLonLat(t){let e=this.chart,i=e.mapTransforms;if(i){for(let s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone&&l(t,i[s].hitZone.coordinates[0]))return e.transformToLatLon(t,i[s]);return e.transformToLatLon(t,i.default)}let s=this.projectedUnitsToPixels(t);for(let t of this.insets)if(t.hitZone&&l(s,t.hitZone.coordinates[0])){let e=t.pixelsToProjectedUnits(s),i=t.projection.inverse([e.x,e.y]);return{lon:i[0],lat:i[1]}}let o=this.projection.inverse([t.x,t.y]);return{lon:o[0],lat:o[1]}}recommendMapView(t,e,i=!1){this.recommendedMapView={};let s=e.map(t=>this.getGeoMap(t)),o=[];s.forEach(t=>{if(t&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=t["hc-recommended-mapview"]||{}),t.bbox)){let[e,i,s,r]=t.bbox;o.push({x1:e,y1:i,x2:s,y2:r})}});let r=o.length&&A.compositeBounds(o);g(this,"onRecommendMapView",{geoBounds:r,chart:t},function(){if(r&&this.recommendedMapView){if(!this.recommendedMapView.projection){let{x1:t,y1:e,x2:i,y2:s}=r;this.recommendedMapView.projection=i-t>180&&s-e>90?{name:"EqualEarth",parallels:[0,0],rotation:[0]}:{name:"LambertConformalConic",parallels:[e,s],rotation:[-(t+i)/2]}}this.recommendedMapView.insets||(this.recommendedMapView.insets=void 0)}}),this.geoMap=s[0],i&&t.hasRendered&&!t.userOptions.mapView?.projection&&this.recommendedMapView&&this.update(this.recommendedMapView)}redraw(t){this.chart.series.forEach(t=>{t.useMapGeometry&&(t.isDirty=!0)}),this.chart.redraw(t)}setView(t,e,i=!0,s){t&&(this.center=t),"number"==typeof e&&("number"==typeof this.minZoom&&(e=Math.max(e,this.minZoom)),"number"==typeof this.options.maxZoom&&(e=Math.min(e,this.options.maxZoom)),f(e)&&(this.zoom=e));let o=this.getProjectedBounds();if(o){let t=this.projection.forward(this.center),{x:e,y:i,width:s,height:r}=this.playingField,a=this.getScale(),n=this.projectedUnitsToPixels({x:o.x1,y:o.y1}),l=this.projectedUnitsToPixels({x:o.x2,y:o.y2}),h=[(o.x1+o.x2)/2,(o.y1+o.y2)/2];if(!this.chart.series.some(t=>t.isDrilling)){let o=n.x,d=l.y,c=l.x,p=n.y;c-o<s?t[0]=h[0]:o<e&&c<e+s?t[0]+=Math.max(o-e,c-s-e)/a:c>e+s&&o>e&&(t[0]+=Math.min(c-s-e,o-e)/a),p-d<r?t[1]=h[1]:d<i&&p<i+r?t[1]-=Math.max(d-i,p-r-i)/a:p>i+r&&d>i&&(t[1]-=Math.min(p-r-i,d-i)/a),this.center=this.projection.inverse(t)}this.insets.forEach(t=>{t.options.field&&(t.hitZone=t.getHitZone(),t.playingField=t.getField())}),this.render()}g(this,"afterSetView"),i&&this.redraw(s)}projectedUnitsToPixels(t){let e=this.getScale(),i=this.projection.forward(this.center),s=this.playingField,o=s.x+s.width/2,r=s.y+s.height/2;return{x:o-e*(i[0]-t.x),y:r+e*(i[1]-t.y)}}pixelsToLonLat(t){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(t))}pixelsToProjectedUnits(t){let{x:e,y:i}=t,s=this.getScale(),o=this.projection.forward(this.center),r=this.playingField,a=r.x+r.width/2,n=r.y+r.height/2;return{x:o[0]+(e-a)/s,y:o[1]-(i-n)/s}}setUpEvents(){let t,e,i,{chart:s}=this,o=o=>{let{lastTouches:r,pinchDown:a}=s.pointer,n=this.projection,l=o.touches,{mouseDownX:h,mouseDownY:d}=s,c=0;if(a?.length===1?(h=a[0].chartX,d=a[0].chartY):a?.length===2&&(h=(a[0].chartX+a[1].chartX)/2,d=(a[0].chartY+a[1].chartY)/2),l?.length===2&&r&&(c=Math.log(Math.sqrt(Math.pow(r[0].chartX-r[1].chartX,2)+Math.pow(r[0].chartY-r[1].chartY,2))/Math.sqrt(Math.pow(l[0].chartX-l[1].chartX,2)+Math.pow(l[0].chartY-l[1].chartY,2)))/Math.log(.5)),f(h)&&f(d)){let r=`${h},${d}`,{chartX:a,chartY:u}=o.originalEvent;l?.length===2&&(a=(l[0].chartX+l[1].chartX)/2,u=(l[0].chartY+l[1].chartY)/2),r!==e&&(e=r,t=this.projection.forward(this.center),i=(this.projection.options.rotation||[0,0]).slice());let g=n.def&&n.def.bounds,m=g&&C(g,this.playingField)||-1/0;if("Orthographic"===n.options.name&&2>(l?.length||0)&&(this.minZoom||1/0)<1.3*m){let t=440/(this.getScale()*Math.min(s.plotWidth,s.plotHeight));if(i){let e=(h-a)*t-i[0],o=p(-i[1]-(d-u)*t,-80,80),r=this.zoom;this.update({projection:{rotation:[-e,-o]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=r,s.redraw(!1)}}else if(f(a)&&f(u)){let e=this.getScale(),i=this.projection.hasCoordinates?1:-1,s=this.projection.inverse([t[0]+(h-a)/e,t[1]-(d-u)/e*i]);isNaN(s[0]+s[1])||this.zoomBy(c,s,void 0,!1)}o.preventDefault()}};c(s,"pan",o),c(s,"touchpan",o),c(s,"selection",t=>{if(t.resetSelection)this.zoomBy();else{let e=t.x-s.plotLeft,i=t.y-s.plotTop,{y:o,x:r}=this.pixelsToProjectedUnits({x:e,y:i}),{y:a,x:n}=this.pixelsToProjectedUnits({x:e+t.width,y:i+t.height});this.fitToBounds({x1:r,y1:o,x2:n,y2:a},void 0,!0,!t.originalEvent.touches&&void 0),/^touch/.test(t.originalEvent.type)||s.showResetZoom(),t.preventDefault()}})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(t,e=!0,i){let s=t.projection,o=s&&r.toString(s)!==r.toString(this.options.projection),a=!1;b(!0,this.userOptions,t),b(!0,this.options,t),"insets"in t&&(this.insets.forEach(t=>t.destroy()),this.insets.length=0,a=!0),(o||"fitToGeometry"in t)&&delete this.fitToGeometryCache,(o||a)&&(this.chart.series.forEach(t=>{let e=t.transformGroups;if(t.clearBounds&&t.clearBounds(),t.isDirty=!0,t.isDirtyData=!0,a&&e)for(;e.length>1;){let t=e.pop();t&&t.destroy()}}),o&&(this.projection=new r(this.options.projection)),a&&this.createInsets(),!t.center&&Object.hasOwnProperty.call(t,"zoom")&&!f(t.zoom)&&this.fitToBounds(void 0,void 0,!1)),t.center||f(t.zoom)?this.setView(this.options.center,t.zoom,!1):"fitToGeometry"in t&&this.fitToBounds(void 0,void 0,!1),e&&this.chart.redraw(i)}zoomBy(t,e,i,s){let o=this.chart,r=this.projection.forward(this.center);if("number"==typeof t){let a,n,l,h=this.zoom+t;if(i){let[t,e]=i,s=this.getScale(),a=t-o.plotLeft-o.plotWidth/2,h=e-o.plotTop-o.plotHeight/2;n=r[0]+a/s,l=r[1]+h/s}if("number"==typeof n&&"number"==typeof l){let t=1-Math.pow(2,this.zoom)/Math.pow(2,h),e=r[0]-n,i=r[1]-l;r[0]-=e*t,r[1]+=i*t,a=this.projection.inverse(r)}this.setView(e||a,h,void 0,s)}else this.fitToBounds(void 0,void 0,void 0,s)}}class T extends A{constructor(t,e){if(super(t.chart,e),this.id=e.id,this.mapView=t,this.options=b({center:[0,0]},t.options.insetOptions,e),this.allBounds=[],this.options.geoBounds){let e=t.projection.path(this.options.geoBounds);this.geoBoundsProjectedBox=d(e),this.geoBoundsProjectedPolygon=e.map(t=>[t[1]||0,t[2]||0])}}getField(t=!0){let e=this.hitZone;if(e){let i=t?this.padding:[0,0,0,0],s=e.coordinates[0],o=s.map(t=>t[0]),r=s.map(t=>t[1]),a=Math.min.apply(0,o)+i[3],n=Math.max.apply(0,o)-i[1],l=Math.min.apply(0,r)+i[0],h=Math.max.apply(0,r)-i[2];if(f(a)&&f(l))return{x:a,y:l,width:n-a,height:h-l}}return super.getField.call(this,t)}getHitZone(){let{chart:t,mapView:e,options:i}=this,{coordinates:s}=i.field||{};if(s){let o=s[0];if("percent"===i.units){let s="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||b(t.plotBox,{x:0,y:0});o=o.map(t=>[M(`${t[0]}%`,s.width,s.x),M(`${t[1]}%`,s.height,s.y)])}return{type:"Polygon",coordinates:[o]}}}getProjectedBounds(){return A.compositeBounds(this.allBounds)}isInside(t){let{geoBoundsProjectedBox:e,geoBoundsProjectedPolygon:i}=this;return!!(e&&t.x>=e.x1&&t.x<=e.x2&&t.y>=e.y1&&t.y<=e.y2&&i&&l(t,i))}render(){let{chart:t,mapView:e,options:i}=this,s=i.borderPath||i.field;if(s&&e.group){let o=!0;this.border||(this.border=t.renderer.path().addClass("highcharts-mapview-inset-border").add(e.group),o=!1),t.styledMode||this.border.attr({stroke:i.borderColor,"stroke-width":i.borderWidth});let r=this.border.strokeWidth(),a="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||e.playingField,n=(s.coordinates||[]).reduce((e,s)=>s.reduce((e,s,o)=>{let[n,l]=s;return"percent"===i.units&&(n=t.plotLeft+M(`${n}%`,a.width,a.x),l=t.plotTop+M(`${l}%`,a.height,a.y)),n=u(n,r),l=u(l,r),e.push(0===o?["M",n,l]:["L",n,l]),e},e),[]);this.border[o?"animate":"attr"]({d:n})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEac
2h(t=>t())}setUpEvents(){}}return A}),i(e,"Series/Map/MapSeries.js",[e["Core/Animation/AnimationUtilities.js"],e["Series/ColorMapComposition.js"],e["Series/CenteredUtilities.js"],e["Core/Globals.js"],e["Core/Chart/MapChart.js"],e["Series/Map/MapPoint.js"],e["Series/Map/MapSeriesDefaults.js"],e["Maps/MapView.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n,l,h){let{animObject:d,stop:c}=t,{noop:p}=s,{splitPath:u}=o,{column:g,scatter:m}=l.seriesTypes,{extend:f,find:y,fireEvent:x,getNestedProperty:b,isArray:v,defined:S,isNumber:M,isObject:w,merge:C,objectEach:k,pick:A,splat:T}=h;class P extends m{constructor(){super(...arguments),this.processedData=[]}animate(t){let{chart:e,group:i}=this,s=d(this.options.animation);t?i.attr({translateX:e.plotLeft+e.plotWidth/2,translateY:e.plotTop+e.plotHeight/2,scaleX:.001,scaleY:.001}):i.animate({translateX:e.plotLeft,translateY:e.plotTop,scaleX:1,scaleY:1},s)}clearBounds(){this.points.forEach(t=>{delete t.bounds,delete t.insetIndex,delete t.projectedPath}),delete this.bounds}doFullTranslate(){return!!(this.isDirtyData||this.chart.isResizing||!this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let t=this,{chart:e,group:i,transformGroups:s=[]}=this,{mapView:o,renderer:r}=e;if(o){this.transformGroups=s,s[0]||(s[0]=r.g().add(i));for(let t=0,e=o.insets.length;t<e;++t)s[t+1]||s.push(r.g().add(i));this.doFullTranslate()&&(this.points.forEach(t=>{let{graphic:e}=t;t.group=s["number"==typeof t.insetIndex?t.insetIndex+1:0],e&&e.parentGroup!==t.group&&e.add(t.group)}),g.prototype.drawPoints.apply(this),this.points.forEach(i=>{let s=i.graphic;if(s){let o=s.animate,r="";i.name&&(r+="highcharts-name-"+i.name.replace(/ /g,"-").toLowerCase()),i.properties&&i.properties["hc-key"]&&(r+=" highcharts-key-"+i.properties["hc-key"].toString().toLowerCase()),r&&s.addClass(r),e.styledMode&&s.css(this.pointAttribs(i,i.selected&&"select"||void 0)),s.attr({visibility:!i.visible&&(i.visible||i.isNull)?"hidden":"inherit"}),s.animate=function(i,r,a){let n=M(i["stroke-width"])&&!M(s["stroke-width"]),l=M(s["stroke-width"])&&!M(i["stroke-width"]);if(n||l){let o=A(t.getStrokeWidth(t.options),1)/(e.mapView&&e.mapView.getScale()||1);n&&(s["stroke-width"]=o),l&&(i["stroke-width"]=o)}return o.call(s,i,r,l?function(){s.element.removeAttribute("stroke-width"),delete s["stroke-width"],a&&a.apply(this,arguments)}:a)}}})),s.forEach((i,s)=>{let a=(0===s?o:o.insets[s-1]).getSVGTransform(),n=A(this.getStrokeWidth(this.options),1),l=a.scaleX,h=a.scaleY>0?1:-1,p=e=>{(t.points||[]).forEach(t=>{let i,s=t.graphic;s&&s["stroke-width"]&&(i=this.getStrokeWidth(t.options))&&s.attr({"stroke-width":i/e})})};if(r.globalAnimation&&e.hasRendered&&o.allowTransformAnimation){let t=Number(i.attr("translateX")),e=Number(i.attr("translateY")),s=Number(i.attr("scaleX")),o=(o,r)=>{let d=s+(l-s)*r.pos;i.attr({translateX:t+(a.translateX-t)*r.pos,translateY:e+(a.translateY-e)*r.pos,scaleX:d,scaleY:d*h,"stroke-width":n/d}),p(d)},c=C(d(r.globalAnimation)),u=c.step;c.step=function(){u&&u.apply(this,arguments),o.apply(this,arguments)},i.attr({animator:0}).animate({animator:1},c,(function(){"boolean"!=typeof r.globalAnimation&&r.globalAnimation.complete&&r.globalAnimation.complete({applyDrilldown:!0}),x(this,"mapZoomComplete")}).bind(this))}else c(i),i.attr(C(a,{"stroke-width":n/l})),p(l)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:t,projection:e}=this.chart.mapView,i=[];(this.points||[]).forEach(s=>{if(s.path||s.geometry){if("string"==typeof s.path?s.path=u(s.path):v(s.path)&&"M"===s.path[0]&&(s.path=this.chart.renderer.pathToSegments(s.path)),!s.bounds){let i=s.getProjectedBounds(e);if(i){s.labelrank=A(s.labelrank,(i.x2-i.x1)*(i.y2-i.y1));let{midX:e,midY:o}=i;if(t&&M(e)&&M(o)){let r=y(t,t=>t.isInside({x:e,y:o}));r&&(delete s.projectedPath,(i=s.getProjectedBounds(r.projection))&&r.allBounds.push(i),s.insetIndex=t.indexOf(r))}s.bounds=i}}s.bounds&&void 0===s.insetIndex&&i.push(s.bounds)}}),this.bounds=n.compositeBounds(i)}return this.bounds}getStrokeWidth(t){let e=this.pointAttrToOptions;return t[e&&e["stroke-width"]||"borderWidth"]}hasData(){return!!this.processedXData.length}pointAttribs(t,e){let{mapView:i,styledMode:s}=t.series.chart,o=s?this.colorAttribs(t):g.prototype.pointAttribs.call(this,t,e),r=this.getStrokeWidth(t.options);if(e){let i=C(this.options.states&&this.options.states[e],t.options.states&&t.options.states[e]||{}),s=this.getStrokeWidth(i);S(s)&&(r=s),o.stroke=i.borderColor??t.color}r&&i&&(r/=i.getScale());let a=this.getStrokeWidth(this.options);return o.dashstyle&&i&&M(a)&&(r=a/i.getScale()),t.visible||(o.fill=this.options.nullColor),S(r)?o["stroke-width"]=r:delete o["stroke-width"],o["stroke-linecap"]=o["stroke-linejoin"]=this.options.linecap,o}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(t,e=!0,i,s){delete this.bounds,super.setData(t,!1,void 0,s),this.processData(),this.generatePoints(),e&&this.chart.redraw(i)}processData(){let t,e,i,o=this.options,a=o.data,n=this.chart,l=n.options.chart,h=this.joinBy,d=o.keys||this.pointArrayMap,c=[],p={},u=this.chart.mapView,g=u&&(w(o.mapData,!0)?u.getGeoMap(o.mapData):u.geoMap),m=n.mapTransforms=l.mapTransforms||g&&g["hc-transform"]||n.mapTransforms;m&&k(m,t=>{t.rotation&&(t.cosAngle=Math.cos(t.rotation),t.sinAngle=Math.sin(t.rotation))}),v(o.mapData)?i=o.mapData:g&&"FeatureCollection"===g.type&&(this.mapTitle=g.title,i=s.geojson(g,this.type,this)),this.processedData=[];let f=this.processedData;if(a){let t;for(let e=0,i=a.length;e<i;++e){if(M(t=a[e]))f[e]={value:t};else if(v(t)){let i=0;f[e]={},!o.keys&&t.length>d.length&&"string"==typeof t[0]&&(f[e]["hc-key"]=t[0],++i);for(let s=0;s<d.length;++s,++i)d[s]&&void 0!==t[i]&&(d[s].indexOf(".")>0?r.prototype.setNestedProperty(f[e],t[i],d[s]):f[e][d[s]]=t[i])}else f[e]=a[e];h&&"_i"===h[0]&&(f[e]._i=e)}}if(i){this.mapData=i,this.mapMap={};for(let s=0;s<i.length;s++)e=(t=i[s]).properties,t._i=s,h[0]&&e&&e[h[0]]&&(t[h[0]]=e[h[0]]),p[t[h[0]]]=t;if(this.mapMap=p,h[1]){let t=h[1];
2f.forEach(e=>{let i=b(t,e);p[i]&&c.push(p[i])})}if(o.allAreas){if(h[1]){let t=h[1];f.forEach(e=>{c.push(b(t,e))})}let t="|"+c.map(function(t){return t&&t[h[0]]}).join("|")+"|";i.forEach(e=>{h[0]&&-1!==t.indexOf("|"+e[h[0]]+"|")||f.push(C(e,{value:null}))})}}this.processedXData=Array(f.length)}setOptions(t){let e=super.setOptions(t),i=e.joinBy;return null===e.joinBy&&(i="_i"),(i=this.joinBy=T(i))[1]||(i[1]=i[0]),e}translate(){let t=this.doFullTranslate(),e=this.chart.mapView,i=e&&e.projection;if(this.chart.hasRendered&&(this.isDirtyData||!this.hasRendered)&&(this.processData(),this.generatePoints(),delete this.bounds,!e||e.userOptions.center||M(e.userOptions.zoom)||e.zoom!==e.minZoom?this.getProjectedBounds():e.fitToBounds(void 0,void 0,!1)),e){let s=e.getSVGTransform();this.points.forEach(o=>{let a=M(o.insetIndex)&&e.insets[o.insetIndex].getSVGTransform()||s;a&&o.bounds&&M(o.bounds.midX)&&M(o.bounds.midY)&&(o.plotX=o.bounds.midX*a.scaleX+a.translateX,o.plotY=o.bounds.midY*a.scaleY+a.translateY),t&&(o.shapeType="path",o.shapeArgs={d:r.getProjectedPath(o,i)}),o.hiddenInDataClass||(o.projectedPath&&!o.projectedPath.length?o.setVisible(!1):o.visible||o.setVisible(!0))})}x(this,"afterTranslate")}update(t){t.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((e,i)=>i===this._i?t.mapData:e.mapData)],!0),super.update.apply(this,arguments)}}return P.defaultOptions=C(m.defaultOptions,a),f(P.prototype,{type:"map",axisTypes:e.seriesMembers.axisTypes,colorAttribs:e.seriesMembers.colorAttribs,colorKey:e.seriesMembers.colorKey,directTouch:!0,drawDataLabels:p,drawGraph:p,forceDL:!0,getCenter:i.getCenter,getExtremesFromAll:!0,getSymbol:p,isCartesian:!1,parallelArrays:e.seriesMembers.parallelArrays,pointArrayMap:e.seriesMembers.pointArrayMap,pointClass:r,preserveAspectRatio:!0,searchPoint:p,trackerGroups:e.seriesMembers.trackerGroups,useMapGeometry:!0}),e.compose(P),l.registerSeriesType("map",P),P}),i(e,"Series/MapLine/MapLineSeriesDefaults.js",[],function(){return{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}}),i(e,"Series/MapLine/MapLineSeries.js",[e["Series/MapLine/MapLineSeriesDefaults.js"],e["Series/Map/MapSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{extend:o,merge:r}=s;class a extends e{pointAttribs(t,e){let i=super.pointAttribs(t,e);return i.fill=this.options.fillColor,i}}return a.defaultOptions=r(e.defaultOptions,t),o(a.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),i.registerSeriesType("mapline",a),a}),i(e,"Series/MapPoint/MapPointPoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{scatter:i}=t.seriesTypes,{isNumber:s}=e;class o extends i.prototype.pointClass{isValid(){return!!(this.options.geometry||s(this.x)&&s(this.y)||s(this.options.lon)&&s(this.options.lat))}}return o}),i(e,"Series/MapPoint/MapPointSeriesDefaults.js",[],function(){return{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}},legendSymbol:"lineMarker"}}),i(e,"Series/MapPoint/MapPointSeries.js",[e["Core/Globals.js"],e["Series/MapPoint/MapPointPoint.js"],e["Series/MapPoint/MapPointSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){let{noop:a}=t,{map:n,scatter:l}=s.seriesTypes,{extend:h,fireEvent:d,isNumber:c,merge:p}=r;class u extends l{constructor(){super(...arguments),this.clearBounds=n.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(t){let e=this.chart.mapView;if(e){let{geometry:i,lon:s,lat:o}=t,r=i&&"Point"===i.type&&i.coordinates;if(c(s)&&c(o)&&(r=[s,o]),r)return e.lonLatToProjectedUnits({lon:r[0],lat:r[1]})}}translate(){let t=this.chart.mapView;if(this.processedXData||this.processData(),this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),t){let e=t.getSVGTransform(),{hasCoordinates:i}=t.projection;
vendor: 8,954 bytes, line 2
2this.points.forEach(s=>{let o,{x:r,y:a}=s,n=c(s.insetIndex)&&t.insets[s.insetIndex].getSVGTransform()||e,l=this.projectPoint(s.options)||s.properties&&this.projectPoint(s.properties);if(l?(r=l.x,a=l.y):s.bounds&&(r=s.bounds.midX,a=s.bounds.midY,n&&c(r)&&c(a)&&(s.plotX=r*n.scaleX+n.translateX,s.plotY=a*n.scaleY+n.translateY,o=!0)),c(r)&&c(a)){if(!o){let e=t.projectedUnitsToPixels({x:r,y:a});s.plotX=e.x,s.plotY=i?e.y:this.chart.plotHeight-e.y}}else s.y=s.plotX=s.plotY=void 0;s.isInside=this.isPointInside(s),s.zone=this.zones.length?s.getZone():void 0})}d(this,"afterTranslate")}}return u.defaultOptions=p(l.defaultOptions,i),o.prototype.symbols.mapmarker=(t,e,i,s,o)=>{let r,a,n=o&&"legend"===o.context;n?(r=t+i/2,a=e+s):o&&"number"==typeof o.anchorX&&"number"==typeof o.anchorY?(r=o.anchorX,a=o.anchorY):(r=t+i/2,a=e+s/2,e-=s);let l=n?s/3:s/2;return[["M",r,a],["C",r,a,r-l,e+1.5*l,r-l,e+l],["A",l,l,1,1,1,r+l,e+l],["C",r+l,e+1.5*l,r,a,r,a],["Z"]]},h(u.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:e,searchPoint:a,useMapGeometry:!0}),s.registerSeriesType("mappoint",u),u}),i(e,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),i(e,"Series/Bubble/BubbleLegendItem.js",[e["Core/Color/Color.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{parse:o}=t,{noop:r}=i,{arrayMax:a,arrayMin:n,isNumber:l,merge:h,pick:d,stableSort:c}=s;return class{constructor(t,e){this.setState=r,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e,i=d(t.options.itemDistance,20),s=this.legendItem||{},o=this.options,r=o.ranges,a=o.connectorDistance;if(!r||!r.length||!l(r[0].value)){t.options.bubbleLegend.autoRanges=!0;return}c(r,function(t,e){return e.value-t.value}),this.ranges=r,this.setOptions(),this.render();let n=this.getMaxLabelSize(),h=this.ranges[0].radius,p=2*h;e=(e=a-h+n.width)>0?e:0,this.maxLabel=n,this.movementX="left"===o.labels.align?e:0,s.labelWidth=p+e+i,s.labelHeight=p+n.height/2}setOptions(){let t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],s=this.legend.baseline,r={zIndex:e.zIndex,"stroke-width":e.borderWidth},a={zIndex:e.zIndex,"stroke-width":e.connectorWidth},n={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},l=i.options.marker.fillOpacity,c=this.chart.styledMode;t.forEach(function(p,u){c||(r.stroke=d(p.borderColor,e.borderColor,i.color),r.fill=d(p.color,e.color,1!==l?o(i.color).setOpacity(l).get("rgba"):i.color),a.stroke=d(p.connectorColor,e.connectorColor,i.color)),t[u].radius=this.getRangeRadius(p.value),t[u]=h(t[u],{center:t[0].radius-t[u].radius+s}),c||h(!0,t[u],{bubbleAttribs:h(r),connectorAttribs:h(a),labelAttribs:n})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],o=e.ranges[0].value,r=e.ranges[e.ranges.length-1].value,a=e.minSize,n=e.maxSize;return s.getRadius.call(this,r,o,a,n,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,o=s.labels,r=this.chart,a=r.series[s.seriesIndex],n=r.renderer,l=this.symbols,h=l.labels,d=t.center,c=Math.abs(t.radius),p=s.connectorDistance||0,u=o.align,g=i.options.rtl,m=s.borderWidth,f=s.connectorWidth,y=e.radius||0,x=d-c-m/2+f/2,b=(x%1?1:.5)-(f%2?0:.5),v=n.styledMode,S=g||"left"===u?-p:p;"center"===u&&(S=0,s.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(n.circle(y,d+b,c).attr(v?{}:t.bubbleAttribs).addClass((v?"highcharts-color-"+a.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),l.connectors.push(n.path(n.crispLine([["M",y,x],["L",y+S,x]],s.connectorWidth)).attr(v?{}:t.connectorAttribs).addClass((v?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol));let M=n.text(this.formatLabel(t)).attr(v?{}:t.labelAttribs).css(v?{}:o.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol),w={x:y+S+s.labels.x,y:x+s.labels.y+.4*M.getBBox().height};M.attr(w),h.push(M),M.placed=!0,M.alignAttr=w}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach(function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e}),t||{}}formatLabel(t){let i=this.options,s=i.labels.formatter,o=i.labels.format,{numberFormatter:r}=this.chart;return o?e.format(o,t):s?s.call(t):r(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t=this.legend.bubbleLegend,e=t.chart.series,i=t.options.ranges,s,o,r=Number.MAX_VALUE,c=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(o=t.zData.filter(l)).length&&(r=d(t.options.zMin,Math.min(r,Math.max(n(o),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),c=d(t.options.zMax,Math.max(c,a(o))))}),s=r===c?[{value:c}]:[{value:r},{value:(r+c)/2},{value:c,autoRanges:!0}],i.length&&i[0].radius&&s.reverse(),s.forEach(function(t,e){i&&i[e]&&(s[e]=h(i[e],t))}),s}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,s="horizontal"===e.layout,o=s?t.legend.lastLineHeight:0,r=t.plotSizeX,a=t.plotSizeY,n=t.series[this.options.seriesIndex],l=n.getPxExtremes(),h=Math.ceil(l.minPxSize),d=Math.ceil(l.maxPxSize),c=Math.min(a,r),p,u=n.options.maxSize;return i||!/%$/.test(u)?p=d:(p=(c+o)*(u=parseFloat(u))/100/(u/100+1),(s&&a-p>=r||!s&&r-p>=a)&&(p=d)),[h,Math.ceil(p)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}}}),i(e,"Series/Bubble/BubbleLegendComposition.js",[e["Series/Bubble/BubbleLegendDefaults.js"],e["Series/Bubble/BubbleLegendItem.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{setOptions:r}=i,{composed:a}=s,{addEvent:n,objectEach:l,pushUnique:h,wrap:d}=o;function c(t,e,i){let s,o,r,a=this.legend,n=p(this)>=0;a&&a.options.enabled&&a.bubbleLegend&&a.options.bubbleLegend.autoRanges&&n?(s=a.bubbleLegend.options,o=a.bubbleLegend.predictBubbleSizes(),a.bubbleLegend.updateRanges(o[0],o[1]),s.placed||(a.group.placed=!1,a.allItems.forEach(t=>{(r=t.legendItem||{}).group&&(r.group.translateY=void 0)})),a.render(),s.placed||(this.getMargins(),this.axes.forEach(function(t){t.visible&&t.render(),s.placed||(t.setScale(),t.updateNames(),l(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0}))}),this.getMargins()),s.placed=!0,t.call(this,e,i),a.bubbleLegend.correctSizes(),f(a,u(a))):(t.call(this,e,i),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),f(a,u(a))))}function p(t){let e=t.series,i=0;for(;i<e.length;){if(e[i]&&e[i].isBubble&&e[i].visible&&e[i].zData.length)return i;i++}return -1}function u(t){let e=t.allItems,i=[],s=e.length,o,r,a,n=0,l=0;for(n=0;n<s;n++)if(r=e[n].legendItem||{},a=(e[n+1]||{}).legendItem||{},r.labelHeight&&(e[n].itemHeight=r.labelHeight),e[n]===e[s-1]||r.y!==a.y){for(i.push({height:0}),o=i[i.length-1];l<=n;l++)e[l].itemHeight>o.height&&(o.height=e[l].itemHeight);o.step=n}return i}function g(t){let i=this.bubbleLegend,s=this.options,o=s.bubbleLegend,r=p(this.chart);i&&i.ranges&&i.ranges.length&&(o.ranges.length&&(o.autoRanges=!!o.ranges[0].autoRanges),this.destroyItem(i)),r>=0&&s.enabled&&o.enabled&&(o.seriesIndex=r,this.bubbleLegend=new e(o,this),this.bubbleLegend.addToLegend(t.allItems))}function m(t){let e;if(t.defaultPrevented)return!1;let i=t.legendItem,s=this.chart,o=i.visible;this&&this.bubbleLegend&&(i.visible=!o,i.ignoreSeries=o,e=p(s)>=0,this.bubbleLegend.visible!==e&&(this.update({bubbleLegend:{enabled:e}}),this.bubbleLegend.visible=e),i.visible=o)}
2function f(t,e){let i=t.allItems,s=t.options.rtl,o,r,a,n,l=0;i.forEach((t,i)=>{(n=t.legendItem||{}).group&&(o=n.group.translateX||0,r=n.y||0,((a=t.movementX)||s&&t.ranges)&&(a=s?o-t.options.maxSize/2:o+a,n.group.attr({translateX:a})),i>e[l].step&&l++,n.group.attr({translateY:Math.round(r+e[l].height/2)}),n.y=r+e[l].height/2)})}return{compose:function(e,i){h(a,"Series.BubbleLegend")&&(r({legend:{bubbleLegend:t}}),d(e.prototype,"drawChartBox",c),n(i,"afterGetAllItems",g),n(i,"itemClick",m))}}}),i(e,"Series/Bubble/BubblePoint.js",[e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{seriesTypes:{scatter:{prototype:{pointClass:s}}}}=e,{extend:o}=i;class r extends s{haloPath(e){let i=(e&&this.marker&&this.marker.radius||0)+e;if(this.series.chart.inverted){let t=this.pos()||[0,0],{xAxis:e,yAxis:s,chart:o}=this.series;return o.renderer.symbols.circle(e.len-t[1]-i,s.len-t[0]-i,2*i,2*i)}return t.prototype.haloPath.call(this,i)}}return o(r.prototype,{ttBelow:!1}),r}),i(e,"Series/Bubble/BubbleSeries.js",[e["Series/Bubble/BubbleLegendComposition.js"],e["Series/Bubble/BubblePoint.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){let{parse:a}=i,{composed:n,noop:l}=s,{series:h,seriesTypes:{column:{prototype:d},scatter:c}}=o,{addEvent:p,arrayMax:u,arrayMin:g,clamp:m,extend:f,isNumber:y,merge:x,pick:b,pushUnique:v}=r;function S(){let t=this.len,{coll:e,isXAxis:i,min:s}=this,o=i?"xData":"yData",r=(this.max||0)-(s||0),a=0,n=t,l=t/r,h;
2("xAxis"===e||"yAxis"===e)&&(this.series.forEach(t=>{if(t.bubblePadding&&t.reserveSpace()){this.allowZoomOutside=!0,h=!0;let e=t[o];if(i&&((t.onPoint||t).getRadii(0,0,t),t.onPoint&&(t.radii=t.onPoint.radii)),r>0){let i=e.length;for(;i--;)if(y(e[i])&&this.dataMin<=e[i]&&e[i]<=this.max){let o=t.radii&&t.radii[i]||0;a=Math.min((e[i]-s)*l-o,a),n=Math.max((e[i]-s)*l+o,n)}}}}),h&&r>0&&!this.logarithmic&&(n-=t,l*=(t+Math.max(0,a)-Math.min(n,t))/t,[["min","userMin",a],["max","userMax",n]].forEach(t=>{void 0===b(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/l)})))}class M extends c{static compose(e,i,s){t.compose(i,s),v(n,"Series.Bubble")&&p(e,"foundExtremes",S)}animate(t){!t&&this.points.length<this.options.animationLimit&&this.points.forEach(function(t){let{graphic:e,plotX:i=0,plotY:s=0}=t;e&&e.width&&(this.hasRendered||e.attr({x:i,y:s,width:1,height:1}),e.animate(this.markerAttribs(t),this.options.animation))},this)}getRadii(){let t=this.zData,e=this.yData,i=[],s,o,r,a=this.chart.bubbleZExtremes,{minPxSize:n,maxPxSize:l}=this.getPxExtremes();if(!a){let t,e=Number.MAX_VALUE,i=-Number.MAX_VALUE;this.chart.series.forEach(s=>{if(s.bubblePadding&&s.reserveSpace()){let o=(s.onPoint||s).getZExtremes();o&&(e=Math.min(b(e,o.zMin),o.zMin),i=Math.max(b(i,o.zMax),o.zMax),t=!0)}}),t?(a={zMin:e,zMax:i},this.chart.bubbleZExtremes=a):a={zMin:0,zMax:0}}for(o=0,s=t.length;o<s;o++)r=t[o],i.push(this.getRadius(a.zMin,a.zMax,n,l,r,e&&e[o]));this.radii=i}getRadius(t,e,i,s,o,r){let a=this.options,n="width"!==a.sizeBy,l=a.zThreshold,h=e-t,d=.5;if(null===r||null===o)return null;if(y(o)){if(a.sizeByAbsoluteValue&&(o=Math.abs(o-l),e=h=Math.max(e-l,Math.abs(t-l)),t=0),o<t)return i/2-1;h>0&&(d=(o-t)/h)}return n&&d>=0&&(d=Math.sqrt(d)),Math.ceil(i+d*(s-i))/2}hasData(){return!!this.processedXData.length}markerAttribs(t,e){let i=super.markerAttribs(t,e),{height:s=0,width:o=0}=i;return this.chart.inverted?f(i,{x:(t.plotX||0)-o/2,y:(t.plotY||0)-s/2}):i}pointAttribs(t,e){let i=this.options.marker.fillOpacity,s=h.prototype.pointAttribs.call(this,t,e);return 1!==i&&(s.fill=a(s.fill).setOpacity(i).get("rgba")),s}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:t,options:e,radii:i}=this,{minPxSize:s}=this.getPxExtremes(),o=t.length;for(;o--;){let r=t[o],a=i?i[o]:0;"z"===this.zoneAxis&&(r.negative=(r.z||0)<(e.zThreshold||0)),y(a)&&a>=s/2?(r.marker=f(r.marker,{radius:a,width:2*a,height:2*a}),r.dlBox={x:r.plotX-a,y:r.plotY-a,width:2*a,height:2*a}):(r.shapeArgs=r.plotY=r.dlBox=void 0,r.isInside=!1)}}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return"string"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},i=e(b(this.options.minSize,8)),s=Math.max(e(b(this.options.maxSize,"20%")),i);return{minPxSize:i,maxPxSize:s}}getZExtremes(){let t=this.options,e=(this.zData||[]).filter(y);if(e.length){let i=b(t.zMin,m(g(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),s=b(t.zMax,u(e));if(y(i)&&y(s))return{zMin:i,zMax:s}}}}return M.defaultOptions=x(c.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{z:e}=this.point;return y(e)?t(e,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),f(M.prototype,{alignDataLabel:d.alignDataLabel,applyZones:l,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:e,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),p(M,"updatedData",t=>{delete t.target.chart.bubbleZExtremes}),p(M,"remove",t=>{delete t.target.chart.bubbleZExtremes}),o.registerSeriesType("bubble",M),M}),i(e,"Series/MapBubble/MapBubblePoint.js",[e["Series/Bubble/BubblePoint.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{seriesTypes:{map:{prototype:{pointClass:{prototype:s}}}}}=e,{extend:o}=i;class r extends t{isValid(){return"number"==typeof this.z}}return o(r.prototype,{applyOptions:s.applyOptions,getProjectedBounds:s.getProjectedBounds}),r}),i(e,"Series/MapBubble/MapBubbleSeries.js",[e["Series/Bubble/BubbleSeries.js"],e["Series/MapBubble/MapBubblePoint.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,
2i,s){let{seriesTypes:{map:{prototype:o},mappoint:{prototype:r}}}=i,{extend:a,merge:n}=s;class l extends t{constructor(){super(...arguments),this.clearBounds=o.clearBounds}searchPoint(t,e){return this.searchKDTree({plotX:t.chartX-this.chart.plotLeft,plotY:t.chartY-this.chart.plotTop},e,t)}translate(){r.translate.call(this),this.getRadii(),this.translateBubble()}updateParallelArrays(t,e,i){super.updateParallelArrays.call(this,t,e,i);let s=this.processedXData,o=this.xData;s&&o&&(s.length=o.length)}}return l.defaultOptions=n(t.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),a(l.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:o.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:e,processData:o.processData,projectPoint:r.projectPoint,kdAxisArray:["plotX","plotY"],setData:o.setData,setOptions:o.setOptions,updateData:o.updateData,useMapGeometry:!0,xyFromShape:!0}),i.registerSeriesType("mapbubble",l),l}),i(e,"Series/Heatmap/HeatmapPoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{scatter:{prototype:{pointClass:i}}}=t.seriesTypes,{clamp:s,defined:o,extend:r,pick:a}=e;class n extends i{applyOptions(t,e){return(this.isNull||null===this.value)&&delete this.color,super.applyOptions(t,e),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let t=this.series,e=t.options,i=(e.colsize||1)/2,r=(e.rowsize||1)/2,n=t.xAxis,l=t.yAxis,h=this.options.marker||t.options.marker,d=t.pointPlacementToXValue(),c=a(this.pointPadding,e.pointPadding,0),p={x1:s(Math.round(n.len-n.translate(this.x-i,!1,!0,!1,!0,-d)),-n.len,2*n.len),x2:s(Math.round(n.len-n.translate(this.x+i,!1,!0,!1,!0,-d)),-n.len,2*n.len),y1:s(Math.round(l.translate(this.y-r,!1,!0,!1,!0)),-l.len,2*l.len),y2:s(Math.round(l.translate(this.y+r,!1,!0,!1,!0)),-l.len,2*l.len)};for(let t of[["width","x"],["height","y"]]){let e=t[0],i=t[1],s=i+"1",r=i+"2",a=Math.abs(p[s]-p[r]),d=h&&h.lineWidth||0,u=Math.abs(p[s]+p[r])/2,g=h&&h[e];if(o(g)&&g<a){let t=g/2+d/2;p[s]=u-t,p[r]=u+t}c&&(("x"===i&&n.reversed||"y"===i&&!l.reversed)&&(s=r,r=i+"1"),p[s]+=c,p[r]-=c)}return p}haloPath(t){if(!t)return[];let{x:e=0,y:i=0,width:s=0,height:o=0}=this.shapeArgs||{};return[["M",e-t,i-t],["L",e-t,i+o+t],["L",e+s+t,i+o+t],["L",e+s+t,i-t],["Z"]]}isValid(){return this.value!==1/0&&this.value!==-1/0}}return r(n.prototype,{dataLabelOnNull:!0,moveToTopOnHover:!0,ttBelow:!1}),n}),i(e,"Series/Heatmap/HeatmapSeriesDefaults.js",[e["Core/Utilities.js"]],function(t){let{isNumber:e}=t;return{animation:!1,borderRadius:0,borderWidth:0,interpolation:!1,nullColor:"#f7f7f7",dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{value:i}=this.point;return e(i)?t(i,-1):""},inside:!0,verticalAlign:"middle",crop:!1,overflow:"allow",padding:0},marker:{symbol:"rect",radius:0,lineColor:void 0,states:{hover:{lineWidthPlus:0},select:{}}},clip:!0,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}<br/>"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}}),i(e,"Series/InterpolationUtilities.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{doc:i}=t,{defined:s,pick:o}=e;return{colorFromPoint:function(t,e){let i=e.series.colorAxis;if(i){let r=i.toColor(t||0,e).split(")")[0].split("(")[1].split(",").map(t=>o(parseFloat(t),parseInt(t,10)));return r[3]=255*o(r[3],1),s(t)&&e.visible||(r[3]=0),r}return[0,0,0,0]},getContext:function(t){let{canvas:e,context:s}=t;return e&&s?(s.clearRect(0,0,e.width,e.height),s):(t.canvas=i.createElement("canvas"),t.context=t.canvas.getContext("2d",{willReadFrequently:!0})||void 0,t.context)}}}),i(e,"Series/Heatmap/HeatmapSeries.js",[e["Core/Color/Color.js"],e["Series/ColorMapComposition.js"],e["Series/Heatmap/HeatmapPoint.js"],e["Series/Heatmap/HeatmapSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"],e["Series/InterpolationUtilities.js"]],function(t,e,i,s,o,r,a,n){let{series:l,seriesTypes:{column:h,scatter:d}}=o,{prototype:{symbols:c}}=r,{addEvent:p,extend:u,fireEvent:g,isNumber:m,merge:f,pick:y}=a,{colorFromPoint:x,getContext:b}=n;class v extends d{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let t=this,e=t.options,i=e.interpolation,s=e.marker||{};if(i){let{image:e,chart:i,xAxis:s,yAxis:o}=t,{reversed:r=!1,len:a}=s,{reversed:n=!1,len:l}=o,h={width:a,height:l};if(!e||t.isDirtyData||t.isDirtyCanvas){let a=b(t),{canvas:l,options:{colsize:d=1,rowsize:c=1},points:p,points:{length:u}}=t,g=i.colorAxis&&i.colorAxis[0];if(l&&a&&g){let{min:g,max:m}=s.getExtremes(),{min:f,max:y}=o.getExtremes(),b=m-g,v=y-f,S=Math.round(b/d/8*8),M=Math.round(v/c/8*8),[w,C]=[[S,S/b,r,"ceil"],[M,M/v,!n,"floor"]].map(([t,e,i,s])=>i?i=>Math[s](t-e*i):t=>
2Math[s](e*t)),k=l.width=S+1,A=k*(l.height=M+1),T=(u-1)/A,P=new Uint8ClampedArray(4*A),L=(t,e)=>4*Math.ceil(k*C(e-f)+w(t-g));t.buildKDTree();for(let t=0;t<A;t++){let e=p[Math.ceil(T*t)],{x:i,y:s}=e;P.set(x(e.value,e),L(i,s))}a.putImageData(new ImageData(P,k),0,0),e?e.attr({...h,href:l.toDataURL("image/png",1)}):(t.directTouch=!1,t.image=i.renderer.image(l.toDataURL("image/png",1)).attr(h).add(t.group))}t.isDirtyCanvas=!1}else(e.width!==a||e.height!==l)&&e.attr(h)}else(s.enabled||t._hasPointMarkers)&&(l.prototype.drawPoints.call(t),t.points.forEach(e=>{e.graphic&&(e.graphic[t.chart.styledMode?"css":"animate"](t.colorAttribs(e)),null===e.value&&e.graphic.addClass("highcharts-null-point"))}))}getExtremes(){let{dataMin:t,dataMax:e}=l.prototype.getExtremes.call(this,this.valueData);return m(t)&&(this.valueMin=t),m(e)&&(this.valueMax=e),l.prototype.getExtremes.call(this)}getValidPoints(t,e){return l.prototype.getValidPoints.call(this,t,e,!0)}hasData(){return!!this.xData}init(){super.init.apply(this,arguments);let t=this.options;t.pointRange=y(t.pointRange,t.colsize||1),this.yAxis.axisPointRange=t.rowsize||1,c.ellipse=c.circle,t.marker&&m(t.borderRadius)&&(t.marker.r=t.borderRadius)}markerAttribs(t,e){let i=t.shapeArgs||{};if(t.hasImage)return{x:t.plotX,y:t.plotY};if(e&&"normal"!==e){let s=t.options.marker||{},o=this.options.marker||{},r=o.states&&o.states[e]||{},a=s.states&&s.states[e]||{},n=(a.width||r.width||i.width||0)+(a.widthPlus||r.widthPlus||0),l=(a.height||r.height||i.height||0)+(a.heightPlus||r.heightPlus||0);return{x:(i.x||0)+((i.width||0)-n)/2,y:(i.y||0)+((i.height||0)-l)/2,width:n,height:l}}return i}pointAttribs(e,i){let s=l.prototype.pointAttribs.call(this,e,i),o=this.options||{},r=this.chart.options.plotOptions||{},a=r.series||{},n=r.heatmap||{},h=e&&e.options.borderColor||o.borderColor||n.borderColor||a.borderColor,d=e&&e.options.borderWidth||o.borderWidth||n.borderWidth||a.borderWidth||s["stroke-width"];if(s.stroke=e&&e.marker&&e.marker.lineColor||o.marker&&o.marker.lineColor||h||this.color,s["stroke-width"]=d,i&&"normal"!==i){let r=f(o.states&&o.states[i],o.marker&&o.marker.states&&o.marker.states[i],e&&e.options.states&&e.options.states[i]||{});s.fill=r.color||t.parse(s.fill).brighten(r.brightness||0).get(),s.stroke=r.lineColor||s.stroke}return s}translate(){let{borderRadius:t,marker:e}=this.options,i=e&&e.symbol||"rect",s=c[i]?i:"rect",o=-1!==["circle","square"].indexOf(s);if(!this.processedXData){let{xData:t,yData:e}=this.getProcessedData();this.processedXData=t,this.processedYData=e}for(let e of(this.generatePoints(),this.points)){let r=e.getCellAttributes(),a=Math.min(r.x1,r.x2),n=Math.min(r.y1,r.y2),l=Math.max(Math.abs(r.x2-r.x1),0),h=Math.max(Math.abs(r.y2-r.y1),0);if(e.hasImage=0===(e.marker&&e.marker.symbol||i||"").indexOf("url"),o){let t=Math.abs(l-h);a=Math.min(r.x1,r.x2)+(l<h?0:t/2),n=Math.min(r.y1,r.y2)+(l<h?t/2:0),l=h=Math.min(l,h)}e.hasImage&&(e.marker={width:l,height:h}),e.plotX=e.clientX=(r.x1+r.x2)/2,e.plotY=(r.y1+r.y2)/2,e.shapeType="path",e.shapeArgs=f(!0,{x:a,y:n,width:l,height:h},{d:c[s](a,n,l,h,{r:m(t)?t:0})})}g(this,"afterTranslate")}}return v.defaultOptions=f(d.defaultOptions,s),p(v,"afterDataClassLegendClick",function(){this.isDirtyCanvas=!0,this.drawPoints()}),u(v.prototype,{axisTypes:e.seriesMembers.axisTypes,colorKey:e.seriesMembers.colorKey,directTouch:!0,getExtremesFromAll:!0,parallelArrays:e.seriesMembers.parallelArrays,pointArrayMap:["y","value"],pointClass:i,specialGroup:"group",trackerGroups:e.seriesMembers.trackerGroups,alignDataLabel:h.prototype.alignDataLabel,colorAttribs:e.seriesMembers.colorAttribs,getSymbol:l.prototype.getSymbol}),e.compose(v),o.registerSeriesType("heatmap",v),v}),i(e,"masters/modules/map.src.js",[e["Core/Globals.js"],e["Maps/MapNavigation.js"],e["Series/ColorMapComposition.js"],e["Series/MapBubble/MapBubbleSeries.js"],e["Maps/GeoJSONComposition.js"],e["Core/Chart/MapChart.js"],e["Maps/MapView.js"],e["Maps/Projection.js"]],function(t,e,i,s,o,r,a,n){return t.ColorMapComposition=i,t.MapChart=t.MapChart||r,t.MapNavigation=t.MapNavigation||e,t.MapView=t.MapView||a,t.Projection=t.Projection||n,t.mapChart=t.Map=t.MapChart.mapChart,t.maps=t.MapChart.maps,t.geojson=o.geojson,t.topo2geo=o.topo2geo,o.compose(t.Chart),s.compose(t.Axis,t.Chart,t.Legend),e.compose(r,t.Pointer,t.SVGRenderer),a.compose(r),t}),i(e,"masters/highmaps.src.js",[e["masters/highcharts.src.js"]],function(t){return t.product="Highmaps",t}),e["masters/highmaps.src.js"]._modules=e,e["masters/highmaps.src.js"]}
2,t.exports?(i.default=i,t.exports=e&&e.document?i(e):i):(e.Highcharts&&e.Highcharts.error(16,!0),e.Highcharts=i(e))}(l);let h=n(l.exports),d={title:"United States of America",version:"2.3.0",type:"FeatureCollection",copyright:"Copyright (c) 2024 Highsoft AS, Based on data from Natural Earth",copyrightShort:"Natural Earth",copyrightUrl:"http://www.naturalearthdata.com",crs:{type:"name",properties:{name:"urn:ogc:def:crs:EPSG:102004"}},"hc-transform":{default:{crs:"+proj=lcc +lat_1=33 +lat_2=45 +lat_0=39 +lon_0=-96 +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs",scale:151481324748e-15,jsonres:15.5,jsonmarginX:-999,jsonmarginY:9851,xoffset:-2361356.09818,yoffset:1398996.77886},"us-all-hawaii":{xpan:190,ypan:417,hitZone:{type:"Polygon",coordinates:[[[1747,3920],[3651,2950],[3651,-999],[1747,-999],[1747,3920]]]},crs:"+proj=aea +lat_1=8 +lat_2=18 +lat_0=13 +lon_0=-157 +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs",scale:123090941806e-15,jsonres:15.5,jsonmarginX:-999,jsonmarginY:9851,xoffset:-338610.47557,yoffset:1022754.31736},"us-all-alaska":{rotation:-.0174532925199,xpan:5,ypan:357,hitZone:{type:"Polygon",coordinates:[[[-999,5188],[-707,5188],[1747,3920],[1747,-999],[-999,-999],[-999,5188]]]},crs:"+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs",scale:584397059179e-16,jsonres:15.5,jsonmarginX:-999,jsonmarginY:9851,xoffset:-1566154.00853,yoffset:1992671.14918}},features:[{type:"Feature",id:"US.MA",properties:{"hc-group":"admin1","hc-middle-x":.36,"hc-middle-y":.47,"hc-key":"us-ma","hc-a2":"MA",labelrank:"0",hasc:"US.MA","woe-id":"2347580","state-fips":"25",fips:"US25","postal-code":"MA",name:"Massachusetts",country:"United States of America",region:"Northeast",longitude:"-71.99930000000001","woe-name":"Massachusetts",latitude:"42.3739","
2woe-label":"Massachusetts, US, United States",type:"State"},geometry:{type:"MultiPolygon",coordinates:[[[[9430,7889],[9476,7878],[9436,7864],[9417,7844],[9430,7889]]],[[[9314,7915],[9312,7927],[9304,7921],[9278,7938],[9254,7990],[9177,7968],[8997,7925],[8860,7896],[8853,7901],[8856,8080],[8922,8096],[9005,8115],[9005,8115],[9222,8166],[9242,8201],[9300,8236],[9318,8197],[9357,8186],[9312,8147],[9299,8081],[9324,8091],[9365,8074],[9428,7985],[9483,7974],[9525,8007],[9501,8067],[9535,8028],[9549,7982],[9504,7965],[9420,7906],[9411,7955],[9371,7921],[9373,7898],[9339,7878],[9327,7915],[9314,7915]]]]}},{type:"Feature",id:"US.WA",properties:{"hc-group":"admin1","hc-middle-x":.56,"hc-middle-y":.52,"hc-key":"us-wa","hc-a2":"WA",labelrank:"0",hasc:"US.WA","woe-id":"2347606","state-fips":"53",fips:"US53","postal-code":"WA",name:"Washington",country:"United States of America",region:"West",longitude:"-120.361","woe-name":"Washington",latitude:"47.4865","woe-label":"Washington, US, United States",type:"State"},geometry:{type:"MultiPolygon",coordinates:[[[[-77,9797],[-56,9768],[-91,9757],[-86,9712],[-136,9751],[-111,9756],[-77,9797]]],[[[-52,9689],[-85,9658],[-66,9645],[-43,9568],[-77,9588],[-74,9635],[-89,9664],[-52,9690],[-60,9697],[-61,9737],[-31,9701],[-12,9731],[-9,9774],[-33,9788],[-46,9839],[-32,9851],[926,9593],[767,8925],[779,8870],[774,8822],[398,8914],[378,8905],[289,8922],[163,8905],[94,8923],[38,8914],[-10,8925],[-22,8950],[-113,8979],[-207,8965],[-283,9014],[-271,9096],[-280,9134],[-321,9167],[-357,9171],[-365,9207],[-400,9226],[-436,9219],[-460,9259],[-436,9333],[-441,9279],[-416,9297],[-401,9347],[-434,9357],[-429,9395],[-369,9396],[-424,943
26],[-424,9523],[-410,9624],[-433,9678],[-428,9749],[-385,9790],[-313,9713],[-183,9655],[-161,9666],[-146,9623],[-100,9637],[-95,9567],[-135,9518],[-77,9566],[-112,9491],[-89,9426],[-154,9433],[-175,9394],[-167,9449],[-222,9394],[-157,9376],[-124,9418],[-82,9426],[-82,9476],[-66,9527],[-18,9570],[-37,9644],[-24,9661],[-52,9689]]]]}},{type:"Feature",id:"US.CA",properties:{"hc-group":"admin1","hc-middle-x":.51,"hc-middle-y":.67,"hc-key":"us-ca","hc-a2":"CA",labelrank:"0",hasc:"US.CA","woe-id":"2347563","state-fips":"6",fips:"US06","postal-code":"CA",name:"California",country:"United States of America",region:"West",longitude:"-119.591","woe-name":"California",latitude:"36.7496","woe-label":"California, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[-833,8186],[-50,7955],[-253,7203],[32,6779],[261,6430],[593,5936],[620,5788],[660,5730],[598,5702],[559,5661],[555,5605],[510,5537],[489,5536],[476,5452],[519,5416],[492,5355],[451,5357],[-76,5426],[-69,5467],[-95,5476],[-84,5583],[-110,5649],[-224,5792],[-276,5799],[-265,5822],[-284,5881],[-342,5885],[-417,5946],[-422,5975],[-484,6035],[-539,6046],[-588,6077],[-659,6091],[-686,6135],[-647,6273],[-691,6316],[-672,6333],[-720,6428],[-742,6442],[-793,6601],[-820,6637],[-816,6709],[-775,6726],[-761,6756],[-778,6807],[-821,6819],[-855,6888],[-842,6929],[-853,6979],[-833,7041],[-810,7042],[-816,6985],[-764,6931],[-772,6991],[-797,7030],[-787,7089],[-738,7083],[-782,7126],[-806,7122],[-833,7050],[-892,7126],[-903,7243],[-983,7395],[-967,7420],[-969,7507],[-943,7553],[-936,7629],[-964,7712],[-999,7766],[-993,7813],[-890,7943],[-849,8038],[-844,8118],[-860,8134],[-833,8186]]]}},{type:"Feature",id:"US.OR",properties:{"hc-group":"admin1","hc-middle-x":.47,"hc-middle-y":.52,"hc-key":"us-or","hc-a2":"OR",labelrank:"0",hasc:"US.OR","woe-id":"2347596","state-fips":"41",fips:"US41","postal-code":"OR",name:"Oregon",country:"United States of America",region:"West",longitude:"-120.386","woe-name":"Oregon",latitude:"43.8333","woe-label":"Oregon, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[-50,7955],[-833,8186],[-851,8223],[-847,8281],[-817,8362],[-827,8415],[-793,8455],[-756,8527],[-714,8570],[-672,8648],[-594,8829],[-582,8877],[-494,9051],[-493,9108],[-468,9158],[-460,9216],[-396,9192],[-367,9202],[-359,9169],[-321,9167],[-280,9134],[-271,9096],[-283,9014],[-207,8965],[-113,8979],[-22,8950],[-10,8925],[38,8914],[94,8923],[163,8905],[289,8922],[378,8905],[398,8914],[774,8822],[785,8775],[821,8744],[823,8698],[776,8646],[718,8545],[624,8450],[615,8403],[662,8361],[616,8265],[510,7813],[-50,7955]]]}},{type:"Feature",id:"US.WI",properties:{"hc-group":"admin1","hc-middle-x":.41,"hc-middle-y":.38,"hc-key":"us-wi","hc-a2":"WI",labelrank:"0",hasc:"US.WI","woe-id":"2347608","state-fips":"55",fips:"US55","postal-code":"WI",name:"Wisconsin",country:"United States of America",region:"Midwest",longitude:"-89.5831","woe-name":"Wisconsin",latitude:"44.3709","woe-label":"Wisconsin, US, United States",type:"State"},geometry:{type:"MultiPolygon",coordinates:[[[[6206,8297],[6197,8237],[6159,8156],[6136,8180],[6161,8249],[6206,8297]]],[[[5575,7508],[5561,7544],[5494,7563],[5465,7670],[5479,7702],[5445,7758],[5431,7866],[5405,7892],[5360,7903],[5273,7994],[5217,8029],[5181,8035],[5136,8072],[5146,8117],[5144,8214],[5158,8253],[5117,8285],[5116,8322],[5147,8375],[5220,8422],[5214,8573],[5245,8603],[5303,8589],[5410,8635],[5449,8660],[5489,8656],[5481,8617],[5508,8583],[5554,8572],[5588,8553],[5611,8510],[5795,8473],[5849,8447],[5968,8437],[5993,8394],[6045,8372],[6042,8286],[6080,8287],[6071,8242],[6096,8224],[6058,8180],[6028,8078],[6049,8076],[6099,8156],[6129,8170],[6153,8151],[6124,8019],[6136,7996],[6101,7916],[6110,7860],[6082,7742],[6089,7679],[6116,7626],[6119,7543],[5780,7519],[5606,7509],[5575,7508]]]]}},{type:"Feature",id:"US.ME",properties:{"hc-group":"admin1","hc-middle-x":.43,"hc-middle-y":.4,"hc-key":"us-me","hc-a2":"ME",labelrank:"0",hasc:"US.ME","woe-id":"2347578","state-fips":"23",fips:"US23","postal-code":"ME",name:"Maine",country:"United States of America",region:"Northeast",longitude:"-69.1973","woe-name":"Maine",latitude:"45.148","woe-label":"Maine, US, United States",type:"State"},geometry:{type:"MultiPolygon",coordinates:[[[[9623,8727],[9643,8763],[9665,8747],[9641,8690],[9623,8727]]],[[[9225,8399],[9079,8830],[9115,8824],[9130,8917],[9168,8971],[9177,9035],[9160,9
2062],[9160,9140],[9176,9161],[9166,9236],[9238,9459],[9272,9467],[9292,9423],[9319,9415],[9428,9491],[9519,9435],[9630,9097],[9697,9099],[9717,9017],[9747,8995],[9778,9009],[9851,8939],[9818,8875],[9789,8883],[9784,8851],[9706,8811],[9712,8773],[9690,8747],[9669,8782],[9611,8766],[9590,8707],[9615,8647],[9554,8716],[9552,8761],[9517,8719],[9529,8622],[9505,8581],[9483,8586],[9467,8544],[9433,8531],[9420,8493],[9387,8524],[9346,8471],[9362,8439],[9314,8347],[9298,8291],[9235,8354],[9225,8399]]]]}},{type:"Feature",id:"US.MI",properties:{"hc-group":"admin1","hc-middle-x":.71,"hc-middle-y":.67,"hc-key":"us-mi","hc-a2":"MI",labelrank:"0",hasc:"US.MI","woe-id":"2347581","state-fips":"26",fips:"US26","postal-code":"MI",name:"Michigan",country:"United States of America",region:"Midwest",longitude:"-84.9479","woe-name":"Michigan",latitude:"43.4343","woe-label":"Michigan, US, United States",type:"State"},geometry:{type:"MultiPolygon",coordinates:[[[[6802,8561],[6808,8523],[6764,8521],[6774,8565],[6802,8561]]],[[[5863,9010],[5834,8966],[5759,8913],[5758,8947],[5863,9010]]],[[[6976,7443],[6815,7415],[6718,7400],[6716,7416],[6323,7372],[6364,7423],[6399,7509],[6417,7630],[6409,7695],[6330,7861],[6345,7903],[6322,7979],[6361,8059],[6352,8141],[6381,8159],[6381,8204],[6423,8217],[6453,8283],[6469,8252],[6460,8196],[6479,8180],[6501,8221],[6497,8298],[6533,8342],[6567,8348],[6542,8410],[6593,8461],[6646,8436],[6627,8469],[6669,8467],[6654,8434],[6698,8433],[6726,8400],[6837,8377],[6863,8359],[6884,8307],[6860,8285],[6902,8213],[6903,8115],[6872,8094],[6868,8040],[6821,8014],[6824,7934],[6868,7920],[6900,7950],[6937,8030],[6993,8059],[7042,8027],[7097,7866],[7128,7802],[7124,7704],[7066,7697],[7061,7631],[7021,7590],[7008,7500],[6976,7443]]],[[[5874,8741],[5900,8700],[5901,8651],[5938,8693],[6017,8689],[6049,8673],[6107,8596],[6174,8609],[6192,8589],[6244,8596],[6318,8663],[6430,8674],[6485,8705],[6529,8713],[6518,8645],[6560,8631],[6591,8646],[6609,8627],[6633,8653],[6688,8665],[6692,8589],[6745,8536],[6723,8521],[6631,8516],[6606,8530],[6598,8476],[6541,8514],[6480,8529],[6444,8521],[6426,8490],[6320,8470],[6302,8429],[6244,8388],[6264,8448],[6227,8437],[6192,8395],[6185,8444],[6096,8224],[6071,8242],[6080,8287],[6042,8286],[6045,8372],[5993,8394],[5968,8437],[5849,8447],[5795,8473],[5611,8510],[5588,8553],[5554,8572],[5623,8604],[5661,8642],[5731,8656],[5776,8696],[5805,8702],[5860,8764],[5868,8750],[5893,8802],[5958,8837],[6017,8829],[5931,8757],[5903,8703],[5900,8738],[5874,8741]]]]}},{type:"Feature",id:"US.NV",properties:{"hc-group":"admin1","hc-middle-x":.46,"hc-middle-y":.38,"hc-key":"us-nv","hc-a2":"NV",labelrank:"0",hasc:"US.NV","woe-id":"2347587","state-fips":"32",fips:"US32","postal-code":"NV",name:"Nevada",country:"United States of America",region:"West",longitude:"-117.02","woe-name":"Nevada",latitude:"39.4299","woe-label":"Nevada, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[-50,7955],[510,7813],[897,7727],[1073,7690],[929,6975],[818,6420],[777,6221],[752,6180],[669,6227],[631,6217],[631,6159],[611,6068],[614,5982],[593,5936],[261,6430],[32,6779],[-253,7203],[-50,7955]]]}},{type:"Feature",id:"US.NM",properties:{"hc-group":"admin1","hc-middle-x":.51,"hc-middle-y":.5,"hc-key":"us-nm","hc-a2":"NM",labelrank:"0",hasc:"US.NM","woe-id":"2347590","state-fips":"35",fips:"US35","postal-code":"NM",name:"New Mexico",country:"United States of America",region:"West",longitude:"-106.024","woe-name":"New Mexico",latitude:"34.5002","woe-label":"New Mexico, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[1841,6242],[3091,6104],[3083,6007],[3081,5975],[3072,5970],[2976,4810],[2181,4887],[2208,4823],[1830,4873],[1815,4756],[1630,4782],[1736,5514],[1841,6242]]]}},{type:"Feature",id:"US.CO",properties:{"hc-group":"admin1","hc-middle-x":.51,"hc-middle-y":.5,"hc-key":"us-co","hc-a2":"CO",labelrank:"0",hasc:"US.CO","woe-id":"2347564","state-fips":"8",fips:"US08","postal-code":"CO",name:"Colorado",country:"United States of America",region:"West",longitude:"-105.543","woe-name":"Colorado",latitude:"38.9998","woe-label":"Colorado, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[3091,6104],[1841,6242],[1966,7108],[1990,7269],[2964,7155],[3357,7124],[3339,6866],[3329,6696],[3290,6089],[3091,6104]]]}},{type:"Feature",id:"US.WY",properties:{"hc-group":"admin1","hc-middle-x":.51,"hc-middle-y":.5,"hc-key":"us-wy","hc-a2":"WY",labelrank:"0",hasc:"US.WY","woe-id":"2347609","state-fips":"56",fips:"US56","postal-code":"WY",name:"Wyoming",country:"United States of America",region:"West",longitude:"-107.552","woe-name":"Wyoming",latitude:"42.9999","woe-label":"Wyoming, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[2964,7155],[1990,7269],[1600,7329],[1643,7585],[1677,7785],[1750,8226],[1772,8355],[3056,8191],[3019,7770],[3010,7672],[3002,7575],[2964,7155]]]}},{type:"Feature",id:"US.KS",properties:{"hc-group":"admin1","hc-middle-x":.3,"hc-middle-y":.49,"hc-key":"us-ks","hc-a2":"KS",labelrank:"0",hasc:"US.KS","woe-id":"2347575","state-fips":"20",fips:"US20","postal-code":"KS",name:"Kansas",country:"United States of America",region:"Midwest",longitude:"-98.3309","woe-name":"Kansas",latitude:"38.5","woe-label":"Kansas, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[3339,6866],[4682,6826],[4769,6780],[4726,6705],[4767,6667],[4781,6624],[4824,6600],[4833,6050],[3290,6089],[3329,6696],[3339,6866]]]}},{type:"Feature",id:"US.NE",properties:{"hc-group":"admin1","hc-middle-x":.43,"hc-middle-y":.5,"hc-key":"us-ne","hc-a2":"NE",labelrank:"0",hasc:"US.NE","woe-id":"2347586","state-fips":"31",fips:"US31","postal-code":"NE",name:"Nebraska",country:"United States of America",region:"Midwest",longitude:"-99.68550000000001","woe-name":"Nebraska",latitude:"41.5002","woe-label":"Nebraska, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[4682,6826],[3339,6866],[3357,7124],[2964,7155],[3002,7575],[3010,7672],[4071,7611],[4148,7558],[4194,7574],[4297,7577],[4330,7551],[4409,7521],[4453,7479],[4469,7474],[4478,7398],[4515,7341],[4533,7291],[4529,7228],[4559,7206],[4571,7165],[4579,7031],[4592,6986],[4592,6981],[4592,6981],[4591,6981],[4591,6981],[4619,6915],[4682,6826]]]}},{type:"Feature",id:"US.OK",properties:{"hc-group":"admin1","hc-middle-x":.78,"hc-middle-y":.52,"hc-key":"us-ok","hc-a2":"OK",labelrank:"0",hasc:"US.OK","woe-id":"2347595","state-fips":"40",fips:"US40","postal-code":"OK",name:"Oklahoma",country:"United States of America",region:"South",longitude:"-97.1309","woe-name":"Oklahoma",latitude:"35.452","woe-label":"Oklahoma, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[3290,6089],[4833,6050],[4833,6017],[4835,5920],[4877,5632],[4875,5180],[4790,5207],[4714,5260],[4685,5235],[4632,5257],[4595,5233],[4559,5242],[4474,5191],[4405,5248],[4360,5237],[4347,5258],[43
212,5234],[4304,5199],[4283,5247],[4248,5227],[4181,5268],[4121,5246],[4093,5310],[4007,5296],[3908,5334],[3856,5341],[3842,5388],[3753,5388],[3686,5437],[3707,5936],[3081,5975],[3083,6007],[3091,6104],[3290,6089]]]}},{type:"Feature",id:"US.MO",properties:{"hc-group":"admin1","hc-middle-x":.48,"hc-middle-y":.51,"hc-key":"us-mo","hc-a2":"MO",labelrank:"0",hasc:"US.MO","woe-id":"2347584","state-fips":"29",fips:"US29","postal-code":"MO",name:"Missouri",country:"United States of America",region:"Midwest",longitude:"-92.446","woe-name":"Missouri",latitude:"38.5487","woe-label":"Missouri, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[4835,5920],[4833,6017],[4833,6050],[4824,6600],[4781,6624],[4767,6667],[4726,6705],[4769,6780],[4682,6826],[4619,6915],[4591,6981],[4591,6981],[4592,6981],[4846,6977],[5120,6985],[5389,7006],[5449,6947],[5449,6947],[5449,6947],[5436,6893],[5454,6813],[5475,6774],[5540,6711],[5588,6679],[5616,6596],[5642,6567],[5672,6592],[5735,6561],[5692,6420],[5752,6350],[5792,6336],[5873,6276],[5898,6211],[5886,6165],[5918,6121],[5975,6097],[5976,6033],[5956,5988],[5932,6005],[5921,5968],[5911,5955],[5907,5967],[5890,5980],[5893,5966],[5901,5936],[5869,5898],[5888,5872],[5868,5834],[5731,5821],[5790,5904],[5767,5957],[4835,5920]]]}},{type:"Feature",id:"US.IL",properties:{"hc-group":"admin1","hc-middle-x":.56,"hc-middle-y":.45,"hc-key":"us-il","hc-a2":"IL",labelrank:"0",hasc:"US.IL","woe-id":"2347572","state-fips":"17",fips:"US17","postal-code":"IL",name:"Illinois",country:"United States of America",region:"Midwest",longitude:"-89.1991","woe-name":"Illinois",latitude:"39.946","woe-label":"Illinois, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[6119,7543],[6121,7488],[6192,7351],[6247,6739],[6226,6674],[6254,6638],[6266,6585],[6244,6520],[6222,6503],[6194,6422],[6176,6404],[6179,6328],[6159,6283],[6171,6241],[6102,6218],[6105,6131],[6015,6162],[5987,6157],[5962,6117],[5975,6097],[5918,6121],[5886,6165],[5898,6211],[5873,6276],[5792,6336],[5752,6350],[5692,6420],[5735,6561],[5672,6592],[5642,6567],[5616,6596],[5588,6679],[5540,6711],[5475,6774],[5454,6813],[5436,6893],[5449,6947],[5449,6947],[5449,6947],[5458,7004],[5496,7020],[5535,7098],[5536,7132],[5509,7160],[5523,7224],[5579,7232],[5646,7276],[5671,7332],[5672,7411],[5625,7441],[5575,7508],[5575,7508],[5606,7509],[5848,7523],[6119,7543]]]}},{type:"Feature",id:"US.IN",properties:{"hc-group":"admin1","hc-middle-x":.49,"hc-middle-y":.43,"hc-key":"us-in","hc-a2":"IN",labelrank:"0",hasc:"US.IN","woe-id":"2347573","state-fips":"18",fips:"US18","postal-code":"IN",name:"Indiana",country:"United States of America",region:"Midwest",longitude:"-86.1396","woe-name":"Indiana",latitude:"39.8874","woe-label":"Indiana, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[6192,7351],[6239,7329],[6323,7372],[6716,7416],[6718,7400],[6732,7296],[6797,6730],[6792,6683],[6808,6651],[6737,6617],[6682,6619],[6693,6572],[6657,6540],[6652,6507],[6622,6498],[6608,6438],[6583,6411],[6531,6450],[6485,6413],[6485,6390],[6444,6379],[6426,6401],[6359,6356],[6303,6376],[6269,6350],[6209,6363],[6179,6328],[6176,6404],[6194,6422],[6222,6503],[6244,6520],[6266,6585],[6254,6638],[6226,6674],[6247,6739],[6192,7351]]]}},{type:"Feature",id:"US.VT",properties:{"hc-group":"admin1","hc-middle-x":.42,"hc-middle-y":.43,"hc-key":"us-vt","hc-a2":"VT",labelrank:"0",hasc:"US.VT","woe-id":"2347604","state-fips":"50",fips:"US50","postal-code":"
2VT",name:"Vermont",country:"United States of America",region:"Northeast",longitude:"-72.7317","woe-name":"Vermont",latitude:"44.0886","woe-label":"Vermont, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[8922,8096],[8856,8080],[8807,8284],[8772,8287],[8772,8328],[8740,8402],[8748,8453],[8739,8514],[8720,8537],[8695,8646],[8811,8677],[9024,8736],[9020,8661],[9045,8629],[9033,8585],[8978,8526],[8986,8490],[8981,8392],[8964,8320],[8979,8261],[8979,8148],[9005,8115],[9005,8115],[8922,8096]]]}},{type:"Feature",id:"US.AR",properties:{"hc-group":"admin1","hc-middle-x":.47,"hc-middle-y":.43,"hc-key":"us-ar","hc-a2":"AR",labelrank:"0",hasc:"US.AR","woe-id":"2347562","state-fips":"5",fips:"US05","postal-code":"AR",name:"Arkansas",country:"United States of America",region:"South",longitude:"-92.14279999999999","woe-name":"Arkansas",latitude:"34.7563","woe-label":"Arkansas, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[4975,5016],[4971,5157],[4910,5157],[4875,5180],[4877,5632],[4835,5920],[5767,5957],[5790,5904],[5731,5821],[5868,5834],[5871,5791],[5827,5763],[5835,5714],[5798,5670],[5802,5602],[5762,5567],[5770,5547],[5730,5520],[5706,5470],[5709,5414],[5635,5340],[5647,5309],[5609,5297],[5620,5250],[5583,5215],[5607,5162],[5598,5120],[5618,5077],[5605,5041],[5563,5038],[4975,5016]]]}},{type:"Feature",id:"US.TX",properties:{"hc-group":"admin1","hc-middle-x":.69,"hc-middle-y":.52,"hc-key":"us-tx","hc-a2":"TX",labelrank:"0",hasc:"US.TX","woe-id":"2347602","state-fips":"48",fips:"US48","postal-code":"TX",name:"Texas",country:"United States of America",region:"South",longitude:"-98.7607","woe-name":"Texas",latitude:"31.131","woe-label":"Texas, US, United States",type:"State"},geometry:{type:"MultiPolygon",coordinates:[[[[4875,5180],[4910,5157],[4971,5157],[4975,5016],[4980,4752],[5033,4679],[5031,4646],[5105,4506],[5093,4447],[5059,4380],[5065,4253],[5047,4228],[5018,4172],[5032,4146],[4989,4147],[4854,4084],[4875,4116],[4831,4102],[4842,4162],[4778,4141],[4769,4106],[4839,4052],[4789,4023],[4801,4063],[4739,3976],[4638,3901],[4557,3881],[4544,3857],[4451,3804],[4448,3787],[4381,3749],[4308,3672],[4340,3735],[4307,3756],[4261,3721],[4306,3712],[4263,3655],[4221,3658],[4249,3617],[4213,3527],[4195,3545],[4141,3510],[4206,3511],[4178,3442],[4232,3206],[4272,3164],[4203,3135],[4114,3192],[4013,3198],[3979,3230],[3915,3245],[3878,3279],[3810,3292],[3795,3375],[3727,3467],[3715,3534],[3721,3603],[3677,3628],[3595,3762],[3548,3801],[3525,3881],[3477,3970],[3469,4021],[3393,4097],[3411,4119],[3365,4132],[3310,4204],[3150,4220],[3103,4248],[3082,4218],[3018,4214],[2959,4096],[2967,4083],[2896,4024],[2861,4031],[2754,4113],[2695,4134],[2651,4187],[2595,4230],[2567,4305],[2573,4370],[2512,4503],[2437,4557],[2309,4714],[2275,4731],[2239,4806],[2208,4823],[2181,4887],[2976,4810],[3072,5970],[3081,5975],[3707,5936],[3686,5437],[3753,5388],[3842,5388],[3856,5341],[3908,5334],[4007,5296],[4093,5310],[4121,5246],[4181,5268],[4248,5227],[4283,5247],[4304,5199],[4312,5234],[4347,5258],[4360,5237],[4405,5248],[4474,5191],[4559,5242],[4595,5233],[4632,5257],[4685,5235],[4714,5260],[4790,5207],[4875,5180]]],[[[4269,3610],[4220,3493],[4219,3420],[4245,3297],[4214,3394],[4222,3530],[4269,3610]]]]}},{type:"Feature",id:"US.RI",properties:{"hc-group":"admin1","hc-middle-x":.55,"hc-middle-y":.78,"hc-key":"us-ri","hc-a2":"RI",labelrank:"0",hasc:"US.RI","woe-id":"2347598","state-fips":"44",fips:"US44","postal-code":"RI",name:"Rhode Island",country:"United States of America",region:"Northeast",longitude:"-71.5082","woe-name":"Rhode Island",latitude:"41.6242","woe-label":"Rhode Island, US, United States",type:"State"},geometry:{type:"MultiPolygon",coordinates:[[[[9339,7878],[9325,7871],[9314,7915],[9327,7915],[9339,7878]]],[[[9177,7968],[9254,7990],[9278,7938],[9304,7921],[9320,7866],[9285,7851],[9279,7822],[9216,7790],[9212,7845],[9177,7968]]]]}},{type:"Feature",id:"US.AL",properties:{"hc-group":"admin1","hc-middle-x":.47,"hc-middle-y":.42,"hc-key":"us-al","hc-a2":"AL",labelrank:"0",hasc:"US.AL","woe-id":"2347559","state-fips":"1",fips:"US01","postal-code":"AL",name:"Alabama",country:"United States of America",region:"South",longitude:"-86.7184","woe-name":"Alabama",latitude:"32.8551","woe-label":"Alabama, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[6487,4443],[6440,4378],[6291,4361],[6336,4375],[6317,4398],[6267,4399],[6216,4788],[6236,5574],[6215,5600],[6213,5603],[6762,5652],[6912,5135],[6947,5053],[6998,4970],[6970,4930],[6958,4846],[6990,4774],[6983,4704],[7015,4637],[6436,4574],[6431,4541],[6487,4486],[6487,4443]]]}},{type:"Feature",id:"US.MS",properties:{"hc-group":"admin1","hc-middle-x":.51,"hc-middle-y":.48,"hc-key":"us-ms","hc-a2":"MS",labelrank:"0",hasc:"US.MS","woe-id":"2347583","state-fips":"28",fips:"US28","postal-code":"MS",name:"Mississippi",country:"United States of America",region:"South",longitude:"-89.71890000000001","woe-name":"Mississippi",latitude:"32.8657","woe-label":"Mississippi, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[6267,4399],[6164,4396],[6059,4360],[6017,4328],[5936,4451],[5955,4536],[5523,4510],[5540,4526],[5522,4581],[5545,4585],[5545,4642],[5565,4662],[5584,4738],[5636,4781],[5670,4868],[5629,4895],[5611,4977],[5627,5018],[5605,5041],[5618,5077],[5598,5120],[5607,5162],[5583,5215],[5620,5250],[5609,5297],[5647,5309],[5635,5340],[5709,5414],[5706,5470],[5730,5520],[5770,5547],[5762,5567],[6122,5592],[6215,5600],[6236,5574],[6216,4788],[6267,4399]]]}},{type:"Feature",id:"US.NC",properties:{"hc-group":"admin1","hc-middle-x":.62,"hc-middle-y":.5,"hc-key":"us-nc","hc-a2":"NC",labelrank:"0",hasc:"US.NC","woe-id":"2347592","state-fips":"37",fips:"US37","postal-code":"NC",name:"North Carolina",country:"United States of America",region:"South",longitude:"-78.866","woe-name":"North Carolina",latitude:"35.6152","woe-label":"North Carolina, US, United States",type:"State"},geometry:{type:"MultiPolygon",coordinates:[[[[8716,6394],[8720,6381],[8694,6389],[8694,6389],[8704,6391],[8705,6390],[8709,6392],[8712,6393],[8716,6394]]],[[[8727,6396],[8756,6332],[8852,6203],[8782,6278],[8722,6395],[8724,6396],[8727,6396]]],[[[7532,6183],[7623,6187],[7858,6219],[8691,6388],[8768,6281],[8670,6318],[8707,6291],[8620,6230],[8584,6234],[8581,6204],[8719,6244],[8742,6161],[8737,6222],[8760,6252],[8795,6220],[8797,6153],[8772,6164],[8750,6091],[8709,6073],[8638,6097],[8638,6070],[8551,6078],[8664,6053],[8635,6009],[8661,6003],[8610,5957],[8551,5988],[8590,5949],[8631,5940],[8676,5955],[8686,5995],[8721,5956],[8670,5890],[856
25,5865],[8469,5764],[8443,5714],[8432,5616],[8368,5624],[8302,5600],[8029,5790],[7791,5756],[7782,5790],[7714,5830],[7457,5802],[7290,5724],[7210,5711],[7034,5685],[7038,5756],[7073,5762],[7085,5807],[7131,5847],[7188,5859],[7269,5928],[7298,5973],[7352,6010],[7365,5989],[7437,6050],[7464,6038],[7490,6093],[7523,6123],[7532,6183]]]]}},{type:"Feature",id:"US.VA",properties:{"hc-group":"admin1","hc-middle-x":.64,"hc-middle-y":.54,"hc-key":"us-va","hc-a2":"VA",labelrank:"0",hasc:"US.VA","woe-id":"2347605","state-fips":"51",fips:"US51","postal-code":"VA",name:"Virginia",country:"United States of America",region:"South",longitude:"-78.2431","woe-name":"Virginia",latitude:"37.7403","woe-label":"Virginia, US, United States",type:"State"},geometry:{type:"MultiPolygon",coordinates:[[[[8722,6395],[8696,6432],[8704,6391],[8694,6389],[8694,6389],[8686,6398],[8691,6388],[7858,6219],[7623,6187],[7532,6183],[7472,6170],[7116,6120],[7221,6173],[7268,6217],[7309,6294],[7363,6332],[7431,6411],[7470,6351],[7530,6341],[7567,6378],[7595,6360],[7649,6382],[7664,6419],[7690,6412],[7773,6459],[7767,6505],[7840,6674],[7857,6759],[7932,6729],[7974,6848],[7998,6837],[8048,6900],[8072,6952],[8076,7028],[8188,6969],[8198,7020],[8256,7009],[8251,6984],[8341,6945],[8347,6939],[8353,6939],[8367,6892],[8334,6870],[8323,6802],[8347,6786],[8385,6812],[8429,6763],[8484,6768],[8507,6740],[8571,6721],[8572,6647],[8536,6648],[8499,6683],[8431,6711],[8532,6636],[8597,6606],[8561,6578],[8558,6548],[8577,6545],[8611,6494],[8586,6478],[8526,6534],[8449,6533],[8518,6510],[8580,6459],[8619,6482],[8679,6482],[8727,6396],[8724,6396],[8722,6395]],[[8558,6548],[8552,6548],[8552,6548],[8552,6548],[8484,6605],[8532,6551],[8552,6548],[8552,6548],[8552,6548],[8557,6544],[8558,6548]]],[[[8709,6392],[8713,6400],[8716,6394],[8712,6393],[8709,6392]]],[[[8765,6797],[8756,6760],[8761,6796],[8765,6797]]],[[[8688,6764],[8691,6772],[8739,6789],[8726,6737],[8674,6599],[8696,6561],[8678,6528],[8652,6583],[8652,6652],[8688,6764]]]]}},{type:"Feature",id:"US.IA",properties:{"hc-group":"admin1","hc-middle-x":.35,"hc-middle-y":.49,"hc-key":"us-ia","hc-a2":"IA",labelrank:"0",hasc:"US.IA","woe-id":"2347574","state-fips":"19",fips:"US19","postal-code":"IA",name:"Iowa",country:"United States of America",region:"Midwest",longitude:"-93.3891","woe-name":"Iowa",latitude:"42.0423","woe-label":"Iowa, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[5575,7508],[5625,7441],[5672,7411],[5671,7332],[5646,7276],[5579,7232],[5523,7224],[5509,7160],[5536,7132],[5535,7098],[5496,7020],[5458,7004],[5449,6947],[5449,6947],[5449,6947],[5389,7006],[5120,6985],[4846,6977],[4592,6981],[4591,6981],[4579,7031],[4571,7165],[4559,7206],[4529,7228],[4533,7291],[4515,7341],[4478,7398],[4469,7474],[4453,7479],[4423,7540],[4459,7636],[4438,7663],[4433,7734],[4459,7735],[5137,7745],[5445,7758],[5479,7702],[5465,7670],[5494,7563],[5561,7544],[5577,7513],[5575,7508],[5575,7508]]]}},{type:"Feature",id:"US.MD",properties:{"hc-group":"admin1","hc-middle-x":.61,"hc-middle-y":.27,"hc-key":"us-md","hc-a2":"MD",labelrank:"0",hasc:"US.MD","woe-id":"2347579","state-fips":"24",fips:"US24","postal-code":"MD",name:"Maryland",country:"United States of America",region:"South",longitude:"-77.0454","woe-name":"Maryland",latitude:"39.3874","woe-label":"Maryland, US, United States",type:"State"},geometry:{type:"MultiPolygon",coordinates:[[[[8761,6796],[8769,6819],[8765,6797],[8761,6796]]],[[[8779,6915],[8779,6884],[8777,6914],[8777,6914],[8779,6915]]],[[[8739,6789],[8691,6772],[8688,6764],[8647,6746],[8650,6806],[8590,6833],[8592,6815],[8525,6862],[8581,6899],[8555,6926],[8511,6936],[8544,6974],[8512,6986],[8496,7036],[8530,7108],[8537,7165],[8497,7093],[8472,7099],[8469,7056],[8432,7052],[8471,7014],[8458,6959],[8483,6868],[8513,6820],[8462,6849],[8543,6778],[8548,6753],[8491,6782],[8433,6785],[8382,6834],[8354,6797],[8335,6827],[8370,6891],[8367,6916],[8385,6943],[8341,6945],[8251,6984],[8256,7009],[8198,7020],[8162,7087],[8101,7099],[8046,7067],[8043,7043],[8e3,7038],[7977,7057],[7949,7003],[7928,7007],[7857,6922],[7835,7053],[8176,7119],[8559,7201],[8650,6887],[8771,6913],[8770,6856],[8753,6848],[8739,6789]]]]}},{type:"Feature",id:"US.DE",properties:{"hc-group":"admin1","hc-middle-x":.91,"hc-middle-y":.77,"hc-key":"us-de","hc-a2":"DE",labelrank:"0",hasc:"US.DE","woe-id":"2347566","state-fips":"10",fips:"US10","postal-code":"DE",name:"Delaware",country:"United States of America",region:"South",longitude:"-75.41119999999999","woe-name":"Delaware",latitude:"38.8657","woe-label":"Delaware, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[8777,6914],[8771,6915],[8771,6913],[8650,6887],[8559,7201],[8589,7239],[8625,7239],[8601,7183],[8613,7145],[8652,7114],[8675,7051],[8735,6995],[8751,6999],[8779,6915],[8777,6914],[8777,6914]]]}},{type:"Feature",id:"US.PA",properties:{"hc-group":"admin1","hc-middle-x":.5,"hc-middle-y":.49,"hc-key":"us-p
2a","hc-a2":"PA",labelrank:"0",hasc:"US.PA","woe-id":"2347597","state-fips":"42",fips:"US42","postal-code":"PA",name:"Pennsylvania",country:"United States of America",region:"Northeast",longitude:"-77.60939999999999","woe-name":"Pennsylvania",latitude:"40.8601","woe-label":"Pennsylvania, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[8611,7549],[8632,7530],[8615,7490],[8627,7443],[8646,7444],[8739,7361],[8691,7310],[8673,7276],[8625,7239],[8589,7239],[8559,7201],[8176,7119],[7835,7053],[7630,7017],[7589,7253],[7589,7253],[7530,7595],[7556,7610],[7662,7693],[7674,7625],[8514,7797],[8573,7765],[8588,7712],[8673,7663],[8673,7663],[8611,7549]]]}},{type:"Feature",id:"US.NJ",properties:{"hc-group":"admin1","hc-middle-x":.68,"hc-middle-y":.64,"hc-key":"us-nj","hc-a2":"NJ",labelrank:"0",hasc:"US.NJ","woe-id":"2347589","state-fips":"34",fips:"US34","postal-code":"NJ",name:"New Jersey",country:"United States of America",region:"Northeast",longitude:"-74.4653","woe-name":"New Jersey",latitude:"40.0449","woe-label":"New Jersey, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[8611,7549],[8673,7663],[8759,7635],[8846,7608],[8840,7532],[8810,7504],[8805,7466],[8866,7456],[8875,7438],[8886,7281],[8853,7228],[8849,7172],[8812,7122],[8784,7047],[8766,7040],[8769,7097],[8716,7095],[8623,7151],[8610,7186],[8624,7231],[8676,7269],[8691,7310],[8739,7361],[8646,7444],[8627,7443],[8615,7490],[8632,7530],[8611,7549]]]}},{type:"Feature",id:"US.NY",properties:{"hc-group":"admin1","hc-middle-x":.54,"hc-middle-y":.49,"hc-key":"us-ny","hc-a2":"NY",labelrank:"0",hasc:"US.NY","woe-id":"2347591","state-fips":"36",fips:"US36","postal-code":"NY",name:"New York",country:"United States of America",region:"Northeast",longitude:"-75.32420000000001","woe-name":"New York",latitude:"43.1988","woe-label":"New York, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[8673,7663],[8588,7712],[8573,7765],[8514,7797],[7674,7625],[7662,7693],[7763,7795],[7803,7872],[7754,7932],[7747,7976],[7812,8010],[7918,8040],[7988,8041],[8031,8026],[8061,8043],[8133,8055],[8180,8080],[8224,8141],[8264,8164],[8243,8232],[8257,8274],[8225,8259],[8202,8296],[8230,8345],[8280,8379],[8297,8437],[8358,8526],[8422,8581],[8453,8585],[8695,8646],[8720,8537],[8739,8514],[8748,8453],[8740,8402],[8772,8328],[8772,8287],[8807,8284],[8856,8080],[8853,7901],[8860,7896],[8896,7702],[8912,7685],[8874,7645],[8896,7623],[8881,7575],[8930,7617],[8982,7620],[9002,7641],[9094,7671],[9134,7722],[9173,7697],[9177,7721],[9184,7702],[9231,7730],[9141,7649],[9083,7619],[9032,7570],[8936,7519],[8857,7498],[8812,7468],[8814,7503],[8840,7506],[8858,7554],[8843,7544],[8846,7608],[8759,7635],[8695,7656],[8673,7663],[8673,7663]]]}},{type:"Feature",id:"US.ID",properties:{"hc-group":"admin1","hc-middle-x":.51,"hc-middle-y":.75,"hc-key":"us-id","hc-a2":"ID",labelrank:"0",hasc:"US.ID","woe-id":"2347571","state-fips":"16",fips:"US16","postal-code":"ID",name:"Idaho",country:"United States of America",region:"West",longitude:"-114.133","woe-name":"Idaho",latitude:"43.7825","woe-label":"Idaho, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[926,9593],[1093,9555],[1036,9301],[1076,9210],[1061,9142],[1117,9085],[1172,8979],[1170,8959],[1219,8896],[1258,8897],[1253,8859],[1219,8796],[1204,8727],[1211,8698],[1177,8675],[1167,8620],[1200,8590],[1278,8630],[1303,8596],[1303,8522],[1338,8434],[1326,8419],[1347,8377],[1374,8375],[1391,8331],[1392,8280],[1415,8254],[1451,8281],[1508,8261],[1536,8282],[1614,8258],[1671,8261],[1686,8296],[1713,8295],[1750,8226],[1677,7785],[1643,7585],[1393,7629],[1073,7690],[897,7727],[510,7813],[616,8265],[662,8361],[615,8403],[624,8450],[718,8545],[776,8646],[823,8698],[821,8744],[785,8775],[774,8822],[779,8870],[767,8925],[926,9593]]]}},{type:"Feature",id:"US.SD",properties:{"hc-group":"admin1","hc-middle-x":.51,"hc-middle-y":.44,"hc-key":"us-sd","hc-a2":"SD",labelrank:"0",hasc:"US.SD","woe-id":"2347600","state-fips":"46",fips:"US46","postal-code":"SD",name:"South Dakota",country:"United States of America",region:"Midwest",longitude:"-100.255","woe-name":"South Dakota",latitude:"44.4711","woe-label":"South Dakota, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[3010,7672],[3019,7770],[3056,8191],[3059,8191],[3080,8436],[4231,8374],[4444,8372],[4429,8325],[4387,8283],[4419,8232],[4462,8203],[4459,7735],[4433,7734],[4438,7663],[4459,7636],[4423,7540],[4453,7479],[4409,7521],[4330,7551],[4297,7577],[4194,7574],[4148,7558],[4071,7611],[3010,7672]]]}},{type:"Feature",id:"US.CT",properties:{"hc-group":"admin1","hc-middle-x":.48,"hc-middle-y":.5,"hc-key":"us-ct","hc-a2":"CT",labelrank:"0",hasc:"US.CT","woe-id":"2347565","state-fips":"9",fips:"US09","postal-code":"CT",name:"Connecticut",country:"United States of America",region:"Northeast",longitude:"-72.7594","woe-name":"Connecticut",latitude:"41.6486","woe-label":"Connecticut, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[9216,7790],[9204,7796],[9095,7743],[9023,7721],[8972,7689],[8896,7623],[8874,7645],[8912,7685],[8896,7702],[8860,7896],[8997,7925],[9177,7968],[9212,7845],[9216,7790]]]}},{type:"Feature",id:"US.NH",properties:{"hc-group":"admin1","hc-middle-x":.38,"hc-middle-y":.57,"hc-key":"us-nh","hc-a2":"NH",labelrank:"0",hasc:"US.NH","woe-id":"2347588","state-fips":"33",fips:"US33","postal-code":"NH",name:"New Hampshire",country:"United States of America",region:"Northeast",longitude:"-71.6301","woe-name":"New Hampshire",latitude:"43.5993","woe-label":"New Hampshire, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[9298,8291],[9306,8288],[9300,8236],[9242,8201],[9222,8166],[9005,8115],[9005,8115],[8979,8148],[8979,8261],[8964,8320],[8981,8392],[8986,8490],[8978,8526],[9033,8585],[9045,8629],[9020,8661],[9024,8736],[9036,8814],[9079,8830],[9225,8399],[9235,8354],[9298,8291]]]}},{type:"Feature",id:"US.KY",properties:{"hc-group":"admin1","hc-middle-x":.65,"hc-middle-y":.5,"hc-key":"us-ky","hc-a2":"KY",labelrank:"0",hasc:"US.KY","woe-id":"2347576","state-fips":"21",fips:"US21","postal-code":"KY",name:"Kentucky",country:"United States of America",region:"South",longitude:"-85.5729","woe-name":"Kentucky",latitude:"37.3994","woe-label":"Kentucky, US, United States",type:"State"},geometry:{type:"MultiPolygon",coordinates:[[[[5893,5966],[5890,5980],[5907,5967],[5893,5966]]],[[[5921,5968],[5932,6005],[5956,5988],[5976,6033],[5975,6097],[5962,6117],[5987,6157],[6015,6162],[6105,6131],[6102,6218],[6171,6241],[6159,6283],[6179,6328],[6209,6363],[6269,6350],[6303,6376],[6359,6356],[6426,6401],[6444,6379],[6485,6390],[6485,6413],[6531,6450],[6583,6411],[6608,6438],[6622,6498],[6652,6507],[6657,6540],[6693,6572],[6682,6619],[6737,6617],[6808,6651],[6792,6683],[6797,6730],[6873,6741],[6900,6725],[6933,6672],[7001,6669],[7036,6641],[7069,6664],[7119,6643],[7198,6692],[7216,6653],[7270,6617],[7270,6617],[7270,6617],[7272,6548],[7358,6439],[7431,6411],[7363,6332],[7309,6294],[7268,6217],[7221,6173],[7116,6120],[7104,6113],[6814,6086],[6751,6077],[6516,6061],[6250,6032],[6200,6040],[6210,5991],[5921,5968]]],[[[7270,6617],[7271,6617],[7270,6617],[7270,6617],[7270,6617],[7270,6617]]]]}},{type:"Feature",id:"US.OH",properties:{"hc-group":"admin1","hc-middle-x":.45,"hc-middle-y":.53,"hc-key":"us-oh","hc-a2":"OH",labelrank:"0",hasc:"US.OH","woe-id":"2347594","state-fips":"39",fips:"US39","postal-code":"OH",name:"Ohio",country:"United States of America",region:"Midwest",longitude:"-82.67189999999999","woe-name":"Ohio",latitude:"40.0924","woe-label":"Ohio, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[6718,7400],[6815,7415],[6976,7443],[7095,7408],[7082,7394],[7173,7383],[7258,7426],[7329,7440],[7383,7503],[7530,7595],[7589,7253],[7561,7233],[7587,7158],[7558,7018],[7564,6981],[7504,6911],[7454,6903],[7419,6863],[7399,6809],[7416,6775],[7391,6755],[7354,6783],[7333,6723],[7346,6679],[7321,6631],[7271,6617],[7270,6617],[7216,6653],[7198,6692],[7119,6643],[7069,6664],[7036,6641],[7001,6669],[6933,6672],[6900,6725],[6873,6741],[6797,6730],[6732,7296],[6718,7400]]]}},{type:"Feature",id:"US.TN",properties:{"hc-group":"admin1","hc-middle-x":.43,"hc-middle-y":.54,"hc-key":"us-tn","hc-a2":"TN",labelrank:"0",hasc:"US.TN","woe-id":"2347601","state-fips":"47",fips:"US47","postal-code":"TN",name:"Tennessee",country:"United States of America",region:"South",longitude:"-86.3415","woe-name":"Tennessee",latitude:"35.7514","woe-label":"Tennessee, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[6215,5600],[6122,5592],[5762,5567],[5802,5602],[5798,5670],[5835,5714],[5827,5
2763],[5871,5791],[5868,5834],[5888,5872],[5869,5898],[5901,5936],[5893,5966],[5907,5967],[5911,5955],[5921,5968],[6210,5991],[6200,6040],[6250,6032],[6516,6061],[6751,6077],[6814,6086],[7104,6113],[7116,6120],[7472,6170],[7532,6183],[7523,6123],[7490,6093],[7464,6038],[7437,6050],[7365,5989],[7352,6010],[7298,5973],[7269,5928],[7188,5859],[7131,5847],[7085,5807],[7073,5762],[7038,5756],[7034,5685],[6918,5671],[6762,5652],[6213,5603],[6215,5600]]]}},{type:"Feature",id:"US.WV",properties:{"hc-group":"admin1","hc-middle-x":.35,"hc-middle-y":.56,"hc-key":"us-wv","hc-a2":"WV",labelrank:"0",hasc:"US.WV","woe-id":"2347607","state-fips":"54",fips:"US54","postal-code":"WV",name:"West Virginia",country:"United States of America",region:"South",longitude:"-80.7128","woe-name":"West Virginia",latitude:"38.6422","woe-label":"West Virginia, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[7270,6617],[7271,6617],[7321,6631],[7346,6679],[7333,6723],[7354,6783],[7391,6755],[7416,6775],[7399,6809],[7419,6863],[7454,6903],[7504,6911],[7564,6981],[7558,7018],[7587,7158],[7561,7233],[7589,7253],[7630,7017],[7835,7053],[7857,6922],[7928,7007],[7949,7003],[7977,7057],[8e3,7038],[8043,7043],[8046,7067],[8101,7099],[8162,7087],[8198,7020],[8188,6969],[8076,7028],[8072,6952],[8048,6900],[7998,6837],[7974,6848],[7932,6729],[7857,6759],[7840,6674],[7767,6505],[7773,6459],[7690,6412],[7664,6419],[7649,6382],[7595,6360],[7567,6378],[7530,6341],[7470,6351],[7431,6411],[7358,6439],[7272,6548],[7270,6617],[7270,6617],[7270,6617],[7270,6617],[7270,6617]]]}},{type:"Feature",id:"US.DC",properties:{"hc-group":"admin1","hc-middle-x":.57,"hc-middle-y":.14,"hc-key":"us-dc","hc-a2":"DC",labelrank:"9",hasc:"US.DC","woe-id":"2347567","state-fips":"11",fips:"US11","postal-code":"DC",name:"District of Columbia",country:"United States of America",region:"South",longitude:"-77.01130000000001","woe-name":"District of Columbia",latitude:"38.8922","woe-label":"District of Columbia, US, United States",type:"Federal District"},geometry:{type:"Polygon",coordinates:[[[8367,6916],[8366,6929],[8353,6939],[8347,6939],[8341,6945],[8385,6943],[8367,6916]]]}},{type:"Feature",id:"US.LA",properties:{"hc-group":"admin1","hc-middle-x":.34,"hc-middle-y":.46,"hc-key":"us-la","hc-a2":"LA",labelrank:"0",hasc:"US.LA","woe-id":"2347577","state-fips":"22",fips:"US22","postal-code":"LA",name:"Louisiana",country:"United States of America",region:"South",longitude:"-91.9991","woe-name":"Louisiana",latitude:"30.5274","woe-label":"Louisiana, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[6017,4328],[5915,4340],[5856,4368],[5812,4302],[5834,4283],[5904,4280],[5937,4313],[5992,4313],[5957,4259],[6001,4245],[6035,4298],[6067,4259],[5982,4181],[6027,4123],[6107,4114],[6148,4081],[6125,4035],[6070,4042],[6042,4077],[5966,4094],[5980,4115],[5902,4141],[5913,4064],[5876,4028],[5860,4066],[5811,4082],[5780,4036],[5724,4031],[5620,4068],[5631,4121],[5569,4128],[5532,4184],[5493,4173],[5494,4203],[5430,4175],[5437,4145],[5478,4154],[5526,4139],[5500,4112],[5431,4136],[5399,4121],[5305,4135],[5186,4176],[5128,4173],[5042,4153],[5047,4228],[5065,4253],[5059,4380],[5093,4447],[5105,4506],[5031,4646],[5033,4679],[4980,4752],[4975,5016],[5563,5038],[5605,5041],[5627,5018],[5611,4977],[5629,4895],[5670,4868],[5636,4781],[5584,4738],[5565,4662],[5545,4642],[5545,4585],[5522,4581],[5540,4526],[5523,4510],[5955,4536],[5936,4451],[6017,4328]]]}},{type:"Feature",id:"US.FL",properties:{"hc-group":"admin1","hc-middle-x":.77,"hc-middle-y":.5,"hc-key":"us-fl","hc-a2":"FL",labelrank:"0",hasc:"US.FL","woe-id":"2347568","state-fips":"12",fips:"US12","postal-code":"FL",name:"Florida",country:"United States of America",region:"South",longitude:"-81.6228","woe-name":"Florida",latitude:"28.1568","woe-label":"Florida, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[6487,4443],[6487,4486],[6431,4541],[6436,4574],[7015,4637],[7055,4568],[7649,4609],[7670,4559],[7699,4566],[7687,4660],[7713,4686],[7808,4673],[7822,4672],[7849,4570],[7908,4430],[8008,4269],[8125,4130],[8113,4109],[8144,4012],[8198,3936],[8297,3758],[8321,3651],[8331,3476],[8302,3361],[8313,3273],[8270,3209],[8291,3273],[8273,3290],[8230,3255],[8194,3260],[8141,3234],[8115,3258],[8115,3303],[8070,3379],[7979,3429],[7953,3420],[7907,3543],[7846,3536],[7839,3654],[7796,3674],[7819,3634],[7779,3640],[7675,3779],[7722,3884],[7712,3915],[7671,3899],[7670,3851],[7622,3872],[7618,3966],[7635,4045],[7626,4157],[7576,4229],[7525,4222],[7473,4277],[7425,4302],[7349,4395],[7265,4433],[7186,4403],[7198,4370],[7162,4370],[7148,4336],[7067,4277],[6979,4284],[6986,4316],[6958,4349],[6892,4391],[6798,4429],[6694,4444],[6468,4388],[6505,4431],[6487,4443]]]}},{type:"Feature",id:"US.GA",properties:{"hc-group":"admin1","hc-middle-x":.43,"hc-middle-y":.52,"hc-key":"us-ga","hc-a2":"GA",labelrank:"0",hasc:"US.GA","woe-id":"2347569","state-fips":"13",fips:"US13","postal-code":"GA",name:"Georgia",country:"United States of America",region:"South",longitude:"-83.4078","woe-name":"Georgia",latitude:"32.8547","woe-label":"Georgia, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[7713,4686],[7687,4660],[7699,4566],[7670,4559],[7649,4609],[7055,4568],[7015,4637],[6983,4704],[6990,4774],[6958,4846],[6970,4930],[6998,4970],[6947,5053],[6912,5135],[6762,5652],[6918,5671],[7034,5685],[7210,5711],[7290,5724],[7249,5641],[7323,5596],[7364,5593],[7401,5526],[7444,5475],[7523,5430],[7538,5402],[7600,5369],[7606,5340],[7651,5293],[7708,5272],[7750,5169],[7800,5140],[7844,5042],[7887,5035],[7901,5029],[7811,4893],[7836,4826],[7798,4798],[7817,4730],[7808,4673],[7713,4686]]]}},{type:"Feature",id:"US.SC",properties:{"hc-group":"admin1","hc-middle-x":.54,"hc-middle-y":.35,"hc-key":"us-sc","hc-a2":"SC",labelrank:"0",hasc:"US.SC","woe-id":"2347599","state-fips":"45",fips:"US45","postal-code":"SC",name:"South Carolina",country:"United States of America",region:"South",longitude:"-80.6471","woe-name":"South Carolina",latitude:"33.8578","woe-label":"South Carolina, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[8302,5600],[8236,5523],[8205,5458],[8206,5396],[8173,5348],[8140,5346],[8131,5311],[8056,5219],[7989,5173],[7913,5166],[7971,5149],[7887,5035],[7844,5042],[7800,5140],[7750,5169],[7708,5272],[7651,5293],[7606,5340],[7600,5369],[7538,5402],[7
2523,5430],[7444,5475],[7401,5526],[7364,5593],[7323,5596],[7249,5641],[7290,5724],[7457,5802],[7714,5830],[7782,5790],[7791,5756],[8029,5790],[8302,5600]]]}},{type:"Feature",id:"US.MN",properties:{"hc-group":"admin1","hc-middle-x":.38,"hc-middle-y":.6,"hc-key":"us-mn","hc-a2":"MN",labelrank:"0",hasc:"US.MN","woe-id":"2347582","state-fips":"27",fips:"US27","postal-code":"MN",name:"Minnesota",country:"United States of America",region:"Midwest",longitude:"-93.364","woe-name":"Minnesota",latitude:"46.0592","woe-label":"Minnesota, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[4333,9174],[4688,9173],[4690,9272],[4748,9253],[4770,9125],[4791,9104],[4854,9085],[4916,9083],[4938,9052],[4984,9060],[5024,9084],[5073,9082],[5132,9063],[5181,8985],[5194,9006],[5240,9014],[5304,8955],[5351,8941],[5438,8996],[5463,8964],[5570,8974],[5607,8949],[5668,8950],[5592,8895],[5514,8864],[5432,8802],[5349,8700],[5245,8603],[5214,8573],[5220,8422],[5147,8375],[5116,8322],[5117,8285],[5158,8253],[5144,8214],[5146,8117],[5136,8072],[5181,8035],[5217,8029],[5273,7994],[5360,7903],[5405,7892],[5431,7866],[5445,7758],[5137,7745],[4459,7735],[4462,8203],[4419,8232],[4387,8283],[4429,8325],[4444,8372],[4436,8472],[4402,8555],[4409,8628],[4397,8650],[4394,8777],[4347,8957],[4343,9053],[4353,9083],[4333,9174]]]}},{type:"Feature",id:"US.MT",properties:{"hc-group":"admin1","hc-middle-x":.55,"hc-middle-y":.53,"hc-key":"us-mt","hc-a2":"MT",labelrank:"0",hasc:"US.MT","woe-id":"2347585","state-fips":"30",fips:"US30","postal-code":"MT",name:"Montana",country:"United States of America",region:"West",longitude:"-110.044","woe-name":"Montana",latitude:"46.9965","woe-label":"Montana, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[1093,9555],[1689,9433],[3150,9234],[3084,8486],[3080,8436],[3059,8191],[3056,8191],[1772,8355],[1750,8226],[1713,8295],[1686,8296],[1671,8261],[1614,8258],[1536,8282],[1508,8261],[1451,8281],[1415,8254],[1392,8280],[1391,8331],[1374,8375],[1347,837
27],[1326,8419],[1338,8434],[1303,8522],[1303,8596],[1278,8630],[1200,8590],[1167,8620],[1177,8675],[1211,8698],[1204,8727],[1219,8796],[1253,8859],[1258,8897],[1219,8896],[1170,8959],[1172,8979],[1117,9085],[1061,9142],[1076,9210],[1036,9301],[1093,9555]]]}},{type:"Feature",id:"US.ND",properties:{"hc-group":"admin1","hc-middle-x":.47,"hc-middle-y":.5,"hc-key":"us-nd","hc-a2":"ND",labelrank:"0",hasc:"US.ND","woe-id":"2347593","state-fips":"38",fips:"US38","postal-code":"ND",name:"North Dakota",country:"United States of America",region:"Midwest",longitude:"-100.302","woe-name":"North Dakota",latitude:"47.4675","woe-label":"North Dakota, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[3080,8436],[3084,8486],[3150,9234],[3468,9209],[4333,9174],[4353,9083],[4343,9053],[4347,8957],[4394,8777],[4397,8650],[4409,8628],[4402,8555],[4436,8472],[4444,8372],[4231,8374],[3080,8436]]]}},{type:"Feature",id:"US.AZ",properties:{"hc-group":"admin1","hc-middle-x":.51,"hc-middle-y":.45,"hc-key":"us-az","hc-a2":"AZ",labelrank:"0",hasc:"US.AZ","woe-id":"2347561","state-fips":"4",fips:"US04","postal-code":"AZ",name:"Arizona",country:"United States of America",region:"West",longitude:"-111.935","woe-name":"Arizona",latitude:"34.3046","woe-label":"Arizona, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[1630,4782],[1196,4850],[1092,4906],[418,5307],[451,5357],[492,5355],[519,5416],[476,5452],[489,5536],[510,5537],[555,5605],[559,5661],[598,5702],[660,5730],[620,5788],[593,5936],[614,5982],[611,6068],[631,6159],[631,6217],[669,6227],[752,6180],[777,6221],[818,6420],[1488,6297],[1841,6242],[1736,5514],[1630,4782]]]}},{type:"Feature",id:"US.UT",properties:{"hc-group":"admin1","hc-middle-x":.52,"hc-middle-y":.59,"hc-key":"us-ut","hc-a2":"UT",labelrank:"0",hasc:"US.UT","woe-id":"2347603","state-fips":"49",fips:"US49","postal-code":"UT",name:"Utah",country:"United States of America",region:"West",longitude:"-111.544","woe-name":"Utah",latitude:"39.5007","woe-label":"Utah, US, United States",type:"State"},geometry:{type:"Polygon",coordinates:[[[1841,6242],[1488,6297],[818,6420],[929,6975],[1073,7690],[1393,7629],[1643,7585],[1600,7329],[1990,7269],[1966,7108],[1841,6242]]]}},{type:"Feature",id:"US.HI",properties:{"hc-group":"admin1","hc-middle-x":.87,"hc-middle-y":.79,"hc-key":"us-hi","hc-a2":"HI",labelrank:"0",hasc:"US.HI","woe-id":"2347570","state-fips":"15",fips:"US15","postal-code":"HI",name:"Hawaii",country:"United States of America",region:"West",longitude:"-157.999","woe-name":"Hawaii",latitude:"21.4919","woe-label":"Hawaii, US, United States",type:"State"},geometry:{type:"MultiPolygon",coordinates:[[[[2871.1,2945.9],[2875.2,2942.7],[2879.9,2943.9],[2887,2943.5],[2908.4,2936],[2926.2,2927],[2959.3,2906.2],[2969.8,2895.8],[2975.6,2888.1],[2975.6,2868.8],[2976.2,2860.2],[2981.8,2860.4],[2989.5,2864.1],[2995.3,2860.2],[2998,2855.8],[2997.4,2846.7],[3000.1,2841.1],[3003.5,2836],[3013.7,2826.7],[3024.4,2822.1],[3028.7,2818.5],[3031,2814.1],[3030.4,2808.4],[3019,2794.3],[3010.1,2790.9],[2997.5,2778.6],[2988.9,2776],[2988.6,2773.6],[2981.4,2771.8],[2975.3,2767.2],[2953.3,2760.6],[2944.8,2762.6],[2939.9,2762.7],[2935.5,2761.3],[2924.6,2753.9],[2920.9,2749.4],[2913.7,2747.3],[2906.4,2742.2],[2896.2,2736.4],[2893.2,2735.4],[2884.5,2727],[2883,2723.6],[2883.3,2715.9],[2873.3,2705.7],[2870.1,2696.8],[2867.2,2693.6],[2858.8,2686.4],[2857,2687.4],[2857.1,2692],[2852.9,2695.4],[2844.7,2699.6],[2830,2708.8],[2817.8,2712.1],[2815.1,2719.8],[2812.5,2720.6],[2810.9,2726.2],[2809.3,2735.1],[2811.5,2745.8],[2816,2776.4],[2815.6,2781.7],[2812.9,2786.6],[2805.6,2807.3],[2801.6,2814.3],[2802.1,2818.9],[2799.7,2823.2],[2796.3,2833.9],[2792.8,2839.1],[2789.8,2841.4],[2785.4,2846.6],[2780.6,2859.9],[2784.8,2870.8],[2795.1,2879.5],[2796.2,2883.5],[2799,2885.8],[2807.4,2888.9],[2813.4,2898.4],[2817.9,2906.3],[2822.3,2911.4],[2825.4,2911.5],[2827.7,2920.9],[2826.3,2924.9],[2822.9,2928.1],[2815.9,2938.7],[2813,2947.9],[2812.4,2962.2],[2816.2,2969.6],[2818.8,2972],[2826,2972],[2844.7,2968],[2850,2958],[2857.7,2955],[2862.8,2952.2],[2866.3,2948],[2871.1,2945.9]]],[[[2685.2,3028],[2683.1,3024.1],[2677.4,3024.1],[2672.1,3025],[2662.7,3023],[2656.2,3022.3],[2651.9,3026.6],[2654.3,3029.7],[2658.6,3033.4],[2670.2,3040.4],[2675.5,3042.3],[2679.6,3041.9],[2684.7,3036.2],[2682.1,3030],[2685.2,3028]]],[[[2609.3,3070.6],[2599.6,3070.
21],[2595.6,3075.8],[2594.6,3080.7],[2594.3,3089.5],[2593.6,3094],[2590.2,3096],[2581.9,3099.3],[2579.4,3103.3],[2581,3107.7],[2585.7,3110.1],[2594,3111.1],[2613.5,3108.3],[2622.3,3100.4],[2628.7,3093.1],[2631.3,3086.9],[2630,3083.4],[2625.7,3076.7],[2616.7,3072.6],[2609.3,3070.6]]],[[[2673.9,3132.2],[2675.6,3130.2],[2683.4,3127.1],[2684.3,3124.4],[2686.7,3123.7],[2687.2,3118.4],[2690,3115.9],[2695.5,3106.3],[2699,3106.6],[2701.3,3109.2],[2705.1,3109.1],[2716.1,3110.5],[2722.5,3115.1],[2725.7,3116.2],[2732.1,3116.5],[2743.2,3114.2],[2746.4,3112.2],[2747.4,3109.8],[2752.3,3104.5],[2758.6,3099.6],[2758.8,3097.7],[2762.9,3098.7],[2765.5,3096.6],[2767.9,3092.2],[2774.8,3091.2],[2781.6,3088],[2791.4,3084.8],[2795.9,3075.7],[2794.9,3067.4],[2791.3,3060.7],[2786.3,3059.3],[2782.2,3053.3],[2776.8,3053.2],[2766,3047.7],[2754.9,3048.2],[2751.2,3048],[2731.5,3038.5],[2721.5,3040.8],[2718.9,3040.1],[2710.5,3039.7],[2704.9,3044.9],[2701.6,3049.9],[2703.3,3051.3],[2703.4,3055.1],[2701.8,3068.9],[2700.2,3072.7],[2700.3,3077],[2699,3080.5],[2694.8,3083.7],[2688.7,3082.3],[2687.7,3079.4],[2685.2,3078.9],[2679.4,3082.6],[2675,3083.4],[2670.7,3086.1],[2667.9,3085.8],[2660.5,3094.3],[2655,3101.5],[2654.7,3106.1],[2652.7,3108.6],[2654.7,3118.8],[2656.5,3123.8],[2658.6,3127.1],[2661.1,3127.3],[2664.7,3132],[2668.7,3131.6],[2672.3,3133.2],[2673.9,3132.2]]],[[[2542.4,3172.8],[2550.3,3172.5],[2552.8,3171.9],[2554.4,3169.4],[2557.4,3169.4],[2586.4,3165],[2594.1,3164.7],[2596.9,3170.6],[2598.9,3171.1],[2601.5,3167.6],[2602.5,3163.6],[2612.6,3161],[2622.6,3161.3],[2627,3161.9],[2631.9,3163.6],[2637.2,3163.5],[2642.1,3162.2],[2644.1,3162.6],[2646.1,3160.1],[2650.7,3159.2],[2646.9,3152.3],[2640.8,3146.4],[2633.3,3142.2],[2625.8,3139.1],[2618.1,3137.5],[2610.3,3138.3],[2602.5,3139.8],[2587.1,3143.9],[2577.6,3147.2],[2554.7,3145.6],[2547.6,3144.5],[2537.6,3144.7],[2533.7,3146.2],[2531.4,3149.3],[2531.3,3153.2],[2535.1,3159.1],[2538.7,3160.4],[2541.9,3164.2],[2542.9,3168.2],[2540.2,3172.9],[2542.4,3172.8]]],[[[2414.1,3252.1],[2415.3,3248.5],[2417.5,3247.3],[2418.6,3243.6],[2422.1,3243.3],[2425.5,3238.6],[2425.5,3233.8],[2422.8,3232.6],[2424.3,3223.3],[2428.6,3221.7],[2432,3216.6],[2435,3215.5],[2437.4,3213.2],[2440.6,3217.4],[2437.6,3219.4],[2437.9,3221.8],[2440.1,3222.8],[2448,3221.2],[2445.1,3218.3],[2444.8,3211.6],[2448.1,3209.6],[2451.4,3205.2],[2450.5,3202.8],[2453.3,3197.1],[2461.8,3192],[2463,3190.8],[2453.8,3181.6],[2451.7,3180.9],[2451.1,3184.2],[2449.4,3185.6],[2439.8,3183.8],[2433.5,3180],[2429,3180.6],[2426.4,3184.7],[2416.6,3189.1],[2413.7,3194.2],[2413.7,3196.2],[2409.6,3193],[2411.6,3190.7],[2403.3,3190.2],[2404.6,3191.8],[2399.9,3193],[2399.1,3199.7],[2405.5,3202.8],[2406.3,3204.6],[2400.6,3208.2],[2398.9,3204.7],[2394.5,3208.7],[2395.9,3202.7],[2394.8,3202],[2388.7,3207.1],[2390.1,3203.7],[2397.6,3196.7],[2396.6,3193.5],[2393,3192],[2373.9,3188.4],[2369.7,3190.8],[2368,3197.9],[2365.9,3203.5],[2361.4,3209.6],[2357.7,3211.5],[2356.8,3217.1],[2355.5,3220.1],[2349.9,3224.5],[2347.5,3228.2],[2347.2,3238.6],[2345.9,3240.5],[2337.4,3247.6],[2345.9,3249.6],[2354.3,3250],[2368.8,3249.7],[2370.5,3253.5],[2374.1,3255.5],[2379.9,3260.1],[2379.6,3261.3],[2382.9,3267.5],[2390.2,3273.8],[2396.5,3275.6],[2400.5,3274.5],[2406.2,3268.8],[2409.8,3262],[2408.9,3258.2],[2414.1,3252.1]]],[[[1955.8,3294.7],[1953.2,3293.9],[1948.4,3296.6],[1946,3304.1],[1946.6,3308.8],[1948.8,3313.7],[1956.7,3321.5],[1963,3326.1],[1971.1,3330.6],[1973.3,3335.9],[1973.1,3339.8],[1976.7,3341.3],[1980.1,3341.2],[1983.8,3339.7],[1985.5,3336],[1981.3,3331.1],[1979.8,3326.6],[1981.2,3321],[1978.5,3317.4],[1972.1,3314.3],[1968.3,3313.2],[1961.2,3308.2],[1959.7,3305],[1955.8,3294.7]]],[[[2117.8,3386.1],[2120.7,3384.6],[2123.8,3384.8],[2127.6,3382.7],[2129.1,3379.5],[2132.9,3376.7],[2134.9,3369.7],[2136.6,3368.7],[2136.1,3360.5],[2134.2,3358],[2131.3,3350.1],[2128.4,3348.5],[2128,3342.6],[2128.8,3334.9],[2128,3329.3],[2123,3328.3],[2125.2,3324.9],[2121.7,3323.7],[2118.3,3320.9],[2116.9,3318.4],[2109.4,3313],[2107.3,3310.8],[2098.5,3314],[2089,3314.5],[2078.6,3316.4],[2076.9,3318],[2074,3315.9],[2073.1,3317.6],[2068.2,3320.6],[2065.1,3326.1],[2062.8,3326.7],[2060,3329.4],[2056.1,3330],[2050.6,3332.5],[2043.4,3334.4],[2041.2,3340.1],[2038.1,3343],[2038.3,3352.8],[2040.3,3353.5],[2048.5,3363],[2049.2,3368.3],[2052.4,3371.8],[2062.1,3374.2],[2067.8,3377.5],[2071.4,3380.6],[2076.1,3382.7],[2077.8,3384.8],[2086,3386.8],[2088.1,3384.2],[2095.7,3382.1],[2095.7,3385.2],[2099.3,3386.6],[2107.5,3385.9],[2111.6,3384.7],[2115.5,3387.5],[2117.8,3386.1]]]]}},{type:"Feature",id:"US.AK",properties:{"hc-group":"admin1","hc-middle-x":.53,"hc-middle-y":.33,"hc-key":"us-ak","hc-a2":"AK",labelrank:"0",hasc:"US.AK","woe-id":"2347560","state-fips":"2",fips:"US02","postal-code":"AK",name:"Alaska",country:"United States of America",region:"West",longitude:"-151.604","woe-name":"Alaska",latitude:"65.3609","woe-label":"Alaska, US, United States",type:"State"},geometry:{type:"MultiPolygon",coordinates:[[[[322,4275],[321,4280],[339,4292],[360,4283],[392,4281],[424,4297],[443,4318],[478,4297],[476,4285],[459,4279],[461,4263],[472,4263],[490,4288],[507,4272],[503,4256],[519,4248],[528,4258],[548,4257],[582,4240],[564,4217],[594,4212],[584,4202],[611,4198],[655,4200],[684,4194],[704,4174],[712,4178],[723,4165],[746,4156],[788,4155],[808,4136],[832,4134],[851,4144],[877,4147],[901,4136],[913,4120],[929,4117],[943,4100],[957,4101],[989,3159],[1039,3148],[1057,3163],[1084,3166],[1081,3138],[1107,3121],[1113,3108],[1167,3060],[1180,3028],[1208,3
2055],[1220,3056],[1229,3102],[1271,3127],[1297,3104],[1295,3091],[1335,3059],[1347,3039],[1367,3031],[1397,3002],[1477,2890],[1491,2875],[1490,2858],[1504,2853],[1511,2833],[1523,2836],[1613,2802],[1622,2783],[1617,2766],[1636,2722],[1622,2680],[1606,2663],[1592,2664],[1577,2702],[1585,2718],[1577,2755],[1555,2778],[1526,2764],[1520,2723],[1499,2746],[1510,2753],[1513,2796],[1473,2829],[1468,2844],[1424,2880],[1406,2878],[1414,2903],[1397,2917],[1390,2938],[1366,2963],[1364,2998],[1355,2976],[1348,2979],[1354,2974],[1334,2977],[1331,2984],[1344,2982],[1324,2991],[1283,3075],[1286,3041],[1310,2985],[1307,2971],[1288,2985],[1264,2982],[1266,2998],[1249,3031],[1245,3018],[1199,3046],[1202,3028],[1224,3026],[1254,2995],[1255,2977],[1229,2976],[1225,2963],[1169,2999],[1134,3041],[1085,3062],[1050,3083],[1069,3102],[1060,3119],[1025,3098],[969,3113],[977,3128],[953,3122],[899,3136],[842,3125],[826,3141],[792,3157],[802,3194],[788,3179],[783,3158],[761,3173],[742,3174],[759,3196],[727,3195],[706,3205],[716,3212],[705,3227],[679,3222],[658,3229],[636,3221],[637,3247],[620,3199],[631,3213],[642,3184],[628,3167],[614,3132],[576,3140],[552,3130],[545,3108],[537,3114],[509,3089],[521,3115],[493,3078],[478,3071],[455,3077],[433,3070],[426,3086],[455,3099],[483,3126],[457,3115],[438,3133],[464,3170],[478,3204],[473,3223],[491,3228],[524,3249],[543,3235],[554,3240],[588,3228],[544,3260],[549,3268],[527,3271],[524,3284],[490,3256],[469,3252],[424,3205],[428,3196],[407,3182],[408,3170],[377,3133],[343,3131],[339,3114],[317,3109],[309,3075],[334,3075],[352,3048],[305,3020],[308,3008],[287,2998],[271,2977],[246,2981],[222,2955],[212,2964],[200,2941],[186,2947],[152,2925],[163,2924],[146,2893],[133,2901],[107,2879],[96,2891],[89,2869],[73,2877],[24,2852],[40,2842],[7,2817],[-44,2808],[-61,2821],[-118,2794],[-130,2803],[-155,2792],[-167,2799],[-155,2816],[-167,2823],[-200,2781],[-223,2772],[-230,2808],[-252,2775],[-262,2795],[-286,2772],[-278,2800],[-223,2823],[-171,2853],[-115,2850],[-113,2838],[-84,2825],[-99,2845],[-80,2870],[-38,2892],[12,2907],[27,2896],[31,2922],[57,2946],[97,2964],[126,3051],[154,3072],[156,3089],[95,3074],[79,3099],[90,3123],[60,3099],[61,3072],[44,3066],[28,3121],[8,3111],[-6,3123],[-7,3147],[-37,3132],[-62,3132],[-69,3120],[-112,3131],[-85,3135],[-82,3162],[-87,3191],[-63,3208],[-76,3277],[-72,3305],[-89,3269],[-149,3267],[-172,3278],[-167,3295],[-184,3332],[-198,3342],[-212,3370],[-166,3383],[-134,3368],[-125,3345],[-109,3358],[-131,3376],[-161,3385],[-185,3401],[-173,3407],[-186,3433],[-191,3419],[-205,3460],[-194,3469],[-211,3484],[-189,3485],[-198,3504],[-175,3498],[-170,3526],[-130,3555],[-118,3553],[-108,3582],[-85,3606],[-61,3612],[-46,3602],[-34,3577],[-22,3576],[7,3591],[28,3609],[31,3600],[76,3594],[100,3613],[106,3664],[92,3688],[125,3701],[117,3734],[102,3721],[73,3725],[45,3711],[20,3709],[8,3729],[-28,3742],[-59,3740],[-101,3771],[-108,3789],[-98,3804],[-111,3837],[-95,3829],[-73,3837],[-119,3868],[-138,3897],[-124,3909],[-95,3914],[-87,3908],[-68,3921],[-2,3935],[36,3937],[67,3929],[47,3893],[52,3877],[111,3858],[119,3845],[140,3868],[162,3859],[147,3882],[128,3880],[135,3893],[119,3943],[132,3945],[139,3923],[133,3914],[145,3887],[163,3891],[175,3870],[196,3867],[201,3879],[179,3900],[152,3894],[142,3915],[154,3949],[129,3950],[86,3976],[89,4e3],[86,4032],[55,4092],[40,4106],[27,4135],[45,4151],[57,4180],[76,4171],[124,4160],[156,4170],[182,4190],[189,4216],[201,4233],[224,4253],[229,4246],[253,4268],[256,4258],[287,4258],[317,4277],[322,4275]],[[322,4275],[323,4272],[323,4272],[323,4272],[311,4248],[326,4263],[323,4272],[323,4272],[323,4272],[324,4274],[322,4275]]],[[[-905,2721],[-922,2724],[-904,2733],[-898,2724],[-905,2721]]],[[[-739,2715],[-724,2712],[-729,2702],[-734,2709],[-739,2715]]],[[[-645,2693],[-651,2700],[-684,2693],[-643,2725],[-634,2718],[-623,2738],[-597,2740],[-595,2719],[-626,2714],[-645,2693]]],[[[-439,2748],[-458,2742],[-469,2755],[-457,2762],[-439,2748]]],[[[-268,2722],[-267,2733],[-255,2724],[-252,2715],[-268,2722]]],[[[-303,2804],[-293,2800],[-290,2768],[-309,2757],[-338,2767],[-359,2754],[-385,2761],[-386,2779],[-369,2783],[-354,2800],[-335,2796],[-303,2804]]],[[[-59,2737],[-58,2733],[-70,2740],[-62,2746],[-59,2737]]],[[[1485,2651],[1482,2635],[1455,2672],[1458,2688],[1473,2659],[1485,2651]]],[[[1568,2687],[1567,2665],[1547,2678],[1548,2705],[1568,2687]]],[[[-81,2759],[-83,2747],[-107,2735],[-88,2750],[-81,2759]]],[[[-100,2783],[-114,2781],[-119,2759],[-135,2762],[-131,2784],[-100,2783]]],[[[1530,2716],[1542,2706],[1538,2690],[1528,2711],[1530,2716]]],[[[1427,2708],[1429,2706],[1439,2711],[1430,2683],[1427,2708]]],[[[1439,2743],[1430,2731],[1420,2735],[1421,2742],[1439,2743]]],[[[1555,2775],[1573,2753],[1578,2721],[1569,2699],[1529,2721],[1537,2731],[1531,2760],[1555,2775]]],[[[1408,2747],[1414,2765],[1435,2776],[1437,2763],[1408,2747]]],[[[1480,2788],[1503,2783],[1494,2762],[1468,2778],[1475,2803],[1480,2788]]],[[[1467,2811],[1469,2795],[1445,2798],[1451,2810],[1467,2811]]],[[[1495,2807],[1510,2793],[1504,2784],[1485,2797],[1482,2819],[1495,2807]]],[[[253,2834],[251,2826],[235,2816],[239,2829],[253,2834]]],[[[276,2825],[279,2820],[259,2824],[263,2832],[276,2825]]],[[[1448,2845],[1470,2828],[1458,2816],[1449,2816],[1448,2845]]],[[[333,2880],[345,2878],[321,2864],[319,2872],[333,2880]]],[[[1295,2870],[1295,2846],[1283,2843],[1288,2862],[1295,2870]]],[[[1246,2943],[1241,2926],[1234,2942],[1237,2951],[1246,2943]
2]],[[[345,2973],[360,2960],[353,2961],[333,2971],[345,2973]]],[[[370,2989],[380,3007],[393,2992],[407,2995],[413,2978],[404,2970],[365,2959],[347,2974],[353,2990],[370,2989]]],[[[389,3006],[380,3014],[397,3021],[396,3012],[389,3006]]],[[[-42,3112],[-58,3105],[-53,3120],[-31,3126],[-42,3112]]],[[[643,3141],[641,3133],[628,3129],[639,3150],[643,3141]]],[[[683,3167],[692,3162],[662,3126],[639,3113],[651,3133],[678,3156],[683,3167]]],[[[-250,3366],[-233,3350],[-243,3328],[-239,3312],[-272,3312],[-294,3323],[-315,3350],[-321,3371],[-293,3362],[-286,3369],[-250,3366]]],[[[712,3177],[732,3173],[708,3154],[714,3166],[712,3177]]],[[[655,3184],[659,3177],[651,3159],[646,3171],[655,3184]]],[[[-553,3496],[-557,3490],[-570,3515],[-566,3524],[-553,3496]]],[[[735,3177],[725,3175],[725,3181],[752,3187],[735,3177]]],[[[-478,2741],[-509,2724],[-476,2727],[-492,2716],[-574,2704],[-597,2711],[-551,2713],[-526,2758],[-501,2752],[-507,2737],[-487,2749],[-478,2741]]],[[[1452,2689],[1461,2728],[1438,2724],[1443,2751],[1435,2778],[1419,2778],[1414,2794],[1439,2796],[1449,2769],[1468,2766],[1516,2700],[1532,2652],[1522,2641],[1495,2679],[1475,2669],[1476,2693],[1452,2689]]],[[[1292,2882],[1302,2902],[1330,2883],[1354,2825],[1358,2769],[1323,2816],[1325,2832],[1311,2830],[1320,2852],[1308,2856],[1308,2872],[1292,2882]]],[[[362,2955],[355,2938],[381,2954],[386,2936],[380,2918],[395,2917],[382,2900],[349,2913],[366,2899],[363,2889],[337,2894],[303,2868],[278,2838],[275,2849],[298,2883],[281,2883],[271,2862],[256,2873],[259,2892],[247,2904],[253,2919],[284,2939],[295,2933],[298,2909],[306,2934],[302,2950],[318,2956],[321,2936],[329,2963],[348,2946],[340,2965],[362,2955]]],[[[1277,2920],[1294,2891],[1278,2884],[1270,2906],[1243,2925],[1247,2941],[1271,2972],[1321,2953],[1323,2931],[1299,2928],[1309,2919],[1325,2926],[1333,2899],[1320,2896],[1277,2920]]],[[[1355,2884],[1341,2912],[1326,2962],[1314,2989],[1331,2969],[1358,2968],[1379,2937],[1376,2926],[1357,2961],[1361,2939],[1379,2919],[1383,2888],[1350,2853],[1347,2875],[1355,2884]]],[[[-347,3767],[-339,3759],[-322,3764],[-307,3758],[-307,3734],[-290,3713],[-256,3692],[-266,3681],[-286,3692],[-315,3679],[-313,3698],[-337,3738],[-353,3750],[-371,3746],[-381,3757],[-379,3773],[-362,3796],[-362,3776],[-347,3767]]],[[[1402,2834],[1394,2792],[1400,2779],[1385,2761],[1377,2790],[1389,2804],[1373,2811],[1364,2838],[1379,2842],[1395,2828],[1402,2835],[1401,2839],[1383,2863],[1396,2866],[1441,2858],[1445,2825],[1422,2845],[1441,2817],[1439,2809],[1410,2805],[1402,2834]]]]}},{type:"Feature",properties:{"hc-group":"__separator_lines__"},geometry:{type:"MultiLineString",coordinates:[[[-707,5188],[3651,2950]],[[1747,2584],[1747,3799]]]}}]};var c={exports:{}};!function(t,e){"u">typeof self&&self,t.exports=function(t){var e=[function(t,e,i){function s(){return(s=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(t[s]=i[s])}return t}).apply(this,arguments)}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,s=Array(e);i<e;i++)s[i]=t[i];return s}function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(e,"__esModule",{value:!0}),i.d(e,"HighchartsReact",function(){return h});var a=i(1),n=i.n(a),l="u">typeof window?a.useLayoutEffect:a.useEffect,h=Object(a.memo)(Object(a.forwardRef)(function(t,e){var i=Object(a.useRef)(),h=Object(a.useRef)(),d=Object(a.useRef)(t.constructorType),c=Object(a.useRef)(t.highcharts);return l(function(){function e(){var e=t.highcharts||(typeof window>"u"?"undefined":r(window))==="object"&&window.Highcharts,s=t.constructorType||"chart";e?e[s]?t.options?h.current=e[s](i.current,t.options,t.callback):console.warn('The "options" property was not passed.'):console.warn('The "constructorType" property is incorrect or some required module is not imported.'):console.warn('The "highcharts" property was not passed.')}if(h.current){if(!1!==t.allowChartUpdate)if(t.constructorType!==d.current||t.highcharts!==c.current)d.current=t.constructorType,c.current=t.highcharts,e();else if(!t.immutable&&h.current){var s,a;(s=h.current).update.apply(s,[t.options].concat(function(t){if(Array.isArray(t))return o(t)}(a=t.updateArgs||[!0,!0])||function(t){if("u">typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(a)||function(t,e){if(t){if("string"==typeof t)return o(t,void 0);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?o(t,e):void 0}}(a)||function(){throw TypeError(`Invalid attempt to spread non-iterable instance.
3In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()))}else e()}else e()},[t.options,t.allowChartUpdate,t.updateArgs,t.containerProps,t.highcharts,t.constructorType]),l(function(){return function(){h.current&&(h.current.destroy(),h.current=null)}},[]),Object(a.useImperativeHandle)(e,function(){return{get chart(){return h.current},container:i}},[]),n.a.createElement("div",s({},t.containerProps,{ref:i}
3))}));e.default=h},function(e,i){e.exports=t}];function i(t){if(s[t])return s[t].exports;var o=s[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,i),o.l=!0,o.exports}var s={};return i.m=e,i.c=s,i.d=function(t,e,s){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:s})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=0)}(o)}(c);let p=n(c.exports),u=[{value:0,id:"TX",code:"TX",name:"Texas",color:"#B0BEC0",grandielettori:40,vincente:"",repubblicani:"",democratici:"",republicani_name:"Donald Trump",democratici_name:"Kamala Harris",label:"(40)"},{value:0,code:"CA",name:"California",color:"#0D69C6",grandielettori:55,vincente:"democratico",repubblicani:"45",democratici:"55",republicani_name:"Donald Trump",democratici_name:"Kamala Harris",label:""},{value:0,id:"FL",code:"FL",name:"Florida",color:"#F10F27",grandielettori:29,vincente:"repubblicano",repubblicani:"55%",democratici:"45%",republicani_name:"Donald Trump",democratici_name:"Kamala Harris",label:""},{value:0,id:"ME",code:"ME",name:"Maine",color:"#0D69C6",grandielettori:4,vincente:"repubblicano",repubblicani:"55",democratici:"45",republicani_name:"Donald Trump",democratici_name:"Kamala Harris",delegati_repubblicani:3,delegati_democratici:1,label:'<div class="elezioni_usa_map_circle_red">3</div> <div class="elezioni_usa_map_circle_blue">1</div>'},{value:0,code:"NM",id:"NM",name:"New Mexico",color:"#0D69C6",grandielettori:5,vincente:"democratico",repubblicani:"45",democratici:"55",republicani_name:"Donald Trump",democratici_name:"Kamala Harris",delegati_repubblicani:2,delegati_democratici:3,label:'<div class="elezioni_usa_map_circle_red">2</div> <div class="elezioni_usa_map_circle_blue">3</div>'},{value:0,id:"MA",code:"MA",name:"Massachusetts",color:"#0D69C6",grandielettori:11,vincente:"democratico",repubblicani:"45",democratici:"55",republicani_name:"Donald Trump",democratici_name:"Kamala Harris",label:"",sidebar:!0}];function g({data:t}){(0,o.useState)(r.elezioniUsaMapLabelFontMini);let[e,i]=(0,o.useState)(t&&t.length?t:u),[a,n]=(0,o.useState)({chart:{map:d,borderWidth:0,spacing:[0,0,0,0],events:{redraw:function(){let t=this.mapView.zoom,e=25;(t=Math.abs(Math.round(t)))>2&&(e=15),document.querySelectorAll(".highcharts-data-label").forEach(t=>{t.style.fontSize=`${e}px`})}}},title:{text:""},mapNavigation:{enabled:!0,enableMouseWheelZoom:!0,enableDoubleClickZoomTo:!0,pinchType:""},legend:{enabled:!1},series:[{data:e,joinBy:["postal-code","code"],dataLabels:{enabled:!0,color:"#707F81",inside:!0,useHTML:!0,formatter:function(){let t=this.point,e=t.label;if(void 0===e)return"";let i=r.elezioniUsaMapLabelVincente;return""===t.vincente&&(i=r.elezioniUsaMapLabel),e=(e=e.replace("elezioni_usa_map_circle_red",r.elezioniUsaMapCircleRed)).replace("elezioni_usa_map_circle_blue",r.elezioniUsaMapCircleBlue),`<div class="${i}">${t.code}<div class="${r.elezioniUsaMapCircle}">${e}</div></div>`}},name:""}],tooltip:{headerFormat:"",formatter:function(){let t=this.point;return`
4          <div class="${r.elezioniUsaMapTooltip}">
5            <div class="${r.elezioniUsaMapTooltipMobile}">
6              <div>
7                <h3 class="${r.elezioniUsaMapTooltipTitle}">${t.name}</h3>
8                <p class="${r.elezioniUsaMapTooltipSubTitle}">${t.grandielettori} grandi elettori</p>
9              </div>
10              <div>
11                ${"democratico"===t.vincente?`
12                  <hr class="${r.elezioniUsaMapTooltipDemocraticRow}" />
13                  <p class="${r.elezioniUsaMapTooltipDemocraticName}">
14                    <span>${t.democratici_name}</span>
15                    <span class="${r.elezioniUsaMapTooltipDemocraticWin}">
16                      ${t.democratici?`${t.democratici}%`:""}
17                    </span>
18                  </p>
19                  <hr class="${r.elezioniUsaMapTooltipRepubblicaniRow} ${r.elezioniUsaMapTooltipSecondRow}" />
20                  <p class="${r.elezioniUsaMapTooltipRepubblicaniName}">
21                    <span>${t.republicani_name}</span>
22                    <span>${t.repubblicani?`${t.repubblicani}%`:""}</span>
23                  </p>
24                `:""}
25                ${"repubblicano"===t.vincente?`
26                  <hr class="${r.elezioniUsaMapTooltipRepubblicaniRow}" />
27                  <p class="${r.elezioniUsaMapTooltipRepubblicaniName}">
28                    <span>${t.republicani_name}</span>
29                    <span class="${r.elezioniUsaMapTooltipRepubblicanWin}">${t.repubblicani?`${t.repubblicani}%`:""}</span>
30                  </p>
31                  <hr class="${r.elezioniUsaMapTooltipDemocraticRow} ${r.elezioniUsaMapTooltipSecondRow}" />
32                  <p class="${r.elezioniUsaMapTooltipDemocraticName}">
33                    <span>${t.democratici_name}</span>
34                    <span>${t.democratici?`${t.democratici}%`:""}</span>
35                  </p>
36                `:""}
37              </div>
38            </div>
39          </div>
40        `},useHTML:!0,backgroundColor:"transparent",borderColor:"transparent",style:{pointerEvents:"auto"}}}),[l,c]=(0,o.useState)(null),g=(0,o.useCallback)(t=>{c(t)},[]);return(0,s.jsx)("div",{className:r.elezioniUsaMap,children:(0,s.jsx)("div",{className:r.elezioniUsaMapHighcharts,children:h&&a&&(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(p,{highcharts:h,constructorType:"mapChart",options:a,containerProps:{styles:{width:"100%",height:"100%"}},callback:g})})})})}let m={"skin-elections-usa-container":"_skin-elections-usa-container_1lg50_1"};function f({data:t}){return(0,s.jsx)("div",{className:m["skin-elections-usa-container"],children:(0,s.jsx)(g,{data:t})})}}}]);

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