PageSourceSearch

https://www.eu-gleichbehandlungsstelle.de/_assets/9da1c2a6d746389c…/chunks/vendor-highcharts-Bq02Qfr4.js

js eu-gleichbehandlungsstelle.de collected 2026-10-03 23:54:27 UTC 476,327 bytes, 1 lines download raw bytes

1var t,e;(e=t||(t={})).SVG_NS="http://www.w3.org/2000/svg",e.product="Highcharts",e.version="12.4.0",e.win="undefined"!=typeof window?window:{},e.doc=e.win.document,e.svg=!!e.doc?.createElementNS?.(e.SVG_NS,"svg")?.createSVGRect,e.pageLang=e.doc?.documentElement?.closest("[lang]")?.lang,e.userAgent=e.win.navigator?.userAgent||"",e.isChrome=e.win.chrome,e.isFirefox=-1!==e.userAgent.indexOf("Firefox"),e.isMS=/(edge|msie|trident)/i.test(e.userAgent)&&!e.win.opera,e.isSafari=!e.isChrome&&-1!==e.userAgent.indexOf("Safari"),e.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(e.userAgent),e.isWebKit=-1!==e.userAgent.indexOf("AppleWebKit"),e.deg2rad=2*Math.PI/360,e.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],e.noop=function(){},e.supportsPassiveEvents=function(){let t=!1;if(!e.isMS){const i=Object.defineProperty({},"passive",{get:function(){t=!0}});e.win.addEventListener&&e.win.removeEventListener&&(e.win.addEventListener("testPassive",e.noop,i),e.win.removeEventListener("testPassive",e.noop,i))}return t}(),e.charts=[],e.composed=[],e.dateFormats={},e.seriesTypes={},e.symbolSizes={},e.chartCount=0;const{charts:i,doc:s,win:o}=t;function n(e,i,s,r){const a=i?"Highcharts error":"Highcharts warning";32===e&&(e=`${a}: Deprecated member`);const l=p(e);let h=l?`${a} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(void 0!==r){let t="";l&&(h+="?"),k(r,function(e,i){t+=`\n - ${i}: ${e}`,l&&(h+=encodeURI(i)+"="+encodeURI(e))}),h+=t}S(t,"displayError",{chart:s,code:e,message:h,params:r},function(){if(i)throw new Error(h);o.console&&n.messages.indexOf(h)}),n.messages.push(h)}function r(t,e){return parseInt(t,e||10)}function a(t){return"string"==typeof t}function l(t){const e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function h(t,e){return!(!t||"object"!=typeof t||e&&l(t))}function c(t){return h(t)&&"number"==typeof t.nodeType}function d(t){const e=t?.constructor;return!(!h(t,!0)||c(t)||!e?.name||"Object"===e.name)}function p(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function u(t){return null!=t}function g(t,e,i){const s=a(e)&&!u(i);let o;const n=(e,i)=>{u(e)?t.setAttribute(i,e):s?(o=t.getAttribute(i),o||"class"!==i||(o=t.getAttribute(i+"Name"))):t.removeAttribute(i)};return a(e)?n(i,e):k(e,n),o}function m(t){return l(t)?t:[t]}function f(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function x(){const t=arguments,e=t.length;for(let i=0;i<e;i++){const e=t[i];if(null!=e)return e}}function y(t,e){f(t.style,e)}function b(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function v(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)};const w=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i;const s=t.length;for(i=0;i<s;i++)if(e(t[i],i))return t[i]};function k(t,e,i){for(const s in t)Object.hasOwnProperty.call(t,s)&&e.call(i||t[s],t[s],s,t)}function T(t,e,i){function s(e,i){const s=t.removeEventListener;s&&s.call(t,e,i,!1)}function o(i){let o,n;t.nodeName&&(e?(o={},o[e]=!0):o=i,k(o,function(t,e){if(i[e])for(n=i[e].length;n--;)s(e,i[e][n].fn)}))}const n="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(n,"hcEvents")){const t=n.hcEvents;if(e){const n=t[e]||[];i?(t[e]=n.filter(function(t){return i!==t.fn}),s(e,i)):(o(t),t[e]=[])}else o(t),delete n.hcEvents}}function S(e,i,o,n){if(o=o||{},s?.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==t)){const t=s.createEvent("Events");t.initEvent(i,!0,!0),o=f(t,o),e.dispatchEvent?e.dispatchEvent(o):e.fireEvent(i,o)}else if(e.hcEvents){o.target||f(o,{preventDefault:function(){o.defaultPrevented=!0},target:e,type:i});const t=[];let s=e,n=!1;for(;s.hcEvents;)Object.hasOwnProperty.call(s,"hcEvents")&&s.hcEvents[i]&&(t.length&&(n=!0),t.unshift.apply(t,s.hcEvents[i])),s=Object.getPrototypeOf(s);n&&t.sort((t,e)=>t.order-e.order),t.forEach(t=>{!1===t.fn.call(e,o)&&o.preventDefault()})}n&&!o.defaultPrevented&&n.call(e,o)}let M;const A=function(){const t=Math.random().toString(36).substring(2,9)+"-";let e=0;return function(){return"highcharts-"+(M?"":t)+e++}}();o.jQuery&&(o.jQuery.fn.highcharts=function(){const e=[].slice.call(arguments);if(this[0])return e[0]?(new(t[a(e[0])?e.shift():"Chart"])(this[0],e[0],e[1]),this):i[g(this[0],"data-highcharts-chart")]});const C={addEvent:function(e,i,s,o={}){const n="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(n,"hcEvents")||(n.hcEvents={});const r=n.hcEvents;t.Point&&e instanceof t.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);const a=e.addEventListener;a&&a.call(e,i,s,!!t.supportsPassiveEvents&&{passive:void 0===o.passive?-1!==i.indexOf("touch"):o.passive,capture:!1}),r[i]||(r[i]=[]);const l={fn:s,order:"number"==typeof o.order?o.order:1/0};return r[i].push(l),r[i].sort((t,e)=>t.order-e.order),function(){T(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}
1,attr:g,clamp:function(t,e,i){return t>e?t<i?t:i:e},clearTimeout:function(t){u(t)&&clearTimeout(t)},correctFloat:v,createElement:function(t,e,i,o,n){const r=s.createElement(t);return e&&f(r,e),n&&y(r,{padding:"0",border:"none",margin:"0"}),i&&y(r,i),o&&o.appendChild(r),r},crisp:function(t,e=0,i){const s=e%2/2,o=i?-1:1;return(Math.round(t*o-s)+s)*o},css:y,defined:u,destroyObjectProperties:function(t,e,i){k(t,function(s,o){s!==e&&s?.destroy&&s.destroy(),!s?.destroy&&i||delete t[o]})},diffObjects:function(t,e,i,s){const o={};return function t(e,o,n,r){const a=i?o:e;k(e,function(i,c){if(!r&&s&&s.indexOf(c)>-1&&o[c]){i=m(i),n[c]=[];for(let e=0;e<Math.max(i.length,o[c].length);e++)o[c][e]&&(void 0===i[e]?n[c][e]=o[c][e]:(n[c][e]={},t(i[e],o[c][e],n[c][e],r+1)))}else h(i,!0)&&!i.nodeType?(n[c]=l(i)?[]:{},t(i,o[c]||{},n[c],r+1),0!==Object.keys(n[c]).length||"colorAxis"===c&&0===r||delete n[c]):(e[c]!==o[c]||c in e&&!(c in o))&&"__proto__"!==c&&"constructor"!==c&&(n[c]=a[c])})}(t,e,o,0),o},discardElement:function(t){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:f,extendClass:function(t,e){const i=function(){};return f(i.prototype=new t,e),i},find:w,fireEvent:S,getAlignFactor:(t="")=>({center:.5,right:1,middle:.5,bottom:1}[t]||0),getClosestDistance:function(t,e){const i=!e;let s,o,n,r;return t.forEach(t=>{if(t.length>1)for(o=t.length-1,r=o;r>0;r--)n=t[r]-t[r-1],n<0&&!i?(e?.(),e=void 0):n&&(void 0===s||n<s)&&(s=n)}),s},getMagnitude:b,getNestedProperty:function(t,e){const i=t.split(".");for(;i.length&&u(e);){const t=i.shift();if(void 0===t||"__proto__"===t)return;if("this"===t){let t;return h(e)&&(t=e["@this"]),t??e}const s=e[t.replace(/[\\'"]/g,"")];if(!u(s)||"function"==typeof s||"number"==typeof s.nodeType||s===o)return;e=s}return e},getStyle:function t(e,i,s){let n;if("width"===i){let i=Math.min(e.offsetWidth,e.scrollWidth);const s=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));const a=o.getComputedStyle(e,void 0);return a&&(n=a.getPropertyValue(i),x(s,"opacity"!==i)&&(n=r(n))),n},insertItem:function(t,e){const i=t.options.index,s=e.length;let o;for(o=t.options.isInternal?s:0;o<s+1;o++)if(!e[o]||p(i)&&i<x(e[o].options.index,e[o]._i)||e[o].options.isInternal){e.splice(o,0,t);break}return o},isArray:l,isClass:d,isDOMElement:c,isFunction:function(t){return"function"==typeof t},isNumber:p,isObject:h,isString:a,merge:function(t,...e){let i,s=[t,...e],o={};const n=function(t,e){return"object"!=typeof t&&(t={}),k(e,function(i,s){"__proto__"!==s&&"constructor"!==s&&(!h(i,!0)||d(i)||c(i)?t[s]=e[s]:t[s]=n(t[s]||{},i))}),t};!0===t&&(o=s[1],s=Array.prototype.slice.call(s,2));const r=s.length;for(i=0;i<r;i++)o=n(o,s[i]);return o},normalizeTickInterval:function(t,e,i,s,o){let n,r=t;const a=t/(i=x(i,b(t)));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]))),n=0;n<e.length&&(r=e[n],!(o&&r*i>=t||!o&&a<=(e[n]+(e[n+1]||e[n]))/2));n++);return r=v(r*i,-Math.round(Math.log(.001)/Math.LN10)),r},objectEach:k,offset:function(t){const e=s.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(o.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(o.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return new Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:x,pInt:r,pushUnique:function(t,e){return t.indexOf(e)<0&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:T,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:m,stableSort:function(t,e){const i=t.length;let s,o;for(o=0;o<i;o++)t[o].safeI=o;for(t.sort(function(t,i){return s=e(t,i),0===s?t.safeI-i.safeI:s}),o=0;o<i;o++)delete t[o].safeI}
vendor: 2,452 bytes, line 1
1,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},ucfirst:function(t){return a(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)},uniqueKey:A,useSerialIds:function(t){return M=x(t,M)},wrap:function(t,e,i){const s=t[e];t[e]=function(){const t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}},{pageLang:E,win:P}=t,{defined:O,error:L,extend:D,isNumber:N,isObject:I,isString:B,merge:R,objectEach:F,pad:z,splat:H,timeUnits:W,ucfirst:G}=C,X=t.isSafari&&P.Intl&&!P.Intl.DateTimeFormat.prototype.formatRange;class Y{constructor(t,e){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=P.Date,this.update(t),this.lang=e}update(t={}){this.dTLCache={},this.options=t=R(!0,this.options,t);const{timezoneOffset:e,useUTC:i,locale:s}=t;this.Date=t.Date||P.Date||Date;let o=t.timezone;O(i)&&(o=i?"UTC":void 0),e&&e%60==0&&(o="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==o&&0!==o?.indexOf("Etc/GMT"),this.timezone=o,this.lang&&s&&(this.lang.locale=s),["months","shortMonths","weekdays","shortWeekdays"].forEach(t=>{const e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(t=>this.dateFormat(s,24*(e?31:1)*36e5*t))})}toParts(t){const[e,i,s,o,n,r,a]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, | |\/|:)/g);return[o,+s-1,i,n,r,a,Math.floor(Number(t)||0)%1e3,"DLMXJVS".indexOf(e)].map(Number)}dateTimeFormat(t,e,i=this.options.locale||E){const s=JSON.stringify(t)+i;B(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(n){/Invalid time zone/i.test(n.message)?(L(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):L(n.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){const i={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};
1return Object.keys(i).forEach(s=>{-1!==t.indexOf(s)&&D(e,i[s])}),e}makeTime(t,e,i=1,s=0,o,n,r){let a=this.Date.UTC(t,e,i,s,o||0,n||0,r||0);if("UTC"!==this.timezone){const t=this.getTimezoneOffset(a);if(a+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){const e=this.getTimezoneOffset(a);t!==e?a+=e-t:t-36e5!==this.getTimezoneOffset(a-36e5)||X||(a-=36e5)}}return a}parse(t){if(!B(t))return t??void 0;const e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}(-[0-9]{2}|)$/.test(t);e||i||(t+="Z");const s=Date.parse(t);return N(s)?s+(!e||i?this.getTimezoneOffset(s):0):void 0}getTimezoneOffset(t){if("UTC"!==this.timezone){const[e,i,s,o,n=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),r=60*-(s+n/60)*6e4;if(N(r))return r}return 0}dateFormat(e,i,s){const o=this.lang;if(!O(i)||isNaN(i))return o?.invalidDate||"";if(B(e=e??"%Y-%m-%d %H:%M:%S")){const t=/%\[([a-zA-Z]+)\]/g;let s;for(;s=t.exec(e);)e=e.replace(s[0],this.dateTimeFormat(s[1],i,o?.locale))}if(B(e)&&-1!==e.indexOf("%")){const s=this,[n,r,a,l,h,c,d,p]=this.toParts(i),u=o?.weekdays||this.weekdays,g=o?.shortWeekdays||this.shortWeekdays,m=o?.months||this.months,f=o?.shortMonths||this.shortMonths,x=D({a:g?g[p]:u[p].substr(0,3),A:u[p],d:z(a),e:z(a,2," "),w:p,v:o?.weekFrom??"",b:f[r],B:m[r],m:z(r+1),o:r+1,y:n.toString().substr(2,2),Y:n,H:z(l),k:l,I:z(l%12||12),l:l%12||12,M:z(h),p:l<12?"AM":"PM",P:l<12?"am":"pm",S:z(c),L:z(d,3)},t.dateFormats);F(x,function(t,o){if(B(e))for(;-1!==e.indexOf("%"+o);)e=e.replace("%"+o,"function"==typeof t?t.call(s,i):t)})}else if(I(e)){const t=(this.getTimezoneOffset(i)||0)/36e5,s=this.timezone||"Etc/GMT"+(t>=0?"+":"")+t,{prefix:o="",suffix:n=""}=e;e=o+this.dateTimeFormat(D({timeZone:s},e),i)+n}return s?G(e):e}resolveDTLFormat(t){return I(t,!0)?I(t,!0)&&void 0===t.main?{main:t}:t:{main:(t=H(t))[0],from:t[1],to:t[2]}}getDateFormat(t,e,i,s){const o=this.dateFormat("%m-%d %H:%M:%S.%L",e),n="01-01 00:00:00.000",r={millisecond:15,second:12,minute:9,hour:6,day:3};let a="millisecond",l=a;for(a in W){if(t&&t===W.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===n.substr(6)){a="week";break}if(t&&W[a]>t){a=l;break}if(r[a]&&o.substr(r[a])!==n.substr(r[a]))break;"week"!==a&&(l=a)}return this.resolveDTLFormat(s[a]).main}}const{defined:U,extend:j,timeUnits:V}=C;class q extends Y{getTimeTicks(t,e,i,s){const o=this,n=[],r={},{count:a=1,unitRange:l}=t;let h,[c,d,p,u,g,m]=o.toParts(e),f=(e||0)%1e3;if(s??(s=1),U(e)){if(f=l>=V.second?0:a*Math.floor(f/a),l>=V.second&&(m=l>=V.minute?0:a*Math.floor(m/a)),l>=V.minute&&(g=l>=V.hour?0:a*Math.floor(g/a)),l>=V.hour&&(u=l>=V.day?0:a*Math.floor(u/a)),l>=V.day&&(p=l>=V.month?1:Math.max(1,a*Math.floor(p/a))),l>=V.month&&(d=l>=V.year?0:a*Math.floor(d/a)),l>=V.year&&(c-=c%a),l===V.week){a&&(e=o.makeTime(c,d,p,u,g,m,f));const t=this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"),i="DLMXJVS".indexOf(t);p+=-i+s+(i<s?-7:0)}e=o.makeTime(c,d,p,u,g,m,f),o.variableTimezone&&U(i)&&(h=i-e>4*V.month||o.getTimezoneOffset(e)!==o.getTimezoneOffset(i));let t=e,x=1;for(;t<i;)n.push(t),l===V.year?t=o.makeTime(c+x*a,0):l===V.month?t=o.makeTime(c,d+x*a):!h||l!==V.day&&l!==V.week?h&&l===V.hour&&a>1?t=o.makeTime(c,d,p,u+x*a):t+=l*a:t=o.makeTime(c,d,p+x*a*(l===V.day?1:7)),x++;
vendor: 4,211 bytes, line 1
1n.push(t),l<=V.hour&&n.length<1e4&&n.forEach(t=>{t%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",t)&&(r[t]="day")})}return n.info=j(t,{higherRanks:r,totalRange:l*a}),n}}const{isTouchDevice:$}=t,{fireEvent:K,merge:_}=C,Z={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{weekFrom:"week from",chartTitle:"Chart title",locale:void 0,loading:"Loading...",months:void 0,seriesName:"Series {add index 1}",shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],pieSliceName:"Slice",resetZoom:"Reset zoom",yAxisTitle:"Values",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{color:"#333333",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:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"%v %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,position:{x:0,y:3},shared:!1,snap:$?25:10,headerFormat:'<span style="font-size: 0.8em">{ucfirst point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},J=new q(Z.time,Z.lang);const Q={defaultOptions:Z,defaultTime:J,getOptions:function(){return Z},setOptions:function(e){return K(t,"setOptions",{options:e}),_(!0,Z,e),e.time&&J.update(Z.time),e.lang&&"locale"in e.lang&&J.update({locale:e.lang.locale}),e.lang?.chartTitle&&(Z.title={...Z.title,text:e.lang.chartTitle}),Z}},{win:tt}=t,{isNumber:et,isString:it,merge:st,pInt:ot,defined:nt}=C,rt=(t,e,i)=>`color-mix(in srgb,${t},${e} ${100*i}%)`,at=t=>it(t)&&!!t&&"none"!==t;class lt{static parse(t){return t?new lt(t):lt.None}constructor(e){this.rgba=[NaN,NaN,NaN,NaN],this.input=e;const i=t.Color;if(i&&i!==lt)return new i(e);let s,o,n,r;if("object"==typeof e&&void 0!==e.stops)this.stops=e.stops.map(t=>
vendor: 4,918 bytes, line 1
1new lt(t[1]));else if("string"==typeof e)for(this.input=e=lt.names[e.toLowerCase()]||e,n=lt.parsers.length;n--&&!o;)r=lt.parsers[n],s=r.regex.exec(e),s&&(o=r.parse(s));o&&(this.rgba=o)}get(t){const e=this.input,i=this.rgba;if(this.output)return this.output;if("object"==typeof e&&void 0!==this.stops){const i=st(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 i&&et(i[0])?"rgb"===t||!t&&1===i[3]?"rgb("+i[0]+","+i[1]+","+i[2]+")":"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":e}brighten(t){const e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(et(t)&&0!==t)if(et(e[0]))for(let i=0;i<3;i++)e[i]+=ot(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);else lt.useColorMix&&at(this.input)&&(this.output=rt(this.input,t>0?"white":"black",Math.abs(t)));return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){const i=this.rgba,s=t.rgba;if(!et(i[0])||!et(s[0]))return lt.useColorMix&&at(this.input)&&at(t.input)&&e<.99?rt(this.input,t.input,e):t.input||"none";const o=1!==s[3]||1!==i[3],n=(t,s)=>t+(i[s]-t)*(1-e),r=s.slice(0,3).map(n).map(Math.round);return o&&r.push(n(s[3],3)),(o?"rgba(":"rgb(")+r.join(",")+")"}}lt.names={white:"#ffffff",black:"#000000"},lt.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[ot(t[1]),ot(t[2]),ot(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[ot(t[1]),ot(t[2]),ot(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[ot(t[1]+t[1],16),ot(t[2]+t[2],16),ot(t[3]+t[3],16),nt(t[4])?ot(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[ot(t[1],16),ot(t[2],16),ot(t[3],16),nt(t[4])?ot(t[4],16)/255:1]}}],lt.useColorMix=tt.CSS?.supports("color","color-mix(in srgb,red,blue 9%)"),lt.None=new lt("");const{parse:ht}=lt,{win:ct}=t,{isNumber:dt,objectEach:pt}=C;class ut{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){const t=this.paths,e=t?.[0],i=t?.[1],s=this.now||0;let o=[];if(1!==s&&e&&i)if(e.length===i.length&&s<1)for(let n=0;n<i.length;n++){const t=e[n],r=i[n],a=[];for(let e=0;e<r.length;e++){const i=t[e],o=r[e];dt(i)&&dt(o)&&("A"!==r[0]||4!==e&&5!==e)?a[e]=i+s*(o-i):a[e]=o}o.push(a)}else o=i;else o=this.toD||[];this.elem.attr("d",o,void 0,!0)}update(){const 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){const s=this,o=s.options,n=function(t){return!n.stopped&&s.step(t)},r=ct.requestAnimationFrame||function(t){setTimeout(t,13)},a=function(){for(let t=0;t<ut.timers.length;t++)ut.timers[t]()||ut.timers.splice(t--,1);ut.timers.length&&r(a)};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,n.elem=this.elem,n.prop=this.prop,n()&&1===ut.timers.push(n)&&r(a)):(delete o.curAnim[this.prop],o.complete&&0===Object.keys(o.curAnim).length&&o.complete.call(this.elem))}step(t){const e=+new Date,i=this.options,s=this.elem,o=i.complete,n=i.duration,r=i.curAnim;let a,l;return s.attr&&!s.element?a=!1:t||e>=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),r[this.prop]=!0,l=!0,pt(r,function(t){!0!==t&&(l=!1)}),l&&o&&o.call(s),a=!1):(this.pos=i.easing((e-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),a=!0),a}initPath(t,e,i){const s=t.startX,o=t.endX,n=i.slice(),r=t.isArea,a=r?2:1,l=e&&i.length>e.length&&i.hasStackedCliffs;let h,c,d,p,u=e?.slice();if(!u||l)return[n,n];function g(t,e){for(;t.length<c;){const 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),r){const e=t.pop();t.push(t[t.length-1],e)}}}function m(t){for(;t.length<c;){const e=t[Math.floor(t.length/a)-1].slice();if("C"===e[0]&&(e[1]=e[5],e[2]=e[6]),r){const i=t[Math.floor(t.length/a)].slice();t.splice(t.length/2,0,e,i)}else t.push(e)}}if(s&&o&&o.length){for(d=0;d<s.length;d++){if(s[d]===o[0]){h=d;break}if(s[0]===o[o.length-s.length+d]){h=d,p=!0;break}if(s[s.length-1]===o[o.length-s.length+d]){h=s.length-d;break}}void 0===h&&(u=[])}return u.length&&dt(h)&&(c=n.length+h*a,p?(g(u,n),m(n)):(g(n,u),m(u))),[u,n]}fillSetter(){ut.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,ht(this.start).tweenTo(ht(this.end),this.pos),void 0,!0)}}ut.timers=[];const{defined:gt,getStyle:mt,isArray:ft,isNumber:xt,isObject:yt,merge:bt,objectEach:vt,pick:wt}=C;function kt(t){return yt(t)?bt({duration:500,defer:0},t):{duration:t?500:0,defer:0}}function Tt(t,e){let i=ut.timers.length;for(;i--;)ut.timers[i].elem!==t||e&&e!==ut.timers[i].prop||(ut.timers[i].stopped=!0)}
1const St={animate:function(t,e,i){let s,o,n,r,a="";yt(i)||(r=arguments,i={duration:r[2],easing:r[3],complete:r[4]}),xt(i.duration)||(i.duration=400),i.easing="function"==typeof i.easing?i.easing:Math[i.easing]||Math.easeInOutSine,i.curAnim=bt(e),vt(e,function(r,l){Tt(t,l),n=new ut(t,i,l),o=void 0,"d"===l&&ft(e.d)?(n.paths=n.initPath(t,t.pathArray,e.d),n.toD=e.d,s=0,o=1):t.attr?s=t.attr(l):(s=parseFloat(mt(t,l))||0,"opacity"!==l&&(a="px")),o||(o=r),"string"==typeof o&&o.match("px")&&(o=o.replace(/px/g,"")),n.run(s,o,a)})},animObject:kt,getDeferredAnimation:function(t,e,i){const s=kt(e),o=i?[i]:t.series;let n=0,r=0;return o.forEach(t=>{const i=kt(t.options.animation);n=yt(e)&&gt(e.defer)?s.defer:Math.max(n,i.duration+i.defer),r=Math.min(s.duration,i.duration)}),t.renderer.forExport&&(n=0),{defer:Math.max(0,n-r),duration:Math.min(n,r)}},setAnimation:function(t,e){e.renderer.globalAnimation=wt(t,e.options.chart.animation,!0)},stop:Tt},{SVG_NS:Mt,win:At}=t,{attr:Ct,createElement:Et,css:Pt,error:Ot,isFunction:Lt,isString:Dt,objectEach:Nt,splat:It}=C,{trustedTypes:Bt}=At,Rt=Bt&&Lt(Bt.createPolicy)&&Bt.createPolicy("highcharts",{createHTML:t=>t}),Ft=Rt?Rt.createHTML(""):"";class zt{static filterUserAttributes(t){return Nt(t,(e,i)=>{let s=!0;-1===zt.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=Dt(e)&&zt.allowedReferences.some(t=>0===e.indexOf(t))),s||(Ot(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),Dt(e)&&t[i]&&(t[i]=e.replace(/</g,"&lt;"))}),t}static parseStyle(t){return t.split(";").reduce((t,e)=>{const 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){if(t.innerHTML=zt.emptyHTML,e){new zt(e).addToDOM(t)}}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(e){return function e(i,s){let o;return It(i).forEach(function(i){const n=i.tagName,r=i.textContent?t.doc.createTextNode(i.textContent):void 0,a=zt.bypassHTMLFiltering;let l;if(n)if("#text"===n)l=r;else if(-1!==zt.allowedTags.indexOf(n)||a){const o="svg"===n?Mt:s.namespaceURI||Mt,h=t.doc.createElementNS(o,n),c=i.attributes||{};Nt(i,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(c[e]=t)}),Ct(h,a?c:zt.filterUserAttributes(c)),i.style&&Pt(h,i.style),r&&h.appendChild(r),e(i.children||[],h),l=h}else Ot(33,!1,void 0,{"Invalid tagName in config":n});l&&s.appendChild(l),o=l}),o}(this.nodes,e)}parseMarkup(t){const e=[];let i;t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{i=(new DOMParser).parseFromString(Rt?Rt.createHTML(t):t,"text/html")}catch{}if(!i){const e=Et("div");e.innerHTML=t,i={body:e}}const s=(t,e)=>{const i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");const n=t.attributes;if(n){const t={};[].forEach.call(n,e=>{"data-style"===e.name?o.style=zt.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){const e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(i.body.childNodes,t=>s(t,e)),e}}zt.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","disabled","dx","dy","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","result","role","rowspan","scope","slope","src","startOffset","stdDeviation","stroke-linecap","stroke-width","stroke","style","summary","tabindex","tableValues","target","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],zt.allowedReferences=["https://","http://","mailto:","/","../","./","#"],zt.allowedTags=["#text","a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","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","tbody","td","text","textPath","th","thead","title","tr","tspan","u","ul"],zt.emptyHTML=Ft,zt.bypassHTMLFiltering=!1;const{defaultOptions:Ht,defaultTime:Wt}=Q,{pageLang:Gt}=t,{extend:Xt,getNestedProperty:Yt,isArray:Ut,isNumber:jt,isObject:Vt,isString:qt,pick:$t,ucfirst:Kt}=C,_t={add:(t,e)=>
1t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){const e=arguments[arguments.length-1];return!!Ut(t)&&t.map((i,s)=>Qt(e.body,Xt(Vt(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,ucfirst:Kt,unless:t=>!t},Zt={},Jt=t=>/^["'].+["']$/.test(t);function Qt(t="",e,i){const s=/\{([a-zA-Z\u00C0-\u017F\d:\.,;\-\/<>\[\]%_@+"'’= #\(\)]+)\}/g,o=/\(([a-zA-Z\u00C0-\u017F\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/g,n=[],r=/f$/,a=/\.(\d)/,l=i?.options?.lang||Ht.lang,h=i?.time||Wt,c=i?.numberFormatter||te.bind(i),d=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:Jt(t)?t.slice(1,-1):Yt(t,e))};let p,u,g,m=0;for(;null!==(p=s.exec(t));){const i=p,s=o.exec(p[1]);s&&(p=s,g=!0),u?.isBlock||(u={ctx:e,expression:p[1],find:p[0],isBlock:"#"===p[1].charAt(0),start:p.index,startInner:p.index+p[0].length,length:p[0].length});const r=(u.isBlock?i:p)[1].split(" ")[0].replace("#","");_t[r]&&(u.isBlock&&r===u.fn&&m++,u.fn||(u.fn=r));const a="else"===p[1];if(u.isBlock&&u.fn&&(p[1]===`/${u.fn}`||a))if(m)a||m--;else{const e=u.startInner,i=t.substr(e,p.index-e);void 0===u.body?(u.body=i,u.startInner=p.index+p[0].length):u.elseBody=i,u.find+=i+p[0],a||(n.push(u),u=void 0)}else u.isBlock||n.push(u);if(s&&!u?.isBlock)break}return n.forEach(s=>{const{body:n,elseBody:p,expression:u,fn:g}=s;let m,f;if(g){const t=[s],o=[],r=u.length;let a,l=0;for(f=0;f<=r;f++){const t=u.charAt(f);a||'"'!==t&&"'"!==t?a===t&&(a=""):a=t,a||" "!==t&&f!==r||(o.push(u.substr(l,f-l)),l=f+1)}for(f=_t[g].length;f--;)t.unshift(d(o[f+1]));m=_t[g].apply(e,t),s.isBlock&&"boolean"==typeof m&&(m=Qt(m?n:p,e,i))}else{const t=Jt(u)?[u]:u.split(":");m=d(t.shift()||"");const e=m%1!=0;if("number"==typeof m&&(t.length||e)){const i=t.join(":");if(r.test(i)||e){const t=parseInt((i.match(a)||["","-1"])[1],10);null!==m&&(m=c(m,t,l.decimalPoint,i.indexOf(",")>-1?l.thousandsSep:""))}else m=h.dateFormat(i,m)}o.lastIndex=0,o.test(s.find)&&qt(m)&&(m=`"${m}"`)}t=t.replace(s.find,$t(m,""))}),g?Qt(t,e,i):t}function te(t,e,i,s){t=+t||0,e=+e;let o,n,[r,a]=t.toString().split("e").map(Number);const l=this?.options?.lang||Ht.lang,h=(t.toString().split(".")[1]||"").split("e")[0].length,c=e,d={};i??(i=l.decimalPoint),s??(s=l.thousandsSep),-1===e?e=Math.min(h,20):jt(e)?e&&a<0&&(n=e+a,n>=0?(r=+r.toExponential(n).split("e")[0],e=n):(r=Math.floor(r),t=e<20?+(r*Math.pow(10,a)).toFixed(e):0,a=0)):e=2,a&&(e??(e=2),t=r),jt(e)&&e>=0&&(d.minimumFractionDigits=e,d.maximumFractionDigits=e),""===s&&(d.useGrouping=!1);const p=s||i,u=p?"en":this?.locale||l.locale||Gt,g=JSON.stringify(d)+u;return o=(Zt[g]??(Zt[g]=new Intl.NumberFormat(u,d))).format(t),p&&(o=o.replace(/([,\.])/g,"_$1").replace(/_\,/g,s??",").replace("_.",i??".")),(!e&&0===+o||a<0&&!c)&&(o="0"),a&&0!==+o&&(o+="e"+(a<0?"":"+")+a),o}const ee={dateFormat:function(t,e,i){return Wt.dateFormat(t,e,i)},format:Qt,helpers:_t,numberFormat:te};var ie;!function(e){let i;e.rendererTypes={},e.getRendererType=function(t=i){return e.rendererTypes[t]||e.rendererTypes[i]},e.registerRendererType=function(s,o,n){e.rendererTypes[s]=o,i&&!n||(i=s,t.Renderer=o)}}(ie||(ie={}));const se=ie,{clamp:oe,pick:ne,pushUnique:re,stableSort:ae}=C;var le;(le||(le={})).distribute=function t(e,i,s){const o=e,n=o.reducedLen||i,r=(t,e)=>(e.rank||0)-(t.rank||0),a=(t,e)=>t.target-e.target,l=[],h=e.length,c=[],d=l.push;let p,u,g,m,f,x,y=!0,b=0;for(p=h;p--;)b+=e[p].size;if(b>n){for(ae(e,r),x=e[0].rank===e[e.length-1].rank,g=x?h/2:-1,u=x?g:h-1;g&&b>n;)p=Math.floor(u),m=e[p],re(c,p)&&(b-=m.size),u+=g,x&&u>=e.length&&(g/=2,u=g);c.sort((t,e)=>e-t).forEach(t=>d.apply(l,e.splice(t,1)))}for(ae(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:ne(t.align,.5)}));y;){for(p=e.length;p--;)m=e[p],f=(Math.min.apply(0,m.targets)+Math.max.apply(0,m.targets))/2,m.pos=oe(f-m.size*m.align,0,i-m.size);for(p=e.length,y=!1;p--;)p>0&&e[p-1].pos+e[p-1].size>e[p].pos&&(e[p-1].size+=e[p].size,e[p-1].targets=e[p-1].targets.concat(e[p].targets),e[p-1].align=.5,e[p-1].pos+e[p-1].size>i&&(e[p-1].pos=i-e[p-1].size),e.splice(p,1),y=!0)}return d.apply(o,l),p=0,e.some(e=>{let n=0;return(e.targets||[]).some(()=>(o[p].pos=e.pos+n,void 0!==s&&Math.abs(o[p].pos-o[p].target)>
vendor: 4,223 bytes, line 1
1s?(o.slice(0,p+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||i)-.1*i,o.reducedLen>.1*i&&t(o,i,s),!0):(n+=o[p].size,p++,!1)))}),ae(o,a),o};const he=le,{animate:ce,animObject:de,stop:pe}=St,{deg2rad:ue,doc:ge,svg:me,SVG_NS:fe,win:xe,isFirefox:ye}=t,{addEvent:be,attr:ve,createElement:we,crisp:ke,css:Te,defined:Se,erase:Me,extend:Ae,fireEvent:Ce,getAlignFactor:Ee,isArray:Pe,isFunction:Oe,isNumber:Le,isObject:De,isString:Ne,merge:Ie,objectEach:Be,pick:Re,pInt:Fe,pushUnique:ze,replaceNested:He,syncTimeout:We,uniqueKey:Ge}=C;class Xe{_defaultGetter(t){let e=Re(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){const e=this.renderer,i=this.element;let s;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&e.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(s=this.zIndexSetter()),s||(t?t.element:e.box).appendChild(i),this.onAdd&&this.onAdd(),this}addClass(t,e){const 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){const o=this.renderer,n=o.alignedObjects,r=Boolean(t);t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);const a=!i||Ne(i)?i||"renderer":void 0;a&&(r&&ze(n,this),i=void 0);const l=Re(i,o[a],o),h=(l.x||0)+(t.x||0)+((l.width||0)-(t.width||0))*Ee(t.align),c=(l.y||0)+(t.y||0)+((l.height||0)-(t.height||0))*Ee(t.verticalAlign),d={"text-align":t?.align};return d[e?"translateX":"x"]=Math.round(h),d[e?"translateY":"y"]=Math.round(c),s&&(this[this.placed?"animate":"attr"](d),this.placed=!0),this.alignAttr=d,this}alignSetter(t){const e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){const s=de(Re(e,this.renderer.globalAnimation,!0)),o=s.defer;return ge.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),We(()=>{this.element&&ce(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),Be(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(e){const i=this.element;-1!==e.indexOf("contrast")&&(e=e.replace(/contrast/g,this.renderer.getContrast(i.style.fill)));const s=e.indexOf(" "),o=e.substring(s+1);let n=e.substring(0,s);if(n&&"none"!==n&&t.svg){this.fakeTS=!0,n=n.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();const t=ge.createElementNS(fe,"tspan");ve(t,{class:"highcharts-text-outline",fill:o,stroke:o,"stroke-width":n,"stroke-linejoin":"round"});const e=i.querySelector("textPath")||i;[].forEach.call(e.childNodes,e=>{const i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let s=0;[].forEach.call(e.querySelectorAll("text tspan"),t=>{s+=Number(t.getAttribute("dy"))});const r=ge.createElementNS(fe,"tspan");r.textContent="​",ve(r,{x:Number(i.getAttribute("x")),dy:-s}),t.appendChild(r),e.insertBefore(t,e.firstChild)}}attr(t,e,i,s){const{element:o}=this,n=Xe.symbolCustomAttribs;let r,a,l,h,c=this;return"string"==typeof t&&void 0!==e&&(r=t,(t={})[r]=e),"string"==typeof t?c=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(Be(t,function(e,i){l=!1,s||pe(this,i),this.symbolName&&-1!==n.indexOf(i)&&(a||(this.symbolAttr(t),a=!0),l=!0),!this.rotation||"x"!==i&&"y"!==i||(this.doTransform=!0),l||(h=this[i+"Setter"]||this._defaultSetter,h.call(this,e,i,o))},this),this.afterSetters()),i&&i.call(this),c}clip(t){if(t&&!t.clipPath){const e=Ge()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);Ae(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);const i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,n=(t.height||this.height||0)+s,r=ke(i,e),a=ke(s,e),l=ke(o,e),h=ke(n,e);return Ae(t,{x:r,y:a,width:l-r,height:h-a}
vendor: 6,891 bytes, line 1
1),Se(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){const s=this.renderer;let o,n,r,a,l,h,c,d,p,u,g,m=[];Ce(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?n="radialGradient":t.linearGradient&&(n="linearGradient"),n){if(r=t[n],l=s.gradients,h=t.stops,p=i.radialReference,Pe(r)&&(t[n]=r={x1:r[0],y1:r[1],x2:r[2],y2:r[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===n&&p&&!Se(r.gradientUnits)&&(a=r,r=Ie(r,s.getRadialAttr(p,a),{gradientUnits:"userSpaceOnUse"})),Be(r,function(t,e){"id"!==e&&m.push(e,t)}),Be(h,function(t){m.push(t)}),m=m.join(","),l[m])u=l[m].attr("id");else{r.id=u=Ge();const t=l[m]=s.createElement(n).attr(r).add(s.defs);t.radAttr=a,t.stops=[],h.forEach(function(e){0===e[1].indexOf("rgba")?(o=lt.parse(e[1]),c=o.get("rgb"),d=o.get("a")):(c=e[1],d=1);const i=s.createElement("stop").attr({offset:e[0],"stop-color":c,"stop-opacity":d}).add(t);t.stops.push(i)})}g="url("+s.url+"#"+u+")",i.setAttribute(e,g),i.gradient=m,t.toString=function(){return g}}})}css(t){const e=this.styles,i={},s=this.element;let o,n=!e;if(e&&Be(t,function(t,s){e&&e[s]!==t&&(i[s]=t,n=!0)}),n){e&&(t=Ae(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=Fe(t.width)),Ae(this.styles,t),o&&!me&&this.renderer.forExport&&delete t.width;const n=ye&&t.fontSize||null;n&&(Le(n)||/^\d+$/.test(n))&&(t.fontSize+="px");const r=Ie(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(t=>r&&delete r[t]),r.color&&(r.fill=r.color,delete r.color)),Te(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){const s=(t=t.toLowerCase()).replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+Fe(s[e])*Re(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){const t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement;let o,n,r="SPAN"===e.nodeName&&t.parentGroup||void 0;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,pe(t),t.clipPath&&s){const 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.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);r?.div&&0===r.div.childNodes.length;)o=r.parentGroup,t.safeRemoveChild(r.div),delete r.div,r=o;t.alignOptions&&Me(i.alignedObjects,t),Be(t,(e,i)=>{t[i]?.parentGroup!==t&&-1===["connector","foreignObject"].indexOf(i)||t[i]?.destroy?.(),delete t[i]})}dSetter(t,e,i){Pe(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce((t,e,i)=>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){const i=this,{alignValue:s,element:o,renderer:n,styles:r,textStr:a}=i,{cache:l,cacheKeys:h}=n,c=o.namespaceURI===i.SVG_NS,d=Re(e,i.rotation,0),p=n.styledMode?o&&Xe.prototype.getStyle.call(o,"font-size"):r.fontSize;let u,g,m,f;if(Se(a)&&(f=a.toString(),-1===f.indexOf("<")&&(f=f.replace(/\d/g,"0")),f+=["",n.rootFontSize,p,d,i.textWidth,s,r.lineClamp,r.textOverflow,r.fontWeight].join(",")),f&&!t&&(u=l[f]),!u||u.polygon){if(c||n.forExport){try{m=this.fakeTS&&function(t){const e=o.querySelector(".highcharts-text-outline");e&&Te(e,{display:t})},Oe(m)&&m("none"),u=o.getBBox?Ae({},o.getBBox()):{width:o.offsetWidth,height:o.offsetHeight,x:0,y:0},Oe(m)&&m("")}catch{}(!u||u.width<0)&&(u={x:0,y:0,width:0,height:0})}else u=i.htmlGetBBox();g=u.height,c&&(u.height=g={"11px,17":14,"13px,20":16}[`${p||""},${Math.round(g)}`]||g),d&&(u=this.getRotatedBox(u,d));const t={bBox:u};Ce(this,"afterGetBBox",t),u=t.bBox}if(f&&(""===a||u.height>0)){for(;h.length>250;)delete l[h.shift()];l[f]||h.push(f),l[f]=u}return u}getRotatedBox(t,e){const{x:i,y:s,width:o,height:n}=t,{alignValue:r,translateY:a,rotationOriginX:l=0,rotationOriginY:h=0}=this,c=Ee(r),d=Number(this.element.getAttribute("y")||0)-(a?0:s),p=e*ue,u=(e-90)*ue,g=Math.cos(p),m=Math.sin(p),f=o*g,x=o*m,y=Math.cos(u),b=Math.sin(u),[[v,w],[k,T]]=[l,h].map(t=>[t-t*g,t*m]),S=i+c*(o-f)+v+T+d*y,M=S+f,A=M-n*y,C=A-f,E=s+d-c*x-w+k+d*b,P=E+x,O=P-n*b,L=O-x,D=Math.min(S,M,A,C),N=Math.min(E,P,O,L);return{x:D,y:N,width:Math.max(S,M,A,C)-D,height:Math.max(E,P,O,L)-N,polygon:[[S,E],[M,P],[A,O],[C,L]]}}getStyle(t){return xe.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=fe,this.element="span"===e||"body"===e?we(e):ge.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},Ce(this,"afterInit")}on(t,e){const{onEvents:i}=this;return i[t]&&i[t](),i[t]=be(this.element,t,e),this}opacitySetter(t,e,i){const 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(Ne(t)?new RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){const t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){const e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){const e=this.element.gradient&&this.renderer.gradients[this.element.gradient]||void 0;return this.element.radialReference=t,e?.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){const{renderer:e}=this,i=Ie(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},De(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;const t=this.getStyle("stroke-width");let e,i=0;return/px$/.test(t)?i=Fe(t):""!==t&&(e=ge.createElementNS(fe,"rect"),ve(e,{width:t,"stroke-width":0}),this.element.parentNode.appendChild(e),i=e.getBBox().width,e.parentNode.removeChild(e)),i}symbolAttr(t){const e=this;
vendor: 12,180 bytes, line 1
1Xe.symbolCustomAttribs.forEach(function(i){e[i]=Re(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){const e=this.element,i=e.getElementsByTagName("title")[0]||ge.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=He(Re(t,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){const t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){const{element:e,foreignObject:i,matrix:s,padding:o,rotation:n=0,rotationOriginX:r,rotationOriginY:a,scaleX:l,scaleY:h,text:c,translateX:d=0,translateY:p=0}=this,u=["translate("+d+","+p+")"];Se(s)&&u.push("matrix("+s.join(",")+")"),n&&(u.push("rotate("+n+" "+(r??e.getAttribute("x")??this.x??0)+" "+(a??e.getAttribute("y")??this.y??0)+")"),"SPAN"!==c?.element.tagName||c?.foreignObject||c.attr({rotation:n,rotationOriginX:(r||0)-o,rotationOriginY:(a||0)-o})),(Se(l)||Se(h))&&u.push("scale("+Re(l,1)+" "+Re(h,1)+")"),u.length&&!(c||this).textPath&&(i?.element||e).setAttribute(t,u.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){const i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,n=this.element,r=o===i.box;let a,l,h,c,d,p=!1,u=this.added;if(Se(t)?(n.setAttribute("data-z-index",t),t=+t,this[e]===t&&(u=!1)):Se(this[e])&&n.removeAttribute("data-z-index"),this[e]=t,u){for((t=this.zIndex)&&s&&(s.handleZ=!0),a=o.childNodes,d=a.length-1;d>=0&&!p;d--)l=a[d],h=l.getAttribute("data-z-index"),c=!Se(h),l!==n&&(t<0&&c&&!r&&!d?(o.insertBefore(n,a[d]),p=!0):(Fe(h)<=t||c&&(!Se(t)||t>=0))&&(o.insertBefore(n,a[d+1]),p=!0));p||(o.insertBefore(n,a[r?3:0]),p=!0)}return p}}Xe.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],Xe.prototype.strokeSetter=Xe.prototype.fillSetter,Xe.prototype.yGetter=Xe.prototype.xGetter,Xe.prototype.matrixSetter=Xe.prototype.rotationOriginXSetter=Xe.prototype.rotationOriginYSetter=Xe.prototype.rotationSetter=Xe.prototype.scaleXSetter=Xe.prototype.scaleYSetter=Xe.prototype.translateXSetter=Xe.prototype.translateYSetter=Xe.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};const{defined:Ye,extend:Ue,getAlignFactor:je,isNumber:Ve,merge:qe,pick:$e,removeEvent:Ke}=C;class _e extends Xe{constructor(t,e,i,s,o,n,r,a,l,h){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=n,this.anchorY=r,this.baseline=l,this.className=h,this.addClass("button"===h?"highcharts-no-tooltip":"highcharts-label"),h&&this.addClass("highcharts-"+h),this.text=t.text(void 0,0,0,a).attr({zIndex:1}),"string"==typeof o&&(c=/^url\((.*?)\)$/.test(o),(c||this.renderer.symbols[o])&&(this.symbolKey=o)),this.bBox=_e.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||c,this.deferredAttr={},this.alignFactor=0}alignSetter(t){const e=je(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&Ve(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){const e={};t=qe(t),_e.textProps.forEach(i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return Xe.prototype.css.call(this,t)}destroy(){Ke(this.element,"mouseenter"),Ke(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),Xe.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();const{padding:i,height:s=0,translateX:o=0,translateY:n=0,width:r=0}=this,a=$e(this.paddingLeft,i),l=e??(this.rotation||0);let h={width:r,height:s,x:o+this.bBox.x-a,y:n+this.bBox.y-i+this.baselineOffset};return l&&(h=this.getRotatedBox(h,l)),h}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:$e(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&Ye(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){Ve(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=this["text-align"]=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){const t=this.text,e={},i=this.padding,s=this.bBox=Ve(this.widthSetting)&&Ve(this.heightSetting)&&!this.textAlign||!Ye(t.textStr)?_e.emptyBBox:t.getBBox(void 0,0);let o;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||s.height||0)+2*i;const n=this.renderer.fontMetrics(t);if(this.baselineOffset=i+Math.min((this.text.firstLineMetrics||n).b,s.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-n.h)/2),this.needsBox&&!t.textPath){if(!this.box){const 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)}o=this.getCrispAdjust(),e.x=o,e.y=(this.baseline?-this.baselineOffset:0)+o,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(Ue(e,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){const t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();const i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+je(e)*(this.widthSetting??this.bBox.width);s===t.x&&i===t.y||(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=Ve(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){const t=this.padding,e=$e(this.paddingLeft,t),i=$e(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.anchorX&&(this["forceAnimate:anchorX"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.anchorY&&(this["forceAnimate:anchorY"]=!0),this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}_e.emptyBBox={width:0,height:0,x:0,y:0},_e.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];const{defined:Ze,isNumber:Je,pick:Qe}=C;function ti(t,e,i,s,o){const n=[];if(o){let r=o.start||0,a=o.end||0;const l=Qe(o.r,i),h=Qe(o.r,s||i),c=2e-4/(o.borderRadius?1:Math.max(l,1)),d=Math.abs(a-r-2*Math.PI)<c;d&&(r=Math.PI/2,a=2.5*Math.PI-c);const p=o.innerR,u=Qe(o.open,d),g=Math.cos(r),m=Math.sin(r),f=Math.cos(a),x=Math.sin(a),y=Qe(o.longArc,a-r-Math.PI<c?0:1);let b=["A",l,h,0,y,Qe(o.clockwise,1),t+l*f,e+h*x];b.params={start:r,end:a,cx:t,cy:e},n.push(["M",t+l*g,e+h*m],b),Ze(p)&&(b=["A",p,p,0,y,Ze(o.clockwise)?1-o.clockwise:0,t+p*g,e+p*m],b.params={start:a,end:r,cx:t,cy:e},n.push(u?["M",t+p*f,e+p*x]:["L",t+p*f,e+p*x],b)),u||n.push(["Z"])}return n}function ei(t,e,i,s,o){return o?.r?ii(t,e,i,s,o):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}function ii(t,e,i,s,o){const n=o?.r||0;return[["M",t+n,e],["L",t+i-n,e],["A",n,n,0,0,1,t+i,e+n],["L",t+i,e+s-n],["A",n,n,0,0,1,t+i-n,e+s],["L",t+n,e+s],["A",n,n,0,0,1,t,e+s-n],["L",t,e+n],["A",n,n,0,0,1,t+n,e],["Z"]]}const si={arc:ti,callout:function(t,e,i,s,o){const n=Math.min(o?.r||0,i,s),r=n+6,a=o?.anchorX,l=o?.anchorY||0,h=ii(t,e,i,s,{r:n});if(!Je(a))return h;if(a<i&&a>0&&l<s&&l>0)return h;if(t+a>i-r)if(l>e+r&&l<e+s-r)h.splice(3,1,["L",t+i,l-6],["L",t+i+6,l],["L",t+i,l+6],["L",t+i,e+s-n]);else if(a<i){const o=l<e+r,c=o?e:e+s,d=o?2:5;h.splice(d,0,["L",a,l],["L",t+i-n,c])}else h.splice(3,1,["L",t+i,s/2],["L",a,l],["L",t+i,s/2],["L",t+i,e+s-n]);else if(t+a<r)if(l>e+r&&l<e+s-r)h.splice(7,1,["L",t,l+6],["L",t-6,l],["L",t,l-6],["L",t,e+n]);else if(a>0){const i=l<e+r,o=i?e:e+s,c=i?1:6;h.splice(c,0,["L",a,l],["L",t+n,o])}else h.splice(7,1,["L",t,s/2],["L",a,l],["L",t,s/2],["L",t,e+n]);else l>s&&a<i-r?h.splice(5,1,["L",a+6,e+s],["L",a,e+s+6],["L",a-6,e+s],["L",t+n,e+s]):l<0&&a>r&&h.splice(1,1,["L",a-6,e],["L",a,e-6],["L",a+6,e],["L",i-n,e]);return h},circle:function(t,e,i,s){return ti(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:ei,roundedRect:ii,square:ei,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"]]}},{doc:oi,SVG_NS:ni,win:ri}=t,{attr:ai,extend:li,fireEvent:hi,isString:ci,objectEach:di,pick:pi}=C,ui=(t,e)=>t.substring(0,e)+"…";class gi{constructor(t){const e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e?.lineHeight,this.textOutline=e?.textOutline,this.ellipsis=Boolean("ellipsis"===e?.textOverflow),this.lineClamp=e?.lineClamp,this.noWrap=Boolean("nowrap"===e?.whiteSpace)}buildSVG(){const t=this.svgElement,e=t.element,i=t.renderer,s=pi(t.textStr,"").toString(),o=-1!==s.indexOf("<"),n=e.childNodes,r=!t.added&&i.box,a=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(a!==t.textCache){t.textCache=a,delete t.actualWidth;for(let t=n.length;t--;)e.removeChild(n[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(s))){if(""!==s){r&&r.appendChild(e);const i=new zt(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&t.attr("title",this.unescapeEntities(t.textStr||"",["&lt;","&gt;"])),r&&r.removeChild(e)}}else e.appendChild(oi.createTextNode(this.unescapeEntities(s)));ci(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){const t=this.svgElement,e=ai(t.element,"x");let i;for(t.firstLineMetrics=void 0;(i=t.element.firstChild)&&/^[\s\u200B]*$/.test(i.textContent||" ");)t.element.removeChild(i);[].forEach.call(t.element.querySelectorAll("tspan.highcharts-br"),(i,s)=>{i.nextSibling&&i.previousSibling&&(0===s&&1===i.previousSibling.nodeType&&(t.firstLineMetrics=t.renderer.fontMetrics(i.previousSibling)),ai(i,{dy:this.getLineHeight(i.nextSibling),x:e}))});const s=this.width||0;if(!s)return;const o=(i,o)=>{const n=i.textContent||"",r=n.replace(/([^\^])-/g,"$1- ").split(" "),a=!this.noWrap&&(r.length>1||t.element.childNodes.length>1),l=this.getLineHeight(o),h=Math.max(0,s-.8*l);let c=0,d=t.actualWidth;if(a){const n=[],a=[];for(;o.firstChild&&o.firstChild!==i;)a.push(o.firstChild),o.removeChild(o.firstChild);for(;r.length;)if(r.length&&!this.noWrap&&c>0&&(n.push(i.textContent||""),i.textContent=r.join(" ").replace(/- /g,"-")),this.truncate(i,void 0,r,0===c&&d||0,s,h,(t,e)=>r.slice(0,e).join(" ").replace(/- /g,"-")),d=t.actualWidth,c++,this.lineClamp&&c>=this.lineClamp){r.length&&(this.truncate(i,i.textContent||"",void 0,0,s,h,ui),i.textContent=i.textContent?.replace("…","")+"…");break}
vendor: 4,379 bytes, line 1
1a.forEach(t=>{o.insertBefore(t,i)}),n.forEach(t=>{o.insertBefore(oi.createTextNode(t),i);const s=oi.createElementNS(ni,"tspan");s.textContent="​",ai(s,{dy:l,x:e}),o.insertBefore(s,i)})}else this.ellipsis&&n&&this.truncate(i,n,void 0,0,s,h,ui)},n=e=>{[].slice.call(e.childNodes).forEach(i=>{i.nodeType===ri.Node.TEXT_NODE?o(i,e):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(t.actualWidth=0),n(i))})};n(t.element)}getLineHeight(t){const e=t.nodeType===ri.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){const e=(i,s)=>{const{attributes:o={},children:n,style:r={},tagName:a}=i,l=this.renderer.styledMode;if("b"===a||"strong"===a?l?o.class="highcharts-strong":r.fontWeight="bold":"i"!==a&&"em"!==a||(l?o.class="highcharts-emphasized":r.fontStyle="italic"),r?.color&&(r.fill=r.color),"br"===a){o.class="highcharts-br",i.textContent="​";const e=t[s+1];e?.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===a&&n&&n.some(t=>"#text"===t.tagName)&&(i.children=[{children:n,tagName:"tspan"}]);"#text"!==a&&"a"!==a&&(i.tagName="tspan"),li(i,{attributes:o,style:r}),n&&n.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),hi(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,n,r){const a=this.svgElement,{rotation:l}=a,h=[];let c,d,p=i&&!s?1:0,u=(e||i||"").length,g=u;i||(o=n);const m=function(e,o){const n=o||e,r=t.parentNode;if(r&&void 0===h[n]&&r.getSubStringLength)try{h[n]=s+r.getSubStringLength(0,i?n+1:n)}catch{}return h[n]};if(a.rotation=0,d=m(t.textContent.length),s+d>o){for(;p<=u;)g=Math.ceil((p+u)/2),i&&(c=r(i,g)),d=m(g,c&&c.length-1),p===u?p=u+1:d>o?u=g-1:p=g;0===u?t.textContent="":e&&u===e.length-1||(t.textContent=c||r(e||i,g)),this.ellipsis&&d>o&&this.truncate(t,t.textContent||"",void 0,0,o,n,ui)}i&&i.splice(0,g),a.actualWidth=d,a.rotation=l}unescapeEntities(t,e){return di(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(new RegExp(i,"g"),s))}),t}}const{defaultOptions:mi}=Q,{charts:fi,deg2rad:xi,doc:yi,isFirefox:bi,isMS:vi,isWebKit:wi,noop:ki,SVG_NS:Ti,symbolSizes:Si,win:Mi}=t,{addEvent:Ai,attr:Ci,createElement:Ei,crisp:Pi,css:Oi,defined:Li,destroyObjectProperties:Di,extend:Ni,isArray:Ii,isNumber:Bi,isObject:Ri,isString:Fi,merge:zi,pick:Hi,pInt:Wi,replaceNested:Gi,uniqueKey:Xi}=C;let Yi;class Ui{constructor(t,e,i,s,o,n,r){this.x=0,this.y=0;const a=this,l=a.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),h=l.element;r||l.css(this.getStyle(s||{})),t.appendChild(h),Ci(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&Ci(h,"xmlns",this.SVG_NS),this.box=h,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL();let c,d;this.createElement("desc").add().element.appendChild(yi.createTextNode("Created with Highcharts 12.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=n,this.forExport=o,this.styledMode=r,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),a.setSize(e,i,!1),bi&&t.getBoundingClientRect&&(c=function(){Oi(t,{left:0,top:0}),d=t.getBoundingClientRect(),Oi(t,{left:Math.ceil(d.left)-d.left+"px",top:Math.ceil(d.top)-d.top+"px"})},c(),a.unSubPixelFix=Ai(Mi,"resize",c))}definition(t){return new zt([t]).addToDOM(this.defs.element)}getReferenceURL(){if((bi||wi)&&yi.getElementsByTagName("base").length){if(!Li(Yi)){const t=Xi(),e=new zt([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(yi.body);Oi(e,{position:"fixed",top:0,left:0,zIndex:9e5});const i=yi.elementFromPoint(6,6);Yi="hitme"===i?.id,yi.body.removeChild(e)}if(Yi)return Gi(Mi.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=Ni({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){const t=this,e=t.defs;
vendor: 4,156 bytes, line 1
1return t.box=null,t.boxWrapper=t.boxWrapper.destroy(),Di(t.gradients||{}),t.gradients=null,t.defs=e.destroy(),t.unSubPixelFix&&t.unSubPixelFix(),t.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){const e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=zi({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 gi(t).buildSVG()}getContrast(t){if("transparent"===t)return"#000000";const e=lt.parse(t).rgba,i=" clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1)";if(Bi(e[0])||!lt.useColorMix){const t=e.map(t=>{const e=t/255;return e<=.04?e/12.92:Math.pow((e+.055)/1.055,2.4)}),i=.2126*t[0]+.7152*t[1]+.0722*t[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}return"color(from "+t+" srgb"+i+i+i+")"}button(t,e,i,s,o={},n,r,a,l,h){const c=this.label(t,e,i,l,void 0,void 0,h,void 0,"button"),d=this.styledMode,p=arguments;let u=0;o=zi(mi.global.buttonTheme,o),d&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);const g=o.states||{},m=o.style||{};delete o.states,delete o.style;const f=[zt.filterUserAttributes(o)],x=[m];return d||["hover","select","disabled"].forEach((t,e)=>{f.push(zi(f[0],zt.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(f[e+1].style),delete f[e+1].style}),Ai(c.element,vi?"mouseover":"mouseenter",function(){3!==u&&c.setState(1)}),Ai(c.element,vi?"mouseout":"mouseleave",function(){3!==u&&c.setState(u)}),c.setState=(t=0)=>{if(1!==t&&(c.state=u=t),c.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!d){c.attr(f[t]);const e=x[t];Ri(e)&&c.css(e)}},c.attr(f[0]),d||(c.css(Ni({cursor:"default"},m)),h&&c.text.css({pointerEvents:"none"})),c.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s?.call(c,t)})}crispLine(t,e){const[i,s]=t;return Li(i[1])&&i[1]===s[1]&&(i[1]=s[1]=Pi(i[1],e)),Li(i[2])&&i[2]===s[2]&&(i[2]=s[2]=Pi(i[2],e)),t}path(t){const e=this.styledMode?{}:{fill:"none"};return Ii(t)?e.d=t:Ri(t)&&Ni(e,t),this.createElement("path").attr(e)}circle(t,e,i){const s=Ri(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,n){let r;Ri(t)?(r=t,e=r.y,i=r.r,s=r.innerR,o=r.start,n=r.end,t=r.x):r={innerR:s,start:o,end:n};const a=this.symbol("arc",t,e,i,i,r);return a.r=i,a}rect(t,e,i,s,o,n){const r=Ri(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},a=this.createElement("rect");return this.styledMode||(void 0!==n&&(r["stroke-width"]=n,Ni(r,a.crisp(r))),r.fill="none"),a.rSetter=function(t,e,i){a.r=t,Ci(i,{rx:t,ry:t})},a.rGetter=function(){return a.r||0},a.attr(r)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){const s=this;s.width=t,s.height=e,s.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:Hi(i,!0)?void 0:0}),s.alignElements()}g(t){const e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,n){const r={preserveAspectRatio:"none"};Bi(e)&&(r.x=e),Bi(i)&&(r.y=i),Bi(s)&&(r.width=s),Bi(o)&&(r.height=o);const a=this.createElement("image").attr(r),l=function(e){a.attr({href:t}),n.call(a,e)};if(n){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});const e=new Mi.Image;Ai(e,"load",l),e.src=t,e.complete&&l({})}else a.attr({href:t});return a}symbol(t,e,i,s,o,n){const r=this,a=/^url\((.*?)\)$/,l=a.test(t),h=!l&&(this.symbols[t]?t:"circle"),c=h&&this.symbols[h
1];let d,p,u,g;if(c)"number"==typeof e&&(p=c.call(this.symbols,e||0,i||0,s||0,o||0,n)),d=this.path(p),r.styledMode||d.attr("fill","none"),Ni(d,{symbolName:h||void 0,x:e,y:i,width:s,height:o}),n&&Ni(d,n);else if(l){u=t.match(a)[1];const s=d=this.image(u);s.imgwidth=Hi(n?.width,Si[u]?.width),s.imgheight=Hi(n?.height,Si[u]?.height),g=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;const{alignByTranslate:i,element:s,width:o,height:r,imgwidth:a,imgheight:l}=this,h="width"===e?a:l;let c=1;n&&"within"===n.backgroundSize&&o&&r&&a&&l?(c=Math.min(o/a,r/l),Ci(s,{width:Math.round(a*c),height:Math.round(l*c)})):s&&h&&s.setAttribute(e,h),!i&&a&&l&&this.translate(((o||0)-a*c)/2,((r||0)-l*c)/2)}}),Li(e)&&s.attr({x:e,y:i}),s.isImg=!0,s.symbolUrl=t,Li(s.imgwidth)&&Li(s.imgheight)?g(s):(s.attr({width:0,height:0}),Ei("img",{onload:function(){const t=fi[r.chartIndex];0===this.width&&(Oi(this,{position:"absolute",top:"-999em"}),yi.body.appendChild(this)),Si[u]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&g(s),this.parentNode&&this.parentNode.removeChild(this),r.imgCount--,r.imgCount||!t||t.hasLoaded||t.onload()},src:u}),this.imgCount++)}return d}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){const o=this,n={};if(s&&(o.allowHTML||!o.forExport))return o.html(t,e,i);n.x=Math.round(e||0),i&&(n.y=Math.round(i)),Li(t)&&(n.text=t);const r=o.createElement("text").attr(n);return(!s||o.forExport&&!o.allowHTML)&&(r.xSetter=function(t,e,i){const s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let n,r=0;r<s.length;r++)n=s[r],n.getAttribute(e)===o&&n.setAttribute(e,t);i.setAttribute(e,t)}),r}fontMetrics(t){const e=Bi(t)?t:Wi(Xe.prototype.getStyle.call(t,"font-size")||0),i=e<24?e+3:Math.round(1.2*e);return{h:i,b:Math.round(.8*i),f:e}}rotCorr(t,e,i){let s=t;return e&&i&&(s=Math.max(s*Math.cos(e*xi),4)),{x:-t/3*Math.sin(e*xi),y:s}}pathToSegments(t){const 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++)Fi(i[0])&&Bi(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,n,r,a,l){return new _e(this,t,e,i,s,o,n,r,a,l)}alignElements(){this.alignedObjects.forEach(t=>t.align())}}Ni(Ui.prototype,{Element:Xe,SVG_NS:Ti,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:si,draw:ki}),se.registerRendererType("svg",Ui,!0);const{composed:ji,isFirefox:Vi}=t,{attr:qi,css:$i,createElement:Ki,defined:_i,extend:Zi,getAlignFactor:Ji,isNumber:Qi,pInt:ts,pushUnique:es}=C;function is(t,e,i){const s=this.div?.style;Xe.prototype[`${e}Setter`].call(this,t,e,i),s&&(i.style[e]=s[e]=t)}const ss=(t,e)=>{if(!t.div){const i=qi(t.element,"class"),s=t.css,o=Ki("div",i?{className:i}: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),o.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,o.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.scaleXSetter=t.scaleYSetter=(e,i)=>{t[i]=e,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=is,t.css=e=>(s.call(t,e),e.cursor&&(o.style.cursor=e.cursor),e.pointerEvents&&(o.style.pointerEvents=e.pointerEvents),t),t.on=function(){return Xe.prototype.on.apply({element:o,onEvents:t.onEvents},arguments),t},t.div=o}return t.div};class os extends Xe{static compose(t){es(ji,this.compose)&&(t.prototype.html=function(t,e,i){return new os(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),os.useForeignObject?this.foreignObject=t.createElement("foreignObject").attr({zIndex:2}):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){const{element:e}=this,i="SPAN"===e.tagName&&t&&"width"in t,s=i&&t.width;let o;return i&&(delete t.width,this.textWidth=ts(s)||void 0,o=!0),"ellipsis"===t?.textOverflow&&(t.overflow="hidden",t.whiteSpace="nowrap"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),Qi(Number(t?.fontSize))&&(t.fontSize+="px"),Zi(this.styles,t),$i(e,t),o&&this.updateTransform(),this}htmlGetBBox(){const{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);const{element:t,foreignObject:e,oldTextWidth:i,renderer:s,rotation:o,rotationOriginX:n,rotationOriginY:r,scaleX:a,scaleY:l,styles:{display:h="inline-block",whiteSpace:c},textAlign:d="left",textWidth:p,translateX:u=0,translateY:g=0,x:m=0,y:f=0}=this,x=()=>this.textPxLength?this.textPxLength:($i(t,{width:"",whiteSpace:c||"nowrap"}),t.offsetWidth);if(e||$i(t,{marginLeft:`${u}px`,marginTop:`${g}px`}),"SPAN"===t.tagName){const u=[o,d,t.innerHTML,p,this.textAlign].join(","),g=-1*this.parentGroup?.padding||0;let y;if(p!==i){const e=x(),n=p||0,r=!s.styledMode&&""===t.style.textOverflow&&t.style.webkitLineClamp;if((n>i||e>n||r)&&(/[\-\s\u00AD]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)){$i(t,{width:(o||a||e>n||r)&&Qi(p)?p+"px":"auto",display:h,whiteSpace:c||"normal"}),this.oldTextWidth=p}}e&&($i(t,{display:"inline-block",verticalAlign:"top"}),e.attr({width:s.width,height:s.height})),u!==this.cTT&&(y=s.fontMetrics(t).b,!_i(o)||e||o===(this.oldRotation||0)&&d===this.oldAlign||$i(t,{transform:`rotate(${o}deg)`,transformOrigin:`${g}% ${g}px`}
vendor: 8,066 bytes, line 1
1),this.getSpanCorrection(!_i(o)&&!this.textWidth&&this.textPxLength||t.offsetWidth,y,Ji(d)));const{xCorr:b=0,yCorr:v=0}=this,w={left:`${m+b}px`,top:`${f+v}px`,textAlign:d,transformOrigin:`${(n??m)-b-m-g}px ${(r??f)-v-f-g}px`};(a||l)&&(w.transform=`scale(${a??1},${l??1})`),e?(super.updateTransform(),Qi(m)&&Qi(f)?(e.attr({x:m+b,y:f+v,width:t.offsetWidth+3,height:t.offsetHeight,"transform-origin":t.getAttribute("transform-origin")||"0 0"}),$i(t,{display:h,textAlign:d})):Vi&&e.attr({width:0,height:0})):$i(t,w),this.cTT=u,this.oldRotation=o,this.oldAlign=d}}add(t){const{foreignObject:e,renderer:i}=this,s=i.box.parentNode,o=[];if(e)e.add(t),super.add(i.createElement("body").attr({xmlns:"http://www.w3.org/1999/xhtml"}).css({background:"transparent",margin:"0 3px 0 0"}).add(e));else{let e;if(this.parentGroup=t,t&&(e=t.div,!e)){let i=t;for(;i;)o.push(i),i=i.parentGroup;for(const t of o.reverse())e=ss(t,s)}(e||s).appendChild(this.element)}return this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,zt.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}const ns=os.prototype;var rs,as;ns.visibilitySetter=ns.opacitySetter=is,ns.ySetter=ns.rotationSetter=ns.rotationOriginXSetter=ns.rotationOriginYSetter=ns.xSetter,(as=rs||(rs={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},as.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){const{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};const ls=rs,{addEvent:hs,isFunction:cs,objectEach:ds,removeEvent:ps}=C;var us;(us||(us={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},ds(e.events,function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(ps(t,i,t.eventOptions[i]),delete t.eventOptions[i]),cs(e)&&(t.eventOptions[i]=e,hs(t,i,e,{order:0})))})};const gs=us,{deg2rad:ms}=t,{clamp:fs,correctFloat:xs,defined:ys,destroyObjectProperties:bs,extend:vs,fireEvent:ws,getAlignFactor:ks,isNumber:Ts,merge:Ss,objectEach:Ms,pick:As}=C;class Cs{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,ws(this,"init"),i||s||this.addLabel()}addLabel(){const t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,n=e.logarithmic,r=e.names,a=t.pos,l=As(t.options?.labels,i.labels),h=e.tickPositions,c=a===h[0],d=a===h[h.length-1],p=(!l.step||1===l.step)&&1===e.tickInterval,u=h.info;let g,m,f,x=t.label,y=this.parameters.category||(o?As(o[a],r[a],a):a);n&&Ts(y)&&(y=xs(n.lin2log(y))),e.dateTime&&(u?(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid?.enabled&&u.higherRanks[a]||u.unitName]),g=m.main):Ts(y)&&(g=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=c,t.isLast=d;const b={axis:e,chart:s,dateTimeLabelFormat:g,isFirst:c,isLast:d,pos:a,tick:t,tickPositionInfo:u,value:y};ws(this,"labelFormat",b);const v=t=>l.formatter?l.formatter.call(t,t):l.format?(t.text=e.defaultLabelFormatter.call(t),ee.format(l.format,t,s)):e.defaultLabelFormatter.call(t),w=v.call(b,b),k=m?.list;t.shortenLabel=k?function(){for(f=0;f<k.length;f++)if(vs(b,{dateTimeLabelFormat:k[f]}),x.attr({text:v.call(b,b)}),x.getBBox().width<e.getSlotWidth(t)-2*(l.padding||0))return;x.attr({text:""})}:void 0,p&&e._addedPlotLB&&t.moveLabel(w,l),ys(x)||t.movedLabel?x&&x.textStr!==w&&!p&&(!x.textWidth||l.style.width||x.styles.width||x.css({width:null}),x.attr({text:w}),x.textPxLength=x.getBBox().width):(t.label=x=t.createLabel(w,l),t.rotation=0)}createLabel(t,e,i){const s=this.axis,{renderer:o,styledMode:n}=s.chart,r=e.style.whiteSpace,a=ys(t)&&e.enabled?o.text(t,i?.x,i?.y,e.useHTML).add(s.labelGroup):void 0;return a&&(n||a.css(Ss(e.style)),a.textPxLength=a.getBBox().width,!n&&r&&a.css({whiteSpace:r})),a}destroy(){bs(this,this.axis)}getPosition(t,e,i,s){const o=this.axis,n=o.chart,r=s&&n.oldChartHeight||n.chartHeight,a={x:t?xs(o.translate(e+i,void 0,void 0,s)+o.transB):o.left+o.offset+(o.opposite?(s&&n.oldChartWidth||n.chartWidth)-o.right-o.left:0),y:t?r-o.bottom+o.offset-(o.opposite?o.height:0):xs(r-o.translate(e+i,void 0,void 0,s)-o.transB)};return a.y=fs(a.y,-1e9,1e9),ws(this,"afterGetPosition",{pos:a}),a}getLabelPosition(t,e,i,s,o,n,r,a){const l=this.axis,h=l.transA,c=l.isLinked&&l.linkedParent?l.linkedParent.reversed:l.reversed,d=l.staggerLines,p=l.tickRotCorr||{x:0,y:0},u=s||l.reserveSpaceDefault?0:-l.labelOffset*("center"===l.labelAlign?.5:1),g=o.distance,m={};let f,x;return f=0===l.side?i.rotation?-g:-i.getBBox().height:2===l.side?p.y+g:Math.cos(i.rotation*ms)*(p.y-i.getBBox(!1,0).height/2),ys(o.y)&&(f=0===l.side&&l.horiz?o.y+f:o.y),t=t+As(o.x,[0,1,0,-1][l.side]*g)+u+p.x-(n&&s?n*h*(c?-1:1):0),e=e+f-(n&&!s?n*h*(c?1:-1):0),d&&(x=r/(a||1)%d,l.opposite&&(x=d-x-1),e+=x*(l.labelOffset/d)),m.x=t,m.y=Math.round(e),ws(this,"afterGetLabelPosition",{pos:m,tickmarkOffset:n,index:r}),m}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(t,e,i,s,o=!1,n){return n.crispLine([["M",t,e],["L",t+(o?0:-i),e+(o?i:0)]],s)}handleOverflow(t){const e=this,i=this.axis,s=i.options.labels,o=t.x,n=i.chart.chartWidth,r=i.chart.spacing,a=As(i.labelLeft,Math.min(i.pos,r[3])),l=As(i.labelRight,Math.max(i.isRadial?0:i.pos+i.len,n-r[1])),h=this.label,c=this.rotation,d=ks(i.labelAlign||h.attr("align")),p=h.getBBox().width,u=i.getSlotWidth(e),g=d,m={};let f,x,y,b=u,v=1;c||"justify"!==s.overflow?c<0&&o-d*p<a?y=Math.round(o/Math.cos(c*ms)-a):c>0&&o+d*p>l&&(y=Math.round((n-o)/Math.cos(c*ms))):(f=o-d*p,x=o+(1-d)*p,f<a?b=t.x+b*(1-d)-a:x>l&&(b=l-t.x+b*d,v=-1),b=Math.min(u,b),b<u&&"center"===i.labelAlign&&(t.x+=v*(u-b-g*(u-Math.min(p,b)))),(p>b||i.autoRotation&&h?.styles?.width)&&(y=b)),y&&h&&(e.shortenLabel?e.shortenLabel():h.css(vs(m,{width:Math.floor(y)+"px",lineClamp:i.isRadial?0:1})))}moveLabel(t,e){const i=this,s=i.label,o=i.axis;let n,r=!1;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):Ms(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||(n=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,n),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){const s=this,o=s.axis,n=o.horiz,r=s.pos,a=As(s.tickmarkOffset,o.tickmarkOffset),l=s.getPosition(n,r,a,e),h=l.x,c=l.y,d=o.pos,p=d+o.len,u=n?h:c,g=As(i,s.label?.newOpacity,1);!o.chart.polar&&(xs(u)<d||u>
1p)&&(i=0),i??(i=1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(l,i),this.renderLabel(l,e,g,t),s.isNew=!1,ws(this,"afterRender")}renderGridLine(t,e){const i=this,s=i.axis,o=s.options,n={},r=i.pos,a=i.type,l=As(i.tickmarkOffset,s.tickmarkOffset),h=s.chart.renderer;let c,d=i.gridLine,p=o.gridLineWidth,u=o.gridLineColor,g=o.gridLineDashStyle;"minor"===i.type&&(p=o.minorGridLineWidth,u=o.minorGridLineColor,g=o.minorGridLineDashStyle),d||(s.chart.styledMode||(n.stroke=u,n["stroke-width"]=p||0,n.dashstyle=g),a||(n.zIndex=1),t&&(e=0),i.gridLine=d=h.path().attr(n).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(s.gridGroup)),d&&(c=s.getPlotLinePath({value:r+l,lineWidth:d.strokeWidth(),force:"pass",old:t,acrossPanes:!1}),c&&d[t||i.isNew?"attr":"animate"]({d:c,opacity:e}))}renderMark(t,e){const i=this,s=i.axis,o=s.options,n=s.chart.renderer,r=i.type,a=s.tickSize(r?r+"Tick":"tick"),l=t.x,h=t.y,c=As(o["minor"!==r?"tickWidth":"minorTickWidth"],!r&&s.isXAxis?1:0),d=o["minor"!==r?"tickColor":"minorTickColor"];let p=i.mark;const u=!p;a&&(s.opposite&&(a[0]=-a[0]),p||(i.mark=p=n.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(s.axisGroup),s.chart.styledMode||p.attr({stroke:d,"stroke-width":c})),p[u?"attr":"animate"]({d:i.getMarkPath(l,h,a[0],p.strokeWidth(),s.horiz,n),opacity:e}))}renderLabel(t,e,i,s){const o=this,n=o.axis,r=n.horiz,a=n.options,l=o.label,h=a.labels,c=h.step,d=As(o.tickmarkOffset,n.tickmarkOffset),p=t.x,u=t.y;let g=!0;l&&Ts(p)&&(l.xy=t=o.getLabelPosition(p,u,l,r,h,d,s,c),o.isFirst&&!o.isLast&&!a.showFirstLabel||o.isLast&&!o.isFirst&&!a.showLastLabel?g=!1:!r||h.step||h.rotation||e||0===i||o.handleOverflow(t),c&&s%c&&(g=!1),g&&Ts(t.y)?(t.opacity=i,l[o.isNewLabel?"attr":"animate"](t).show(!0),o.isNewLabel=!1):(l.hide(),o.isNewLabel=!0))}replaceMovedLabel(){const t=this,e=t.label,i=t.axis;e&&!t.isNew&&(e.animate({opacity:0}
1,void 0,e.destroy),delete t.label),i.isDirty=!0,t.label=t.movedLabel,delete t.movedLabel}}const{animObject:Es}=St,{xAxis:Ps,yAxis:Os}=ls,{defaultOptions:Ls}=Q,{registerEventOptions:Ds}=gs,{deg2rad:Ns}=t,{arrayMax:Is,arrayMin:Bs,clamp:Rs,correctFloat:Fs,defined:zs,destroyObjectProperties:Hs,erase:Ws,error:Gs,extend:Xs,fireEvent:Ys,getClosestDistance:Us,insertItem:js,isArray:Vs,isNumber:qs,isString:$s,merge:Ks,normalizeTickInterval:_s,objectEach:Zs,pick:Js,relativeLength:Qs,removeEvent:to,splat:eo,syncTimeout:io}=C,so=(t,e)=>_s(e,void 0,void 0,Js(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);Xs(Ls,{xAxis:Ps,yAxis:Ks(Ps,Os)});class oo{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){const s="xAxis"===i,o=this,n=o.isZAxis||(t.inverted?!s:s);o.chart=t,o.horiz=n,o.isXAxis=s,o.coll=i,Ys(this,"init",{userOptions:e}),o.opposite=Js(e.opposite,o.opposite),o.side=Js(e.side,o.side,n?o.opposite?0:2:o.opposite?1:3),o.setOptions(e);const r=o.options,a=r.labels;o.type??(o.type=r.type||"linear"),o.uniqueNames??(o.uniqueNames=r.uniqueNames??!0),Ys(o,"afterSetType"),o.userOptions=e,o.minPixelPadding=0,o.reversed=Js(r.reversed,o.reversed),o.visible=r.visible,o.zoomEnabled=r.zoomEnabled,o.hasNames="category"===this.type||!0===r.categories,o.categories=Vs(r.categories)&&r.categories||(o.hasNames?[]:void 0),o.names||(o.names=[],o.names.keys={}),o.plotLinesAndBandsGroups={},o.positiveValuesOnly=!!o.logarithmic,o.isLinked=zs(r.linkedTo),o.ticks={},o.labelEdge=[],o.minorTicks={},o.plotLinesAndBands=[],o.alternateBands={},o.len??(o.len=0),o.minRange=o.userMinRange=r.minRange||r.maxZoom,o.range=r.range,o.offset=r.offset||0,o.max=void 0,o.min=void 0;const l=Js(r.crosshair,eo(t.options.tooltip.crosshairs)[s?0:1]);o.crosshair=!0===l?{}:l,-1===t.axes.indexOf(o)&&(s?t.axes.splice(t.xAxis.length,0,o):t.axes.push(o),js(this,t[this.coll])),t.orderItems(o.coll),o.series=o.series||[],t.inverted&&!o.isZAxis&&s&&!zs(o.reversed)&&(o.reversed=!0),o.labelRotation=qs(a.rotation)?a.rotation:void 0,Ds(o,r),Ys(this,"afterInit")}setOptions(t){const e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=Ks(e,"yAxis"===this.coll?{title:{text:this.chart.options.lang.yAxisTitle}}:{},Ls[this.coll],t),Ys(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){const t=this.axis,e=this.chart,{numberFormatter:i}=e,s=qs(this.value)?this.value:NaN,o=t.chart.time,n=t.categories,r=this.dateTimeLabelFormat,a=Ls.lang,l=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,c=t.logarithmic?Math.abs(s):t.tickInterval;let d,p,u=l?.length;if(n)p=`${this.value}`;else if(r)p=o.dateFormat(r,s,!0);else if(u&&l&&c>=1e3)for(;u--&&void 0===p;)d=Math.pow(h,u+1),c>=d&&10*s%d==0&&null!==l[u]&&0!==s&&(p=i(s/d,-1)+l[u]);return void 0===p&&(p=Math.abs(s)>=1e4?i(s,-1):i(s,-1,void 0,"")),p}getSeriesExtremes(){const t=this;let e;Ys(this,"getSeriesExtremes",null,function(){t.hasVisibleSeries=!1,t.dataMin=t.dataMax=t.threshold=void 0,t.softThreshold=!t.isXAxis,t.series.forEach(i=>{if(i.reserveSpace()){const s=i.options;let o,n,r,a=s.threshold;if(t.hasVisibleSeries=!0,t.positiveValuesOnly&&(a||0)<=0&&(a=void 0),t.isXAxis)o=i.getColumn("x"),o.length&&(o=t.logarithmic?o.filter(t=>t>0):o,e=i.getXExtremes(o),n=e.min,r=e.max,qs(n)||n instanceof Date||(o=o.filter(qs),e=i.getXExtremes(o),n=e.min,r=e.max),o.length&&(t.dataMin=Math.min(Js(t.dataMin,n),n),t.dataMax=Math.max(Js(t.dataMax,r),r)));else{const e=i.applyExtremes();qs(e.dataMin)&&(n=e.dataMin,t.dataMin=Math.min(Js(t.dataMin,n),n)),qs(e.dataMax)&&(r=e.dataMax,t.dataMax=Math.max(Js(t.dataMax,r),r)),zs(a)&&(t.threshold=a),s.softThreshold&&!t.positiveValuesOnly||(t.softThreshold=!1)}}})}),Ys(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,n){const r=this.linkedParent||this,a=s&&r.old?r.old.min:r.min;if(!qs(a))return NaN;const l=r.minPixelPadding,h=(r.isOrdinal||r.brokenAxis?.hasBreaks||r.logarithmic&&o)&&!!r.lin2val;let c=1,d=0,p=s&&r.old?r.old.transA:r.transA,u=0;if(p||(p=r.transA),i&&(c*=-1,d=r.len),r.reversed&&(c*=-1,d-=c*(r.sector||r.len)),e)t=t*c+d,u=(t-=l)/p+a,h&&(u=r.lin2val(u));else{h&&(t=r.val2lin(t));u=c*(t-a)*p+d+c*l+(qs(n)?p*n:0),r.isRadial||(u=Fs(u))}return u}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!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){const e=this,i=e.chart,s=e.left,o=e.top,n=t.old,r=t.value,a=t.lineWidth,l=n&&i.oldCh
1artHeight||i.chartHeight,h=n&&i.oldChartWidth||i.chartWidth,c=e.transB;let d,p,u,g,m,f=t.translatedValue,x=t.force;function y(t,e,i){return"pass"!==x&&(t<e||t>i)&&(x?t=Rs(t,e,i):m=!0),t}const b={value:r,lineWidth:a,old:n,force:x,acrossPanes:t.acrossPanes,translatedValue:f};return Ys(this,"getPlotLinePath",b,function(t){f=Js(f,e.translate(r,void 0,void 0,n)),f=Rs(f,-1e9,1e9),d=u=f+c,p=g=l-f-c,qs(f)?e.horiz?(p=o,g=l-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),d=u=y(d,s,s+e.width)):(d=s,u=h-e.right+(i.scrollablePixelsX||0),p=g=y(p,o,o+e.height)):(m=!0,x=!1),t.path=m&&!x?void 0:i.renderer.crispLine([["M",d,p],["L",u,g]],a||1)}),b.path}getLinearTickPositions(t,e,i){const s=Fs(Math.floor(e/t)*t),o=Fs(Math.ceil(i/t)*t),n=[];let r,a,l;if(Fs(s+t)===s&&(l=20),this.single)return[e];for(r=s;r<=o&&(n.push(r),r=Fs(r+t,l),r!==a);)a=r;return n}getMinorTickInterval(){const{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?Js(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){const t=this,e=t.options,i=t.tickPositions,s=t.minorTickInterval,o=t.pointRangePadding||0,n=(t.min||0)-o,r=(t.max||0)+o,a=t.brokenAxis?.hasBreaks?t.brokenAxis.unitLength:r-n;let l,h=[];if(a&&a/s<t.len/3){const o=t.logarithmic;if(o)this.paddedTicks.forEach(function(t,e,i){e&&h.push.apply(h,o.getLogTickPositions(s,i[e-1],i[e],!0))});else if(t.dateTime&&"auto"===this.getMinorTickInterval())h=h.concat(t.getTimeTicks(t.dateTime.normalizeTimeTickInterval(s),n,r,e.startOfWeek));else for(l=n+(i[0]-n)%s;l<=r&&l!==h[0];l+=s)h.push(l)}return 0!==h.length&&t.trimTicks(h),h}adjustForMinRange(){const t=this,e=t.options,i=t.logarithmic,s=t.chart.time;let o,n,r,a,l,{max:h,min:c,minRange:d}=t;t.isXAxis&&void 0===d&&!i&&(zs(e.min)||zs(e.max)||zs(e.floor)||zs(e.ceiling)?d=null:(r=Us(t.series.map(t=>{const e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e}))||0,d=Math.min(5*r,t.dataMax-t.dataMin))),qs(h)&&qs(c)&&qs(d)&&h-c<d&&(n=t.dataMax-t.dataMin>=d,o=(d-h+c)/2,a=[c-o,s.parse(e.min)??c-o],n&&(a[2]=i?i.log2lin(t.dataMin):t.dataMin),c=Is(a),l=[c+d,s.parse(e.max)??c+d],n&&(l[2]=i?i.log2lin(t.dataMax):t.dataMax),h=Bs(l),h-c<d&&(a[0]=h-d,a[1]=s.parse(e.min)??h-d,c=Is(a))),t.minRange=d,t.min=c,t.max=h}getClosest(){let t,e;if(this.categories)e=1;else{const i=[];this.series.forEach(function(t){const s=t.closestPointRange,o=t.getColumn("x");1===o.length?i.push(o[0]):t.sorted&&zs(s)&&t.reserveSpace()&&(e=zs(e)?Math.min(e,s):s)}),i.length&&(i.sort((t,e)=>t-e),t=Us([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){const e=Vs(this.options.categories),i=e?this.categories:this.names;let s,o=t.options.x;return t.series.requireSorting=!1,zs(o)||(o=this.uniqueNames&&i?e?i.indexOf(t.name):Js(i.keys[t.name],-1):t.series.autoIncrement()),-1===o?!e&&i&&(s=i.length):qs(o)&&(s=o),void 0!==s?(this.names[s]=t.name,this.names.keys[t.name]=s):t.x&&(s=t.x),s}updateNames(){const t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,e.points&&!e.isDirtyData||(t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints());const i=e.getColumn("x").slice();e.data.forEach((e,s)=>{let o=i[s];e?.options&&void 0!==e.name&&(o=t.nameToX(e),void 0!==o&&o!==e.x&&(i[s]=e.x=o))}),e.dataTable.setColumn("x",i)}))}setAxisTranslation(){const t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis;let n,r,a=t.axisPointRange||0,l=0,h=0,c=t.transA;(o||s||a)&&(n=t.getClosest(),i?(l=i.minPointOffset,h=i.pointRangePadding):t.series.forEach(function(e){const i=s?1:o?Js(e.options.pointRange,n,0):t.axisPointRange||0,r=e.options.pointPlacement;if(a=Math.max(a,i),!t.single||s){const t=e.is("xrange")?!o:o;l=Math.max(l,t&&$s(r)?0:i/2),h=Math.max(h,t&&"on"===r?0:i)}}),r=t.ordinal?.slope&&n?t.ordinal.slope/n:1,t.minPointOffset=l*=r,t.pointRangePadding=h*=r,t.pointRange=Math.min(a,t.single&&s?1:e),o&&(t.closestPointRange=n)),t.translationSlope=t.transA=c=t.staticScale||t.len/(e+h||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=c*l,Ys(this,"afterSetAxisTranslation")}minFromRange(){const{max:t,min:e}=this;return qs(t)&&qs(e)&&t-e||void 0}setTickInterval(t){const e=this,{categories:i,chart:s,dataMax:o,dataMin:n,dateTime:r,isXAxis:a,logarithmic:l,options:h,softThreshold:c}=e,d=s.time,p=qs(e.threshold)?e.threshold:void 0,u=e.minRange||0,{ceiling:g,floor:m,linkedTo:f,softMax:x,softMin:y}=h,b=qs(f)&&s[e.coll]?.[f],v=h.tickPixelInterval;let w,k,T,S,M,A=h.maxPadding,C=h.minPadding,E=0,P=qs(h.tickInterval)&&h.tickInterval>=0?h.tickInterval:void 0;if(r||i||b||this.getTickAmount(),S=Js(e.userMin,d.parse(h.min)),M=Js(e.userMax,d.parse(h.max)),b?(e.linkedParent=b,w=b.getExtremes(),e.min=Js(w.min,w.dataMin),e.max=Js(w.max,w.dataMax),this.type!==b.type&&Gs(11,!0,s)):(c&&zs(p)&&qs(o)&&qs(n)&&(n>=p?(k=p,C=0):o<=p&&(T=p,A=0)),e.min=Js(S,k,n),e.max=Js(M,T,o)),qs(e.max)&&qs(e.min)&&(l&&(e.positiveValuesOnly&&!t&&Math.min(e.min,Js(n,e.min))<=0&&Gs(10,!0,s),e.min=Fs(l.log2lin(e.min),16),e.max=Fs(l.log2lin(e.max),16)),e.range&&qs(n)&&(e.userMin=e.min=S=Math.max(n,e.minFromRange()||0),e.userMax=M=e.max,e.range=void 0)),Ys(e,"foundExtremes"),e.adjustForMinRange(),qs(e.min)&&qs(e.max)){if(!qs(e.userMin)&&qs(y)&&y<e.min&&(e.min=S=y),!qs(e.userMax)&&qs(x)&&x>e.max&&(e.max=M=x),i||e.axisPointRange||e.stacking?.usePercentage||b||(E=e.max-e.min,E&&(!zs(S)&&C&&(e.min-=E*C),!zs(M)&&A&&(e.max+=E*A))),!qs(e.userMin)&&qs(m)&&(e.min=Math.max(e.min,m)),!qs(e.userMax)&&qs(g)&&(e.max=Math.min(e.max,g)),c&&qs(n)&&qs(o)){const t=p||0;!zs(S)&&e.min<t&&n>=t?e.min=h.minRange?Math.min(t,e.max-u):t:!zs(M)&&e.max>t&&o<=t&&(e.max=h.minRange?Math.max(t,e.min+u):t)}!s.polar&&e.min>e.max&&(zs(h.min)?e.max=e.min:zs(h.max)&&(e.min=e.max)),E=e.max-e.min}if(e.min!==e.max&&qs(e.min)&&qs(e.max)?b&&!P&&v===b.options.tickPixelInterval?e.tickInterval=P=b.tickInterval:e.tickInterval=Js(P,this.tickAmount?E/Math.max(this.tickAmount-1,1):void 0,i?1:E*v/Math.max(e.len,v)):e.tickInterval=1,a&&!t){const t=e.min!==e.old?.min||e.max!==e.old?.max;
1e.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),Ys(this,"postProcessData",{hasExtremesChanged:t})}e.setAxisTranslation(),Ys(this,"initialAxisTranslation"),e.pointRange&&!P&&(e.tickInterval=Math.max(e.pointRange,e.tickInterval));const O=Js(h.minTickInterval,r&&!e.series.some(t=>!t.sorted)?e.closestPointRange:0);!P&&O&&e.tickInterval<O&&(e.tickInterval=O),r||l||P||(e.tickInterval=so(e,e.tickInterval)),this.tickAmount||(e.tickInterval=e.unsquish()),this.setTickPositions()}setTickPositions(){const t=this,e=this.options,i=e.tickPositions,s=e.tickPositioner,o=this.getMinorTickInterval(),n=!this.isPanning,r=n&&e.startOnTick,a=n&&e.endOnTick;let l,h=[];if(this.tickmarkOffset=this.categories&&"between"===e.tickmarkPlacement&&1===this.tickInterval?.5:0,this.single=this.min===this.max&&zs(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==e.allowDecimals),i)h=i.slice();else if(qs(this.min)&&qs(this.max)){if(!t.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))h=[this.min,this.max],Gs(19,!1,this.chart);else if(t.dateTime)h=t.getTimeTicks(t.dateTime.normalizeTimeTickInterval(this.tickInterval,e.units),this.min,this.max,e.startOfWeek,t.ordinal?.positions,this.closestPointRange,!0);else if(t.logarithmic)h=t.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{const t=this.tickInterval;let e=t;for(;e<=2*t&&(h=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&h.length>this.tickAmount);)this.tickInterval=so(this,e*=1.1)}h.length>this.len&&(h=[h[0],h[h.length-1]],h[0]===h[1]&&(h.length=1)),s&&(this.tickPositions=h,l=s.apply(t,[this.min,this.max]),l&&(h=l))}this.tickPositions=h,this.minorTickInterval="auto"===o&&this.tickInterval?this.tickInterval/e.minorTicksPerMajor:o,this.paddedTicks=h.slice(0),this.trimTicks(h,r,a),!this.isLinked&&qs(this.min)&&qs(this.max)&&(this.single&&h.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),i||l||this.adjustTickAmount()),Ys(this,"afterSetTickPositions")}trimTicks(t,e,i){const s=t[0],o=t[t.length-1],n=!this.isOrdinal&&this.minPointOffset||0;if(Ys(this,"trimTicks"),!this.isLinked||!this.grid){if(e&&s!==-1/0)this.min=s;else for(;this.min-n>t[0];)t.shift();if(i)this.max=o;else for(;this.max+n<t[t.length-1];)t.pop();0===t.length&&zs(s)&&!this.options.tickPositions&&t.push((o+s)/2)}}alignToOthers(){const t=this,e=t.chart,i=[this],s=t.options,o=e.options.chart,n="yAxis"===this.coll&&o.alignThresholds,r=[];let a;if(t.thresholdAlignment=void 0,(!1!==o.alignTicks&&s.alignTicks||n)&&!1!==s.startOnTick&&!1!==s.endOnTick&&!t.logarithmic){const s=t=>{const{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},o=s(this);e[this.coll].forEach(function(e){const{series:n}=e;n.length&&n.some(t=>t.visible)&&e!==t&&s(e)===o&&(a=!0,i.push(e))})}if(a&&n){i.forEach(e=>{const i=e.getThresholdAlignment(t);qs(i)&&r.push(i)});const e=r.length>1?r.reduce((t,e)=>t+e,0)/r.length:void 0;i.forEach(t=>{t.thresholdAlignment=e})}return a}getThresholdAlignment(t){if((!qs(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),qs(this.threshold)){let t=Rs((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){const t=this.options,e=t.tickPixelInterval;let i=t.tickAmount;!zs(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(){const t=this,{finalTickAmt:e,max:i,min:s,options:o,tickPositions:n,tickAmount:r,thresholdAlignment:a}=t,l=n?.length,h=Js(t.threshold,t.softThreshold?0:null);let c,d,p,u=t.tickInterval;const g=()=>n.push(Fs(n[n.length-1]+u)),m=()=>n.unshift(Fs(n[0]-u));if(qs(a)&&(p=a<.5?Math.ceil(a*(r-1)):Math.floor(a*(r-1)),o.reversed&&(p=r-1-p)),t.hasData()&&qs(s)&&qs(i)){const a=()=>{t.transA*=(l-1)/(r-1),t.min=o.startOnTick?n[0]:Math.min(s,n[0]),t.max=o.endOnTick?n[n.length-1]:Math.max(i,n[n.length-1])};if(qs(p)&&qs(t.threshold)){for(;n[p]!==h||n.length!==r||n[0]>s||n[n.length-1]<i;){for(n.length=0,n.push(t.threshold);n.length<r;)void 0===n[p]||n[p]>t.threshold?m():g();if(u>8*t.tickInterval)break;u*=2}a()}else if(l<r){for(;n.length<r;)n.length%2||s===h?g():m();a()}if(zs(e)){for(d=c=n.length;d--;)(3===e&&d%2==1||e<=2&&d>0&&d<c-1)&&n.splice(d,1);t.finalTickAmt=void 0}}}setScale(){const t=this,{coll:e,stacking:i}=t;let s=!1,o=!1;
1t.series.forEach(t=>{s=s||t.isDirtyData||t.isDirty,o=o||t.xAxis?.isDirty||!1}),t.setAxisSize();const n=t.len!==t.old?.len;n||s||o||t.isLinked||t.forceRedraw||t.userMin!==t.old?.userMin||t.userMax!==t.old?.userMax||t.alignToOthers()?(i&&"yAxis"===e&&i.buildStacks(),t.forceRedraw=!1,t.userMinRange||(t.minRange=void 0),t.getSeriesExtremes(),t.setTickInterval(),i&&"xAxis"===e&&i.buildStacks(),t.isDirty||(t.isDirty=n||t.min!==t.old?.min||t.max!==t.old?.max)):i&&i.cleanStacks(),s&&delete t.allExtremes,Ys(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){const n=this.chart;this.series.forEach(t=>{delete t.kdTree}),t=n.time.parse(t),e=n.time.parse(e),o=Xs(o,{min:t,max:e}),Ys(this,"setExtremes",o,t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&n.redraw(s)})}setAxisSize(){const t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(Qs(Js(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),n=this.height=Math.round(Qs(Js(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),r=this.top=Math.round(Qs(Js(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),a=this.left=Math.round(Qs(Js(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-n-r,this.right=t.chartWidth-o-a,this.len=Math.max(s?o:n,0),this.pos=s?a:r}getExtremes(){const t=this,e=t.logarithmic;return{min:e?Fs(e.lin2log(t.min)):t.min,max:e?Fs(e.lin2log(t.max)):t.max,dataMin:t.dataMin,dataMax:t.dataMax,userMin:t.userMin,userMax:t.userMax}}getThreshold(t){const e=this,i=e.logarithmic,s=i?i.lin2log(e.min):e.min,o=i?i.lin2log(e.max):e.max;return null===t||t===-1/0?t=s:t===1/0?t=o:s>t?t=s:o<t&&(t=o),e.translate(t,0,1,0,1)}autoLabelAlign(t){const e=(Js(t,0)-90*this.side+720)%360,i={align:"center"};return Ys(this,"autoLabelAlign",i,function(t){e>15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){const e=this.options,i=Js(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0);let s,o=e["tick"===t?"tickLength":"minorTickLength"];i&&o&&("inside"===e[t+"Position"]&&(o=-o),s=[o,i]);const n={tickSize:s};return Ys(this,"afterTickSize",n),n.tickSize}labelMetrics(){const 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(){const t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/s),n=t.rotation,r=Fs(.8*this.labelMetrics().h),a=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,i*s>a&&t!==1/0&&o!==1/0&&a&&(i=Math.ceil(a/s)),Fs(i*s)};let h,c,d=s,p=Number.MAX_VALUE;if(i){if(t.staggerLines||(qs(n)?c=[n]:o<t.autoRotationLimit&&(c=t.autoRotation)),c){let t,e;for(const i of c)(i===n||i&&i>=-90&&i<=90)&&(t=l(Math.abs(r/Math.sin(Ns*i))),e=t+Math.abs(i/360),e<p&&(p=e,h=i,d=t))}}else d=l(.75*r);return this.autoRotation=c,this.labelRotation=Js(h,qs(n)?n:0),t.step?s:d}getSlotWidth(t){const e=this.chart,i=this.horiz,s=this.options.labels,o=Math.max(this.tickPositions.length-(this.categories?0:1),1),n=e.margin[3];if(t&&qs(t.slotWidth))return t.slotWidth;if(i&&s.step<2&&!this.isRadial)return s.rotation?0:(this.staggerLines||1)*this.len/o;if(!i){const t=s.style.width;if(void 0!==t)return parseInt(String(t),10);if(!this.opposite&&n)return n-e.spacing[3]}return.33*e.chartWidth}renderUnsquish(){const t=this.chart,e=t.renderer,i=this.tickPositions,s=this.ticks,o=this.options.labels,n=o.style,r=this.horiz,a=this.getSlotWidth(),l=Math.max(1,Math.round(a-(r?2*(o.padding||0):o.distance||0))),h={},c=this.labelMetrics(),d=n.lineClamp;let p,u=d??(Math.floor(this.len/(i.length*c.h))||1),g=0;$s(o.rotation)||(h.rotation=o.rotation||0),i.forEach(function(t){const e=s[t];e.movedLabel&&e.replaceMovedLabel();const i=e.label?.textPxLength||0;i>g&&(g=i)}),this.maxLabelLength=g,this.autoRotation?g>l&&g>c.h?h.rotation=this.labelRotation:this.labelRotation=0:a&&(p=l),h.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,d||(u=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(h.align=this.labelAlign),i.forEac
vendor: 4,245 bytes, line 1
1h(function(t){const e=s[t],i=e?.label,o=n.width,r={};i&&(i.attr(h),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==n.whiteSpace&&(p<(i.textPxLength||0)||"SPAN"===i.element.tagName)?i.css(Xs(r,{width:`${p}px`,lineClamp:u})):!i.styles.width||r.width||o||i.css({width:"auto"}),e.rotation=h.rotation)},this),this.tickRotCorr=e.rotCorr(c.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&zs(this.min)&&zs(this.max)}addTitle(t){const e=this,i=e.chart.renderer,s=e.horiz,o=e.opposite,n=e.options.title,r=e.chart.styledMode;let a;e.axisTitle||(a=n.textAlign,a||(a=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[n.align]),e.axisTitle=i.text(n.text||"",0,0,n.useHTML).attr({zIndex:7,rotation:n.rotation||0,align:a}).addClass("highcharts-axis-title"),r||e.axisTitle.css(Ks(n.style)),e.axisTitle.add(e.axisGroup),e.axisTitle.isNew=!0),r||n.style.width||e.isRadial||e.axisTitle.css({width:e.len+"px"}),e.axisTitle[t?"show":"hide"](t)}generateTick(t){const e=this,i=e.ticks;i[t]?i[t].addLabel():i[t]=new Cs(e,t)}createGroups(){const{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,n=(e,n,r)=>o.g(e).attr({zIndex:r}).addClass(`highcharts-${i.toLowerCase()}${n} `+(this.isRadial?`highcharts-radial-axis${n} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=n("grid","-grid",s.gridZIndex),this.axisGroup=n("axis","",s.zIndex),this.labelGroup=n("axis-labels","-labels",s.labels.zIndex))}getOffset(){const t=this,{chart:e,horiz:i,options:s,side:o,ticks:n,tickPositions:r,coll:a}=t,l=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,h=t.hasData(),c=s.title,d=s.labels,p=qs(s.crossing),u=e.axisOffset,g=e.clipOffset,m=[-1,1,1,-1][o];let f,x,y,b,v=0,w=0,k=0;if(t.showAxis=f=h||s.showEmpty,t.staggerLines=t.horiz&&d.staggerLines||void 0,t.createGroups(),h||t.isLinked?(r.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||{1:"left",3:"right"}[o]===t.labelAlign,Js(d.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&r.forEach(function(t){k=Math.max(n[t].getLabelSize(),k)}),t.staggerLines&&(k*=t.staggerLines),t.labelOffset=k*(t.opposite?-1:1)):Zs(n,function(t,e){t.destroy(),delete n[e]}),c?.text&&!1!==c.enabled&&(t.addTitle(f),f&&!p&&!1!==c.reserveSpace&&(t.titleOffset=v=t.axisTitle.getBBox()[i?"height":"width"],x=c.offset,w=zs(x)?0:Js(c.margin,i?5:10))),t.renderLine(),t.offset=m*Js(s.offset,u[o]?u[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},b=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,y=Math.abs(k)+w,k&&(y-=b,y+=m*(i?Js(d.y,t.tickRotCorr.y+m*d.distance):Js(d.x,m*d.distance))),t.axisTitleMargin=Js(x,y),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(n,r)),"colorAxis"!==a&&g){const e=this.tickSize("tick");u[o]=Math.max(u[o],(t.axisTitleMargin||0)+v+m*t.offset,y,r?.length&&e?e[0]+m*t.offset:0);const i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;g[l]=Math.max(g[l],i)}Ys(this,"afterGetOffset")}getLinePath(t){const e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,n=this.left+(i?this.width:0)+s,r=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:n,o?r:this.top],["L",o?e.chartWidth-this.right:n,o?r: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){const e=this.horiz,i=this.left,s=this.top,o=this.len,n=this.options.title,r=e?i:s,a=this.opposite,l=this.offset,h=n.x,c=n.y,d=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-d.h-1,0):0,u={low:r+(e?0:o),middle:r+o/2,high:r+(e?o:0)}[n.align],g=(e?s+this.height:i)+(e?1:-1)*(a?-1:1)*(this.axisTitleMargin||0)+[-p,p,d.f,-p][this.side],m={x:e?u+h:g+(a?this.width:0)+l+h,y:e?g+c-(a?this.height:0)+l:u+c};return Ys(this,"afterGetTitlePosition",{titlePosition:m}),m}renderMinorTick(t,e){const i=this,s=i.minorTicks;s[t]||(s[t]=new Cs(i,t,"minor")),e&&s[t].isNew&&s[t].render(null,!0),s[t].render(null,!1,1)}
1renderTick(t,e,i){const s=this,o=s.isLinked,n=s.ticks;(!o||t>=s.min&&t<=s.max||s.grid?.isColumn)&&(n[t]||(n[t]=new Cs(s,t)),i&&n[t].isNew&&n[t].render(e,!0,-1),n[t].render(e))}render(){const e=this,i=e.chart,s=e.logarithmic,o=i.renderer,n=e.options,r=e.isLinked,a=e.tickPositions,l=e.axisTitle,h=e.ticks,c=e.minorTicks,d=e.alternateBands,p=n.stackLabels,u=n.alternateGridColor,g=n.crossing,m=e.tickmarkOffset,f=e.axisLine,x=e.showAxis,y=Es(o.globalAnimation);let b,v;if(e.labelEdge.length=0,e.overlap=!1,[h,c,d].forEach(function(t){Zs(t,function(t){t.isActive=!1})}),qs(g)){const t=this.isXAxis?i.yAxis[0]:i.xAxis[0],s=[1,-1,-1,1][this.side];if(t){let i=t.toPixels(g,!0);e.horiz&&(i=t.len-i),e.offset=s*i}}if(e.hasData()||r){const o=e.chart.hasRendered&&e.old&&qs(e.old.min);e.minorTickInterval&&!e.categories&&e.getMinorTickPositions().forEach(function(t){e.renderMinorTick(t,o)}),a.length&&(a.forEach(function(t,i){e.renderTick(t,i,o)}),m&&(0===e.min||e.single)&&(h[-1]||(h[-1]=new Cs(e,-1,null,!0)),h[-1].render(-1))),u&&a.forEach(function(o,n){v=void 0!==a[n+1]?a[n+1]+m:e.max-m,n%2==0&&o<e.max&&v<=e.max+(i.polar?-m:m)&&(d[o]||(d[o]=new t.PlotLineOrBand(e,{})),b=o+m,d[o].options={from:s?s.lin2log(b):b,to:s?s.lin2log(v):v,color:u,className:"highcharts-alternate-grid"},d[o].render(),d[o].isActive=!0)}),e._addedPlotLB||(e._addedPlotLB=!0,(n.plotLines||[]).concat(n.plotBands||[]).forEach(function(t){e.addPlotBandOrLine(t)}))}[h,c,d].forEach(function(t){const e=[],s=y.duration;Zs(t,function(t,i){t.isActive||(t.render(i,!1,0),t.isActive=!1,e.push(i))}),io(function(){let i=e.length;for(;i--;)t[e[i]]&&!t[e[i]].isActive&&(t[e[i]].destroy(),delete t[e[i]])},t!==d&&i.hasRendered&&s?s:0)}),f&&(f[f.isPlaced?"animate":"attr"]({d:this.getLinePath(f.strokeWidth())}),f.isPlaced=!0,f[x?"show":"hide"](x)),l&&x&&(l[l.isNew?"attr":"animate"](e.getTitlePosition(l)),l.isNew=!1),p?.enabled&&e.stacking&&e.stacking.renderStackTotals(),e.old={len:e.len,max:e.max,min:e.min,transA:e.transA,userMax:e.userMax,userMin:e.userMin},e.isDirty=!1,Ys(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||oo.keepProps}destroy(t){const e=this,i=e.plotLinesAndBands,s=this.eventOptions;if(Ys(this,"destroy",{keepEvents:t}),t||to(e),[e.ticks,e.minorTicks,e.alternateBands].forEach(function(t){Hs(t)}),i){let t=i.length;for(;t--;)i[t].destroy()}["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(t){e[t]&&(e[t]=e[t].destroy())});for(const o in e.plotLinesAndBandsGroups)e.plotLinesAndBandsGroups[o]=e.plotLinesAndBandsGroups[o].destroy();Zs(e,function(t,i){-1===e.getKeepProps().indexOf(i)&&delete e[i]}),this.eventOptions=s}drawCrosshair(t,e){const i=this.crosshair,s=i?.snap??!0,o=this.chart;let n,r,a,l,h=this.cross;if(Ys(this,"drawCrosshair",{e:t,point:e}),t||(t=this.cross?.e),i&&!1!==(zs(e)||!s)){if(s?zs(e)&&(r=Js("colorAxis"!==this.coll?e.crosshairPos:null,this.isXAxis?e.plotX:this.len-e.plotY)):r=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),zs(r)&&(l={value:e&&(this.isXAxis?e.x:Js(e.stackY,e.y)),translatedValue:r},o.polar&&Xs(l,{isCrosshair:!0,chartX:t?.chartX,chartY:t?.chartY,point:e}),n=this.getPlotLinePath(l)||null),!zs(n))return void this.hideCrosshair();a=this.categories&&!this.isRadial,h||(this.cross=h=o.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(a?"category ":"thin ")+(i.className||"")).attr({zIndex:Js(i.zIndex,2)}).add(),o.styledMode||(h.attr({stroke:i.color||(a?lt.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":Js(i.width,1)}).css({"pointer-events":"none"}),i.dashStyle&&h.attr({dashstyle:i.dashStyle}))),h.show().attr({d:n}),a&&!i.width&&h.attr({"stroke-width":this.transA}),this.cross.e=t}else this.hideCrosshair();Ys(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){this.cross&&this.cross.hide(),Ys(this,"afterHideCrosshair")}update(t,e){const i=this.chart;t=Ks(this.userOptions,t),this.destroy(!0),this.init(i,t),i.isDirtyBox=!0,Js(e,!0)&&i.redraw()}remove(t){const e=this.chart,i=this.coll,s=this.series;let o=s.length;for(;o--;)s[o]&&s[o].remove(!1);Ws(e.axes,this),Ws(e[i]||[],this),e.orderItems(i),this.destroy(),e.isDirtyBox=!0,Js(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}}oo.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"];const{addEvent:no,getMagnitude:ro,normalizeTickInterval:ao,timeUnits:lo}=C;var ho;!function(t){function e(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function i(){"datetime"===this.type?this.dateTime||(this.dateTime=new s(this)):this.dateTime=void 0}t.compose=function(t){if(!t.keepProps.includes("dateTime")){t.keepProps.push("dateTime");t.prototype.getTimeTicks=e,no(t,"afterSetType",i)}return t};class s{constructor(t){this.axis=t}normalizeTimeTickInterval(t,e){const 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]];let s,o=i[i.length-1],n=lo[o[0]],r=o[1];for(s=0;s<i.length;s++)if(o=i[s],n=lo[o[0]],r=o[1],i[s+1]){if(t<=(n*r[r.length-1]+lo[i[s+1][0]])/2)break}n===lo.year&&t<5*n&&(r=[1,2,5]);return{unitRange:n,count:ao(t/n,r,"year"===o[0]?Math.max(ro(t/n),1):1),unitName:o[0]}}getXDateFormat(t,e){const{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=s}(ho||(ho={}));const co=ho,{addEvent:po,normalizeTickInterval:uo,pick:go}=C;var mo;!function(t){function e(){"logarithmic"!==this.type?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new s(this))}function i(){const t=this,e=t.logarithmic;e&&(t.lin2val=function(t){return e.lin2log(t)},t.val2lin=function(t){return e.log2lin(t)})}t.compose=function(t){return t.keepProps.includes("logarithmic")||(t.keepProps.push("logarithmic"),po(t,"afterSetType",e),po(t,"afterInit",i)),t};class s{constructor(t){this.axis=t}getLogTickPositions(t,e,i,s){const o=this,n=o.axis,r=n.len,a=n.options;let l=[];
1if(s||(o.minorAutoInterval=void 0),t>=.5)t=Math.round(t),l=n.getLinearTickPositions(t,e,i);else if(t>=.08){let n,r,a,h,c,d,p;for(n=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=Math.floor(e);r<i+1&&!p;r++)for(h=n.length,a=0;a<h&&!p;a++)c=o.log2lin(o.lin2log(r)*n[a]),c>e&&(!s||d<=i)&&void 0!==d&&l.push(d),d>i&&(p=!0),d=c}else{const h=o.lin2log(e),c=o.lin2log(i),d=s?n.getMinorTickInterval():a.tickInterval,p="auto"===d?null:d,u=a.tickPixelInterval/(s?5:1),g=s?r/n.tickPositions.length:r;t=go(p,o.minorAutoInterval,(c-h)*u/(g||1)),t=uo(t),l=n.getLinearTickPositions(t,h,c).map(o.log2lin),s||(o.minorAutoInterval=t/5)}return s||(n.tickInterval=t),l}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(mo||(mo={}));const fo=mo,{erase:xo,extend:yo,isNumber:bo}=C;var vo;!function(){let t;function e(t){return this.addPlotBandOrLine(t,"plotBands")}function i(e,i){const s=this.userOptions;let o=new t(this,e);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){const t=s[i]||[];t.push(e),s[i]=t}this.plotLinesAndBands.push(o)}return o}function s(t){return this.addPlotBandOrLine(t,"plotLines")}function o(t,e,i){i=i||this.options;const s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],n=this.horiz,r=!bo(this.min)||!bo(this.max)||t<this.min&&e<this.min||t>this.max&&e>this.max,a=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes});let l,h,c=1;if(a&&s)for(r&&(h=a.toString()===s.toString(),c=0),l=0;l<a.length;l+=2){const t=a[l],e=a[l+1],i=s[l],r=s[l+1];"M"!==t[0]&&"L"!==t[0]||"M"!==e[0]&&"L"!==e[0]||"M"!==i[0]&&"L"!==i[0]||"M"!==r[0]&&"L"!==r[0]||(n&&i[1]===t[1]?(i[1]+=c,r[1]+=c):n||i[2]!==t[2]||(i[2]+=c,r[2]+=c),o.push(["M",t[1],t[2]],["L",e[1],e[2]],["L",r[1],r[2]],["L",i[1],i[2]],["Z"])),o.isFlat=h}return o}function n(t){this.removePlotBandOrLine(t)}function r(t){const e=this.plotLinesAndBands,i=this.options,s=this.userOptions;if(e){let o=e.length;for(;o--;)e[o].id===t&&e[o].destroy();[i.plotLines||[],s.plotLines||[],i.plotBands||[],s.plotBands||[]].forEach(function(e){for(o=e.length;o--;)e[o]?.id===t&&xo(e,e[o])})}}function a(t){this.removePlotBandOrLine(t)}(vo||(vo={})).compose=function(l,h){const c=h.prototype;return c.addPlotBand||(t=l,yo(c,{addPlotBand:e,addPlotLine:s,addPlotBandOrLine:i,getPlotBandPath:o,removePlotBand:n,removePlotLine:a,removePlotBandOrLine:r})),h}}();const wo=vo,{addEvent:ko,arrayMax:To,arrayMin:So,defined:Mo,destroyObjectProperties:Ao,erase:Co,fireEvent:Eo,merge:Po,objectEach:Oo,pick:Lo}=C;class Do{static compose(t,e){return ko(t,"afterInit",function(){this.labelCollectors.push(()=>{const t=[];for(const e of this.axes)for(const{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),wo.compose(Do,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){Eo(this,"render");const{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:n,zIndex:r=0}=e,{renderer:a,time:l}=t.chart,h={},c=l.parse(e.to),d=l.parse(e.from),p=l.parse(e.value),u=e.borderWidth;let g,m=e.label,{label:f,svgElem:x}=this,y=[];const b=Mo(d)&&Mo(c),v=Mo(p),w=!x,k={class:"highcharts-plot-"+(b?"band ":"line ")+(e.className||"")};let T=b?"bands":"lines";if(t.chart.styledMode||(v?(k.stroke=o||"#999999",k["stroke-width"]=Lo(e.width,1),e.dashStyle&&(k.dashstyle=e.dashStyle)):b&&(k.fill=o||"#e6e9ff",u&&(k.stroke=e.borderColor,k["stroke-width"]=u))),h.zIndex=r,T+="-"+r,g=t.plotLinesAndBandsGroups[T],g||(t.plotLinesAndBandsGroups[T]=g=a.g("plot-"+T).attr(h).add()),x||(this.svgElem=x=a.path().attr(k).add(g)),Mo(p))y=t.getPlotLinePath({value:s?.log2lin(p)??p,lineWidth:x.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!Mo(d)||!Mo(c))return;y=t.getPlotBandPath(s?.log2lin(d)??d,s?.log2lin(c)??c,e)}return!this.eventsAdded&&n&&(Oo(n,(t,e)=>{x?.on(e,t=>{n[e].apply(this,[t])})}),this.eventsAdded=!0),!w&&x.d||!y?.length?x&&(y?(x.show(),x.animate({d:y})):x.d&&(x.hide(),f&&(this.label=f=f.destroy()))):x.attr({d:y}),m&&(Mo(m.text)||Mo(m.formatter))&&y?.length&&t.width>0&&t.height>0&&!y.isFlat?(m=Po({align:i&&b?"center":void 0,x:i?!b&&4:10,verticalAlign:!i&&b?"middle":void 0,y:i?b?16:10:b?6:-4,rotation:i&&!b?90:0,...b?{inside:!0}:{}},m),this.renderLabel(m,y,b,r)):f&&f.hide(),this}renderLabel(t,e,i,s){const o=this,n=o.axis,r=n.chart.renderer,a=t.inside;let l=o.label;l||(o.label=l=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),n.chart.styledMode||l.css(Po({color:n.chart.options.title?.style?.color,fontSize:"0.8em",textOverflow:i&&!a?"":"ellipsis"},t.style)),l.add());const h=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],c=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=So(h),p=So(c),u=To(h)-d;l.align(t,!1,{x:d,y:p,width:u,height:To(c)-p}),l.alignAttr.y-=r.fontMetrics(l).b,l.alignValue&&"left"!==l.alignValue&&!Mo(a)||l.css({width:(t.style?.width||(i&&a?u:90===l.rotation?n.height-(l.alignAttr.y-n.top):(t.clip?n.width:n.chart.chartWidth)-(l.alignAttr.x-n.left)))+"px"}),l.show(!0)}getLabelText(t){return Mo(t.formatter)?t.formatter.call(this):t.text}destroy(){Co(this.axis.plotLinesAndBands,this),delete this.axis,Ao(this)}}const{animObject:No}=St,{format:Io}=ee,{composed:Bo,dateFormats:Ro,doc:Fo,isSafari:zo}=t,{distribute:Ho}=he,{addEvent:Wo,clamp:Go,css:Xo,discardElement:Yo,extend:Uo,fireEvent:jo,getAlignFactor:Vo,isArray:qo,isNumber:$o,isObject:Ko,isString:_o,merge:Zo,pick:Jo,pushUnique:Qo,splat:tn,syncTimeout:en}=C;class sn{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(t=>{const e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"")})}
1cleanSplit(t){this.chart.series.forEach(function(e){const i=e?.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){const e=this.points||tn(this);let i;return i=[t.headerFooterFormatter(e[0])],i=i.concat(t.bodyFormatter(e)),i.push(t.headerFooterFormatter(e[0],!0)),i}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(),Yo(this.container)),C.clearTimeout(this.hideTimer)}getAnchor(t,e){const{chart:i,pointer:s}=this,o=i.inverted,n=i.plotTop,r=i.plotLeft;let a;if(t=tn(t),t[0].series?.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=s.normalize(e)),a=[e.chartX-r,e.chartY-n];else if(t[0].tooltipPos)a=t[0].tooltipPos;else{let i=0,s=0;t.forEach(function(t){const e=t.pos(!0);e&&(i+=e[0],s+=e[1])}),i/=t.length,s/=t.length,this.shared&&t.length>1&&e&&(o?i=e.chartX:s=e.chartY),a=[i-r,s-n]}const l={point:t[0],ret:a};return jo(this,"getAnchor",l),l.ret.map(Math.round)}getClassName(t,e,i){const s=this.options,o=t.series,n=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+Jo(t.colorIndex,o.colorIndex),n?.className].filter(_o).join(" ")}getLabel({anchorX:e,anchorY:i}={anchorX:0,anchorY:0}){const s=this,o=this.chart.styledMode,n=this.options,r=this.split&&this.allowShared;let a=this.container,l=this.chart.renderer;if(this.label){const t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){const e=this.chart,i=e.options.chart.style,s=se.getRendererType();
vendor: 2,810 bytes, line 1
1this.container=a=t.doc.createElement("div"),a.className="highcharts-tooltip-container "+(e.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||[].join(" ")),Xo(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(i?.zIndex||0)+3)}),this.renderer=l=new s(a,0,0,i,void 0,void 0,l.styledMode)}if(r?this.label=l.g("tooltip"):(this.label=l.label("",e,i,n.shape||"callout",void 0,void 0,n.useHTML,void 0,"tooltip").attr({padding:n.padding,r:n.borderRadius}),o||this.label.attr({fill:n.backgroundColor,"stroke-width":n.borderWidth||0}).css(n.style).css({pointerEvents:n.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),s.outside){const 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,a&&(a.style[i?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(n.shadow??!n.fixed).add()}return a&&!a.parentElement&&t.doc.body.appendChild(a),this.label}getPlayingField(){const{body:t,documentElement:e}=Fo,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){const{distance:s,chart:o,outside:n,pointer:r}=this,{inverted:a,plotLeft:l,plotTop:h,polar:c}=o,{plotX:d=0,plotY:p=0}=i,u={},g=a&&i.h||0,{height:m,width:f}=this.getPlayingField(),x=r.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=i=>{const r="x"===i;return[i,r?f:m,r?t:e].concat(n?[r?y(t):b(e),r?x.left-s+y(d+l):x.top-s+b(p+h),0,r?f:m]:[r?t:e,r?d+l:p+h,r?l:h,r?l+o.plotWidth:h+o.plotHeight])};let w,k=v("y"),T=v("x"),S=!!i.negative;!c&&o.hoverSeries?.yAxis?.reversed&&(S=!S);const M=!this.followPointer&&Jo(i.ttBelow,!c&&!a===S),A=function(t,e,i,o,r,a,l){const h=n?"y"===t?b(s):y(s):s,c=(i-o)/2,d=o<r-s,p=r+s+o<e,m=r-h-i+c,f=r+h-c;if(M&&p)u[t]=f;else if(!M&&d)u[t]=m;else if(d)u[t]=Math.min(l-o,m-g<0?m:m-g);else{if(!p)return u[t]=0,!1;u[t]=Math.max(a,f+g+i>e?f:f+g)}},C=function(t,e,i,o,n){if(n<s||n>e-s)return!1;u[t]=n<i/2?1:n>e-o/2?e-o-2:n-i/2},E=function(t){[k,T]=[T,k],w=t},P=()=>{!1!==A.apply(0,k)?!1!==C.apply(0,T)||w||(E(!0),P()):w?u.x=u.y=0:(E(!0),P())};return(a&&!c||this.len>1)&&E(),P(),u}getFixedPosition(t,e,i){const s=i.series,{chart:o,options:n,split:r}=this,a=n.position,l=a.relativeTo,h=n.shared||s?.yAxis?.isRadial&&("pane"===l||!l)?"plotBox":l,c="chart"===h?o.renderer:o[h]||o.getClipBox(s,!0);return{x:c.x+(c.width-t)*Vo(a.align)+a.x,y:c.y+(c.height-e)*Vo(a.verticalAlign)+(!r&&a.y||0)}}hide(t){const e=this;C.clearTimeout(this.hideTimer),t=Jo(t,this.options.hideDelay),this.isHidden||(this.hideTimer=en(function(){const i=e.getLabel();e.getLabel().animate({opacity:0}
1,{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=Jo(e.outside,Boolean(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){const{followPointer:o,options:n}=this,r=No(!o&&!this.isHidden&&!n.fixed&&n.animation),a={x:t,y:e};o||(this.len||0)>1?a.anchorX=a.anchorY=NaN:(a.anchorX=i,a.anchorY=s),r.step=()=>this.drawTracker(),this.getLabel().animate(a,r)}refresh(t,e){const i=this,{chart:s,options:o,pointer:n,shared:r}=this,a=tn(t),l=a[0],h=o.format,c=o.formatter||i.defaultFormatter,d=s.styledMode;let p=i.allowShared;if(!o.enabled||!l.series)return;C.clearTimeout(this.hideTimer),i.allowShared=!(!qo(t)&&t.series&&t.series.noSharedTooltip),p=p&&!i.allowShared,i.followPointer=!i.split&&l.series.tooltipOptions.followPointer;const u=i.getAnchor(t,e),g=u[0],m=u[1];r&&i.allowShared&&(n.applyInactiveState(a),a.forEach(t=>t.setState("hover")),l.points=a),this.len=a.length;const f=_o(h)?Io(h,l,s):c.call(l,i);l.points=void 0;const x=l.series;if(this.distance=Jo(x.tooltipOptions.distance,16),!1===f)this.hide();else{if(i.split&&i.allowShared)this.renderSplit(f,a);else{let t=g,r=m;if(e&&n.isDirectTouch&&(t=e.chartX-s.plotLeft,r=e.chartY-s.plotTop),!s.polar&&!1!==x.options.clip&&!a.some(e=>n.isDirectTouch||e.series.shouldShowTooltip(t,r)))return void i.hide();{const t=i.getLabel(p&&i.tt||{});o.style.width&&!d||t.css({width:(this.outside?this.getPlayingField():s.spacingBox).width+"px"}),t.attr({class:i.getClassName(l),text:f&&f.join?f.join(""):f}),this.outside&&t.attr({x:Go(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),d||t.attr({stroke:o.borderColor||l.color||x.color||"#666666"}),i.updatePosition({plotX:g,plotY:m,negative:l.negative,ttBelow:l.ttBelow,series:x,h:u[2]||0})}}i.isHidden&&i.label&&i.label.attr({opacity:1}).show(),i.isHidden=!1}jo(this,"refresh")}renderSplit(t,e){const i=this,{chart:s,chart:{chartWidth:o,chartHeight:n,plotHeight:r,plotLeft:a,plotTop:l,scrollablePixelsY:h=0,scrollablePixelsX:c,styledMode:d},distance:p,options:u,options:{fixed:g,position:m,positioner:f},pointer:x}=i,{scrollLeft:y=0,scrollTop:b=0}=s.scrollablePlotArea?.scrollingContainer||{},v=i.outside&&"number"!=typeof c?Fo.documentElement.getBoundingClientRect():{left:y,right:y+o},w=i.getLabel(),k=this.renderer||s.renderer,T=Boolean(s.xAxis[0]?.opposite),{left:S,top:M}=x.getChartPosition(),A=f||g;let C=l+b,E=0,P=r-h;const O=function(t,e,s,o=[0,0],n=!0){let r,a;if(s.isHeader)a=T?0:P,r=Go(o[0]-t/2,v.left,v.right-t-(i.outside?S:0));else if(g&&s){const o=i.getFixedPosition(t,e,s);r=o.x,a=o.y-C}else a=o[1]-C,r=n?o[0]-t-p:o[0]+p,r=Go(r,n?r:v.left,v.right);return{x:r,y:a}};_o(t)&&(t=[!1,t]);let L=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){const n=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:r,series:{}},h=n.isHeader,c=h?i:n.series,m=c.tt=function(t,e,s){let o=t;const{isHeader:n,series:r}=e,a=r.tooltipOptions||u;if(!o){const t={padding:a.padding,r:a.borderRadius};d||(t.fill=a.backgroundColor,t["stroke-width"]=a.borderWidth??(g&&!n?0:1)),o=k.label("",0,0,a[n?"headerShape":"shape"]||(g&&!n?"rect":"callout"),void 0,void 0,a.useHTML).addClass(i.getClassName(e,!0,n)).attr(t).add(w)}return o.isActive=!0,o.attr({text:s}),d||o.css(a.style).attr({stroke:a.borderColor||e.color||r.color||"#333333"}),o}(c.tt,n,s.toString()),x=m.getBBox(),y=x.width+m.strokeWidth();h&&(E=x.height,P+=E,T&&(C-=E));const{anchorX:b,anchorY:S}=function(t){const{isHeader:e,plotX:i=0,plotY:s=0,series:o}=t;let n,h;if(e)n=Math.max(a+i,a),h=l+r/2;else{const{xAxis:t,yAxis:e}=o;n=t.pos+Go(i,-p,t.len+p),o.shouldShowTooltip(0,e.pos-l+s,{ignoreX:!0})&&(h=e.pos+s)}return n=Go(n,v.left-p,v.right+p),{anchorX:n,anchorY:h}}(n);if("number"==typeof S){const e=x.height+1,s=(f||O).call(i,y,e,n,[b,S]);t.push({align:A?0:void 0,anchorX:b,anchorY:S,boxWidth:y,point:n,rank:Jo(s.rank,h?1:0),size:e,target:s.y,tt:m,x:s.x})}
vendor: 2,299 bytes, line 1
1else m.isActive=!1}return t},[]);!A&&L.some(t=>{const{outside:e}=i,s=(e?S:0)+t.anchorX;return s<v.left&&s+t.boxWidth<v.right||s<S-v.left+t.boxWidth&&v.right-s>s})&&(L=L.map(t=>{const{x:e,y:i}=O.call(this,t.boxWidth,t.size,t.point,[t.anchorX,t.anchorY],!1);return Uo(t,{target:i,x:e})})),i.cleanSplit(),Ho(L,P);const D={left:S,right:S};L.forEach(function(t){const{x:e,boxWidth:s,isHeader:o}=t;o||(i.outside&&S+e<D.left&&(D.left=S+e),!o&&i.outside&&D.left+s>D.right&&(D.right=S+e))}),L.forEach(function(t){const{x:e,anchorX:s,anchorY:o,pos:n,point:{isHeader:r}}=t,a={visibility:void 0===n?"hidden":"inherit",x:e,y:(n||0)+C+(g&&m.y||0),anchorX:s,anchorY:o};if(i.outside&&e<s){const t=S-D.left;t>0&&(r||(a.x=e+t,a.anchorX=s+t),r&&(a.x=(D.right-D.left)/2,a.anchorX=s+t))}t.tt.attr(a)});const{container:N,outside:I,renderer:B}=i;if(I&&N&&B){const{width:t,height:e,x:i,y:s}=w.getBBox();B.setSize(t+i,e+s,!1),N.style.left=D.left+"px",N.style.top=M+"px"}zo&&w.attr({opacity:1===w.opacity?.999:1})}drawTracker(){const t=this;if(!this.shouldStickOnContact())return void(t.tracker&&(t.tracker=t.tracker.destroy()));const e=t.chart,i=t.label,s=t.shared?e.hoverPoints:e.hoverPoint;if(!i||!s)return;const o={x:0,y:0,width:0,height:0},n=this.getAnchor(s),r=i.getBBox();n[0]+=e.plotLeft-(i.translateX||0),n[1]+=e.plotTop-(i.translateY||0),o.x=Math.min(0,n[0]),o.y=Math.min(0,n[1]),o.width=n[0]<0?Math.max(Math.abs(n[0]),r.width-n[0]):Math.max(Math.abs(n[0]),r.width),o.height=n[1]<0?Math.max(Math.abs(n[1]),r.height-Math.abs(n[1])):Math.max(Math.abs(n[1]),r.height),t.tracker?t.tracker.attr(o):(t.tracker=i.renderer.rect(o).addClass("highcharts-tracker").add(i),e.styledMode||t.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){const i=t.series,s=i.tooltipOptions,o=i.xAxis,n=o?.dateTime,r={isFooter:e,point:t};let a=s.xDateFormat||"",l=s[e?"footerFormat":"headerFormat"];return jo(this,"headerFormatter",r,function(e){if(n&&!a&&$o(t.key)&&(a=n.getXDateFormat(t.key,s.dateTimeLabelFormats)),n&&a){if(Ko(a)){const t=a;Ro[0]=e=>i.chart.time.dateFormat(t,e),a="%0"}
1(t.tooltipDateKeys||["key"]).forEach(t=>{l=l.replace(new RegExp("point\\."+t+"([ \\)}])"),`(point.${t}:${a})$1`)})}i.chart.styledMode&&(l=this.styledModeFormat(l)),e.text=Io(l,t,this.chart)}),r.text||""}update(t){this.destroy(),this.init(this.chart,Zo(!0,this.options,t))}updatePosition(e){const{chart:i,container:s,distance:o,options:n,pointer:r,renderer:a}=this,l=this.getLabel(),{height:h=0,width:c=0}=l,{fixed:d,positioner:p}=n,{left:u,top:g,scaleX:m,scaleY:f}=r.getChartPosition(),x=(p||d&&this.getFixedPosition||this.getPosition).call(this,c,h,e),y=t.doc;let b,v=(e.plotX||0)+i.plotLeft,w=(e.plotY||0)+i.plotTop;if(a&&s){if(p||d){const{scrollLeft:t=0,scrollTop:e=0}=i.scrollablePlotArea?.scrollingContainer||{};x.x+=t+u-o,x.y+=e+g-o}b=(n.borderWidth||0)+2*o+2,a.setSize(Go(c+b,0,y.documentElement.clientWidth)-1,h+b,!1),1===m&&1===f||(Xo(s,{transform:`scale(${m}, ${f})`}),v*=m,w*=f),v+=u-x.x,w+=g-x.y}this.move(Math.round(x.x),Math.round(x.y||0),v,w)}}var on;(on=sn||(sn={})).compose=function(t){Qo(Bo,"Core.Tooltip")&&Wo(t,"afterInit",function(){const t=this.chart;t.options.tooltip&&(t.tooltip=new on(t,t.options.tooltip,this))})};const nn=sn,{animObject:rn}=St,{defaultOptions:an}=Q,{format:ln}=ee,{addEvent:hn,crisp:cn,erase:dn,extend:pn,fireEvent:un,getNestedProperty:gn,isArray:mn,isFunction:fn,isNumber:xn,isObject:yn,merge:bn,pick:vn,syncTimeout:wn,removeEvent:kn,uniqueKey:Tn}=C;class Sn{animateBeforeDestroy(){const t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){const s="dataLabel"===i;t[i]=t[i].animate(s?{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(pn({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){const i=this,s=i.series,o=s.options.pointValKey||s.pointValKey;return t=Sn.prototype.optionsToObject.call(this,t),pn(i,t),i.options=i.options?pn(i.options,t):t,t.group&&delete i.group,t.dataLabels&&delete i.dataLabels,o&&(i.y=Sn.prototype.getNestedProperty.call(i,o)),i.selected&&(i.state="select"),"name"in i&&void 0===e&&s.xAxis&&s.xAxis.hasNames&&(i.x=s.xAxis.nameToX(i)),void 0===i.x&&s?i.x=e??s.autoIncrement():xn(t.x)&&s.options.relativeXValue?i.x=s.autoIncrement(t.x):"string"==typeof i.x&&(e??(e=s.chart.time.parse(i.x)),xn(e)&&(i.x=e)),i.isNull=this.isValid&&!this.isValid(),i.formatPrefix=i.isNull?"null":"point",i}destroy(){if(!this.destroyed){const t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,n=t.series.chart.renderer.globalAnimation,r=rn(n),a=()=>{(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(kn(t),t.destroyElements());for(const e in t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),dn(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s?.enabled?(this.animateBeforeDestroy(),wn(a,r.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){const 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?.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){const 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)}),un(s,t,e,i)}getClassName(){const t=this;return"highcharts-point"+(t.selected?" highcharts-point-select":"")+(t.negative?" highcharts-negative":"")+(t.isNull?" highcharts-null-point":"")+(void 0!==t.colorIndex?" highcharts-color-"+t.colorIndex:"")+(t.options.className?" "+t.options.className:"")+(t.zone?.className?" "+t.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){const e=this,i=[],s={singular:[],plural:[]};let o,n;for((t=t||{graphic:1,dataLabel:1}).graphic&&i.push("graphic","connector"),t.dataLabel&&i.push("dataLabel","dataLabelPath","dataLabelUpper"),n=i.length;n--;)o=i[n],e[o]&&s.singular.push(o);return["graphic","dataLabel"].forEach(function(i){const o=i+"s";t[i]&&e[o]&&s.plural.push(o)}),s}getNestedProperty(t){if(t)return 0===t.indexOf("custom.")?gn(t,this.options):this[t]}getZone(){const t=this.series,e=t.zones,i=t.zoneAxis||"y";let s,o=0;for(s=e[o];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s?.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){const t=this;return(t.graphic&&(t.graphic.symbolName||t.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=Tn()),this.resolveColor(),this.dataLabelO
vendor: 2,917 bytes, line 1
1nNull??(this.dataLabelOnNull=t.options.nullInteraction),t.chart.pointCount++,un(this,"afterInit")}isValid(){return(xn(this.x)||this.x instanceof Date)&&xn(this.y)}optionsToObject(t){const e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length;let n,r={},a=0,l=0;if(xn(t)||null===t)r[s[0]]=t;else if(mn(t))for(!i&&t.length>o&&(n=typeof t[0],"string"===n?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:"number"===n&&(r.x=t[0]),a++);l<o;)i&&void 0===t[a]||(s[l].indexOf(".")>0?Sn.prototype.setNestedProperty(r,t[a],s[l]):r[s[l]]=t[a]),a++,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){const{plotX:i,series:s}=this,{chart:o,xAxis:n,yAxis:r}=s;let a=0,l=0;if(xn(i)&&xn(e))return t&&(a=n?n.pos:o.plotLeft,l=r?r.pos:o.plotTop),o.inverted&&n&&r?[r.len-e+l,n.len-i+a]:[i+a,e+l]}}resolveColor(){const t=this.series,e=t.chart.options.chart,i=t.chart.styledMode;let s,o,n,r=e.colorCount;delete this.nonZonedColor,t.options.colorByPoint?(i||(o=t.options.colors||t.chart.options.colors,s=o[t.colorCounter],r=o.length),n=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),n=t.colorIndex),this.colorIndex=vn(this.options.colorIndex,n),this.color=vn(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){const n=o.length-1===s;return t[i]=n?e:yn(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){const{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:n="",valueSuffix:r=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(e=>{e="{point."+e,(n||r)&&(t=t.replace(RegExp(e+"}","g"),n+e+"}"+r)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),ln(t,this,e)}update(t,e,i,s){const o=this,n=o.series,r=o.graphic,a=n.chart,l=n.options;let h;function c(){o.applyOptions(t);const s=r&&o.hasMockGraphic,c=null===o.y?!s:s;r&&c&&(o.graphic=r.destroy(),delete o.hasMockGraphic),yn(t,!0)&&(r?.element&&t&&t.marker&&void 0!==t.marker.symbol&&(o.graphic=r.destroy()),t?.dataLabels&&o.dataLabel&&(o.dataLabel=o.dataLabel.destroy())),h=o.index;const d={};for(const t of n.dataColumnKeys())d[t]=o[t];n.dataTable.setRow(d,h),l.data[h]=yn(l.data[h],!0)||yn(t,!0)?o.options:vn(t,l.data[h]),n.isDirty=n.isDirtyData=!0,!n.fixedBox&&n.hasCartesianSeries&&(a.isDirtyBox=!0),"point"===l.legendType&&(a.isDirtyLegend=!0),e&&a.redraw(i)}e=vn(e,!0),!1===s?c():o.firePointEvent("update",{options:t},c)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){const i=this,s=i.series,o=s.chart;t=vn(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
1h(function(t){const 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){const e=this,i=e.series,{inverted:s,pointer:o}=i.chart;o&&(t=t?o.normalize(t):o.getChartCoordinatesFromPoint(e,s),o.runPointActions(t,e))}onMouseOut(){const t=this,e=t.series.chart;t.firePointEvent("mouseOut"),t.series.options.inactiveOtherPoints||(e.hoverPoints||[]).forEach(function(t){t.setState()}),e.hoverPoints=e.hoverPoint=null}manageEvent(t){const e=this,i=bn(e.series.options.point,e.options),s=i.events?.[t];!fn(s)||e.hcEvents?.[t]&&-1!==e.hcEvents?.[t]?.map(t=>t.fn).indexOf(s)?e.importedUserEvent&&!s&&e.hcEvents?.[t]&&e.hcEvents?.[t].userEvent&&(kn(e,t),delete e.hcEvents[t],Object.keys(e.hcEvents)||delete e.importedUserEvent):(e.importedUserEvent?.(),e.importedUserEvent=hn(e,t,s),e.hcEvents&&(e.hcEvents[t].userEvent=!0))}setState(t,e){const i=this,s=i.series,o=i.state,n=s.options.states[t||"normal"]||{},r=an.plotOptions[s.type].marker&&s.options.marker,a=r&&!1===r.enabled,l=r?.states?.[t||"normal"]||{},h=!1===l.enabled,c=i.marker||{},d=s.chart,p=r&&s.markerAttribs;let u,g,m,f,x=s.halo,y=s.stateMarkerGraphic;if((t=t||"")===i.state&&!e||i.selected&&"select"!==t||!1===n.enabled||t&&(h||a&&!1===l.enabled)||t&&c.states&&c.states[t]&&!1===c.states[t].enabled)return;if(i.state=t,p&&(u=s.markerAttribs(i,t)),i.graphic&&!i.hasMockGraphic){if(o&&i.graphic.removeClass("highcharts-point-"+o),t&&i.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=s.pointAttribs(i,t),m=vn(d.options.chart.animation,n.animation);const e=g.opacity;s.options.inactiveOtherPoints&&xn(e)&&(i.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},m),t.connector&&t.connector.animate({opacity:e},m))}),i.graphic.animate(g,m)}u&&i.graphic.animate(u,vn(d.options.chart.animation,l.animation,r.animation)),y&&y.hide()}else t&&l&&(f=c.symbol||s.symbol,y&&y.currentSymbol!==f&&(y=y.destroy()),u&&(y?y[e?"animate":"attr"]({x:u.x,y:u.y}):f&&(s.stateMarkerGraphic=y=d.renderer.symbol(f,u.x,u.y,u.width,u.height,bn(r,l)).add(s.markerGroup),y.currentSymbol=f)),!d.styledMode&&y&&"inactive"!==i.state&&y.attr(s.pointAttribs(i,t))),y&&(y[t&&i.isInside?"show":"hide"](),y.element.point=i,y.addClass(i.getClassName(),!0));const b=n.halo,v=i.graphic||y,w=v?.visibility||"inherit";b?.size&&v&&"hidden"!==w&&!i.isCluster?(x||(s.halo=x=d.renderer.path().add(v.parentGroup)),x.show()[e?"animate":"attr"]({d:i.haloPath(b.size)}),x.attr({class:"highcharts-halo highcharts-color-"+vn(i.colorIndex,s.colorIndex)+(i.className?" "+i.className:""),visibility:w,zIndex:-1}),x.point=i,d.styledMode||x.attr(pn({fill:i.color||s.color,"fill-opacity":b.opacity},zt.filterUserAttributes(b.attributes||{})))):x?.point?.haloPath&&!x.point.destroyed&&x.animate({d:x.point.haloPath(0)},null,x.hide),un(i,"afterSetState",{state:t})}haloPath(t){const e=this.pos();return e?this.series.chart.renderer.symbols.circle(cn(e[0],1)-t,e[1]-t,2*t,2*t):[]}}const{parse:Mn}=lt,{charts:An,composed:Cn,isTouchDevice:En}=t,{addEvent:Pn,attr:On,css:Ln,extend:Dn,find:Nn,fireEvent:In,isNumber:Bn,isObject:Rn,objectEach:Fn,offset:zn,pick:Hn,pushUnique:Wn,splat:Gn}=C;class Xn{applyInactiveState(t=[]){const e=[];t.forEach(t=>{const i=t.series;e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&e.push.apply(e,i.linkedSeries),i.navigatorSeries&&e.push(i.navigatorSeries),i.boosted&&i.markerGroup&&e.push.apply(e,this.chart.series.filter(t=>t.markerGroup===i.markerGroup))});for(const i of this.chart.series){const t=i.options;!1!==t.states?.inactive?.enabled&&(-1===e.indexOf(i)?i.setState("inactive",!0):t.inactiveOtherPoints&&i.setAllPointsToState("inactive"))}}destroy(){const e=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],t.chartCount||(Xn.unbindDocumentMouseUp.forEach(t=>t.unbind()),Xn.unbindDocumentMouseUp.length=0,Xn.unbindDocumentTouchEnd&&(Xn.unbindDocumentTouchEnd=Xn.unbindDocumentTouchEnd())),clearInterval(e.tooltipTimeout),Fn(e,function(t,i){e[i]=void 0})}getSelectionMarkerAttrs(t,e){const i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return In(this,"getSelectionMarkerAttrs",i,i=>{const{chart:s,zoomHor:o,zoomVert:n}=this,{mouseDownX:r=0,mouseDownY:a=0}=s,l=i.attrs;let h;l.x=s.plotLeft,l.y=s.plotTop,l.width=o?1:s.plotWidth,l.height=n?1:s.plotHeight,o&&(h=t-r,l.width=Math.max(1,Math.abs(h)),l.x=(h>0?0:h)+r),n&&(h=e-a,l.height=Math.max(1,Math.abs(h)),l.y=(h>0?0:h)+a)}),i}drag(t){const{chart:e}
1=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:n,selectionMarkerFill:r}=e.options.chart,a=e.plotLeft,l=e.plotTop,h=e.plotWidth,c=e.plotHeight,d=Rn(o)?o.enabled:o,p=n&&t[`${n}Key`];let u,g=t.chartX,m=t.chartY,f=this.selectionMarker;if((!f||!f.touch)&&(g<a?g=a:g>a+h&&(g=a+h),m<l?m=l:m>l+c&&(m=l+c),this.hasDragged=Math.sqrt(Math.pow(i-g,2)+Math.pow(s-m,2)),this.hasDragged>10)){u=e.isInsidePlot(i-a,s-l,{visiblePlotOnly:!0});const{shapeType:n,attrs:h}=this.getSelectionMarkerAttrs(g,m);this.hasZoom&&u&&!p&&(f||(this.selectionMarker=f=e.renderer[n](),f.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||f.attr({fill:r||Mn("#334eff").setOpacity(.25).get()}))),f&&f.attr(h),u&&!f&&d&&e.pan(t,o)}}dragStart(t){const e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){const e={args:{marker:t},result:t.getBBox()};return In(this,"getSelectionBox",e),e.result}drop(t){const{chart:e,selectionMarker:i}=this;let s;for(const o of e.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(t=>t.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),s=!0));if(s&&e.redraw(),i&&t){if(this.hasDragged){const s=this.getSelectionBox(i);e.transform({axes:e.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...s},from:s})}Bn(e.index)&&(this.selectionMarker=i.destroy())}e&&Bn(e.index)&&(Ln(e.container,{cursor:e._cursor}),e.cancelClick=this.hasDragged>10,e.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[],this.hasPinchMoved=!1)}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){const o=!(t.noSharedTooltip&&e)&&t.options.findNearestPointBy.indexOf("y")<0,n=t.searchPoint(i,o);Rn(n,!0)&&n.series&&(!Rn(s,!0)||function(t,i){const s=t.distX-i.distX,o=t.dist-i.dist,n=i.series.group?.zIndex-t.series.group?.zIndex;let r;return r=0!==s&&e?s:0!==o?o:0!==n?n:t.series.index>i.series.index?-1:1,r}(s,n)>0)&&(s=n)}),s}getChartCoordinatesFromPoint(t,e){const{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let n=t.clientX??t.plotX??0,r=t.plotY||0;return t.isNode&&o&&Bn(o.x)&&Bn(o.y)&&(n=o.x,r=o.y),e?{chartX:s.len+s.pos-r,chartY:i.len+i.pos-n}:{chartX:n+i.pos,chartY:r+s.pos}}if(o?.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;const{container:t}=this.chart,e=zn(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};const{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){const e={xAxis:[],yAxis:[]};for(const 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,n){const r=[],a=!(!s||!t),l=function(t){return t.visible&&!(!o&&t.directTouch)&&Hn(t.options.enableMouseTracking,!0)};let h,c=e,d={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};In(this,"beforeGetHoverData",d);h=c&&!c.stickyTracking?[c]:i.filter(t=>t.stickyTracking&&(d.filter||l)(t));const p=a||!n?t:this.findNearestKDPoint(h,o,n);return c=p?.series,p&&(o&&!c.noSharedTooltip?(h=i.filter(function(t){return d.filter?d.filter(t):l(t)&&!t.noSharedTooltip}),h.forEach(function(t){const e=t.options?.nullInteraction;let i=Nn(t.points,function(t){return!(t.x!==p.x||t.isNull&&!e)});Rn(i)&&(t.boosted&&t.boost&&(i=t.boost.getPoint(i)),r.push(i))})):r.push(p)),d={hoverPoint:p},In(this,"afterGetHoverData",d),{hoverPoint:d.hoverPoint,hoverSeries:c,hoverPoints:r}}getPointFromEvent(t){let e,i=t.target;for(;i&&!e;)e=i.point,i=i.parentNode;return e}onTrackerMouseOut(t){const 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,s=t;for(;s;){if(i=On(s,"class"),i){if(-1!==i.indexOf(e))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}s=s.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=Boolean(e.chart.events?.click),this.pinchDown=[],this.setDOMEvents(),In(this,"afterInit")}normalize(t,e){const i=t.touches,s=i?i.length?i.item(0):Hn(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,n=s.pageY-e.top;return o/=e.scaleX,n/=e.scaleY,Dn(t,{chartX:Math.round(o),chartY:Math.round(n)})}onContainerClick(t){const e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,n=e.plotTop;e.cancelClick||(i&&this.inClass(s.target,"highcharts-tracker")?(In(i.series,"click",Dn(s,{point:i}
vendor: 4,501 bytes, line 1
1)),e.hoverPoint&&i.firePointEvent("click",s)):(Dn(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-n,{visiblePlotOnly:!0})&&In(e,"click",s)))}onContainerMouseDown(e){const i=!(1&~(e.buttons||e.button));e=this.normalize(e),t.isFirefox&&0!==e.button&&this.onContainerMouseMove(e),(void 0===e.button||i)&&(this.zoomOption(e),i&&e.preventDefault?.(),this.dragStart(e))}onContainerMouseLeave(t){const{pointer:e}=An[Hn(Xn.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){const e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),e.exporting?.openMenu||!this.inClass(s.target,"highcharts-tracker")&&!e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0})||i?.shouldStickOnContact(s)||(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){const e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i?.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){t?.touches&&this.hasPinchMoved&&t?.preventDefault?.(),An[Hn(Xn.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){const e=this,{chart:i,hasZoom:s,lastTouches:o}=e,n=[].map.call(t.touches||[],t=>e.normalize(t)),r=n.length,a=1===r&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,h=1===r&&Hn(l?.options.followTouchMove,!0);r>1?e.initiated=!0:h&&(e.initiated=!1),s&&e.initiated&&!a&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=n,e.res=!0,i.mouseDownX=t.chartX):h?this.runPointActions(e.normalize(t)):o&&(In(i,"touchpan",{originalEvent:t,touches:n},()=>{const e=t=>{const 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(n),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=n}reset(t,e){const i=this,s=i.chart,o=s.hoverSeries,n=s.hoverPoint,r=s.hoverPoints,a=s.tooltip,l=a?.shared?r:n;t&&l&&Gn(l).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?a&&l&&Gn(l).length&&(a.refresh(l),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))}):n&&(n.setState(n.state,!0),s.axes.forEach(function(t){t.crosshair&&n.series[t.coll]===t&&t.drawCrosshair(null,n)}))):(n&&n.onMouseOut(),r&&r.forEach(function(t){t.setState()}),o&&o.onMouseOut(),a&&a.hide(e),i.unDocMouseMove&&(i.unDocMouseMove=i.unDocMouseMove()),s.axes.forEach(function(t){t.hideCrosshair()}),s.hoverPoints=s.hoverPoint=void 0)}runPointActions(t,e,i){const s=this,o=s.chart,n=o.series,r=o.tooltip?.options.enabled?o.tooltip:void 0,a=!!r&&r.shared;let l=e||o.hoverPoint,h=l?.series||o.hoverSeries;const c=(!t||"touchmove"!==t.type)&&(!!e||h?.directTouch&&s.isDirectTouch),d=this.getHoverData(l,h,n,c,a,t);l=d.hoverPoint,h=d.hoverSeries;const p=d.hoverPoints,u=h?.tooltipOptions.followPointer&&!h.tooltipOptions.split,g=a&&h&&!h.noSharedTooltip;if(l&&(i||l!==o.hoverPoint||r?.isHidden)){if((o.hoverPoints||[]).forEach(function(t){-1===p.indexOf(t)&&t.setState()}),o.hoverSeries!==h&&h.onMouseOver(),s.applyInactiveState(p),(p||[]).forEach(function(t){t.setState("hover")}),o.hoverPoint&&o.hoverPoint.firePointEvent("mouseOut"),!l.series)return;o.hoverPoints=p,o.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{r&&l&&r.refresh(g?p:l,t)})}else if(u&&r&&!r.isHidden){const e=r.getAnchor([{}],t);o.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}s.unDocMouseMove||(s.unDocMouseMove=Pn(o.container.ownerDocument,"mousemove",t=>An[Xn.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),s.eventsToUnbind.push(s.unDocMouseMove)),o.axes.forEac
vendor: 5,155 bytes, line 1
1h(function(e){const i=e.crosshair?.snap??!0;let s;i&&(s=o.hoverPoint,s&&s.series[e.coll]===e||(s=Nn(p,t=>t.series?.[e.coll]===e))),s||!i?e.drawCrosshair(t,s):e.hideCrosshair()})}setDOMEvents(){const 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(Pn(t,"mouseenter",this.onContainerMouseEnter.bind(this)),Pn(t,"mouseleave",this.onContainerMouseLeave.bind(this))),Xn.unbindDocumentMouseUp.some(t=>t.doc===e)||Xn.unbindDocumentMouseUp.push({doc:e,unbind:Pn(e,"mouseup",this.onDocumentMouseUp.bind(this))});let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(Pn(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(Pn(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),Pn(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),Xn.unbindDocumentTouchEnd||(Xn.unbindDocumentTouchEnd=Pn(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),Pn(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!En)return;const t=this,e=t.pointerCaptureEventsToUnbind,i=t.chart,s=i.container,o=Hn(i.options.tooltip?.followTouchMove,!0)&&i.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!t.hasPointerCapture&&o?(e.push(Pn(s,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),Pn(s,"pointermove",t=>{i.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),i.styledMode||Ln(s,{"touch-action":"none"}),s.className+=" highcharts-no-touch-action",t.hasPointerCapture=!0):t.hasPointerCapture&&!o&&(e.forEach(t=>t()),e.length=0,i.styledMode||Ln(s,{"touch-action":Hn(i.options.chart.style?.["touch-action"],"manipulation")}),s.className=s.className.replace(" highcharts-no-touch-action",""),t.hasPointerCapture=!1)}setHoverChartIndex(e){const i=this.chart,s=t.charts[Hn(Xn.hoverChartIndex,-1)];if(s&&s!==i){const t={relatedTarget:i.container};e&&!e?.relatedTarget&&Object.assign({},e,t),s.pointer?.onContainerMouseLeave(e||t)}s?.mouseIsDown||(Xn.hoverChartIndex=i.index)}touch(t,e){const{chart:i,pinchDown:s=[]}=this;let o,n;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?(n=i.isInsidePlot(t.chartX-i.plotLeft,t.chartY-i.plotTop,{visiblePlotOnly:!0}),n&&!i.exporting?.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(this.hasPinchMoved=o=!!s[0]&&Math.pow(s[0].chartX-t.chartX,2)+Math.pow(s[0].chartY-t.chartY,2)>=16),Hn(o,!0)&&this.pinch(t)):e&&this.reset()):2===t.touches.length&&this.pinch(t)}touchSelect(t){return Boolean(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){const e=this.chart,i=e.inverted;let s,o,n=e.zooming.type||"";/touch/.test(t.type)&&(n=Hn(e.zooming.pinchType,n)),this.zoomX=s=/x/.test(n),this.zoomY=o=/y/.test(n),this.zoomHor=s&&!i||o&&i,this.zoomVert=o&&!i||s&&i,this.hasZoom=s||o}}var Yn;Xn.unbindDocumentMouseUp=[],(Yn=Xn||(Xn={})).compose=function(t){Wn(Cn,"Core.Pointer")&&Pn(t,"beforeRender",function(){this.pointer=new Yn(this,this.options)})};const Un=Xn;var jn,Vn;(Vn=jn||(jn={})).setLength=function(t,e,i){return Array.isArray(t)?(t.length=e,t):t[i?"subarray":"slice"](0,e)},Vn.splice=function(t,e,i,s,o=[]){if(Array.isArray(t))return Array.isArray(o)||(o=Array.from(o)),{removed:t.splice(e,i,...o),array:t};const n=Object.getPrototypeOf(t).constructor,r=t[s?"subarray":"slice"](e,e+i),a=new n(t.length-i+o.length);return a.set(t.subarray(0,e),0),a.set(o,e),a.set(t.subarray(e+i),e+o.length),{removed:r,array:a}};const qn=jn,{setLength:$n,splice:Kn}=qn,{fireEvent:_n,objectEach:Zn,uniqueKey:Jn}=C;class Qn{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||Jn(),this.modified=this,this.rowCount=0,this.versionTag=Jn();let e=0;Zn(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,Zn(this.columns,(e,i)=>{e.length!==t&&(this.columns[i]=$n(e,t))})}deleteRows(t,e=1){if(e>0&&t<this.rowCount){let i=0;Zn(this.columns,(s,o)=>{this.columns[o]=Kn(s,t,e).array,i=s.length}),this.rowCount=i}_n(this,"afterDeleteRows",{rowIndex:t,rowCount:e}),this.versionTag=Jn()}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;Zn(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(_n(this,"afterSetColumns"),this.versionTag=Jn())}setRow(t,e=this.rowCount,i,s){const{columns:o}=this,n=i?this.rowCount+1:e+1;Zn(t,(t,r)=>{let a=o[r]||!1!==s?.addColumns&&new Array(n);a&&(i?a=Kn(a,e,0,!0,[t]).array:a[e]=t,o[r]=a)}),n>this.rowCount&&this.applyRowCount(n),s?.silent||(_n(this,"afterSetRows"),this.versionTag=Jn())}}const{extend:tr,merge:er,pick:ir}=C;var sr;!function(t){function e(t,e,i){const s=this.legendItem=this.legendItem||{},{chart:o,options:n}
1=this,{baseline:r=0,symbolWidth:a,symbolHeight:l}=t,h=this.symbol||"circle",c=l/2,d=o.renderer,p=s.group,u=r-Math.round((t.fontMetrics?.b||l)*(i?.4:.3)),g={};let m,f=n.marker,x=0;if(o.styledMode||(g["stroke-width"]=Math.min(n.lineWidth||0,24),n.dashStyle?g.dashstyle=n.dashStyle:"square"!==n.linecap&&(g["stroke-linecap"]="round")),s.line=d.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=d.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),a)/2),a){const t=[["M",x,u],["L",a-x,u]];s.line.attr({d:t}),s.area?.attr({d:[...t,["L",a-x,r],["L",x,r]]})}if(f&&!1!==f.enabled&&a){let t=Math.min(ir(f.radius,c),c);0===h.indexOf("url")&&(f=er(f,{width:l,height:l}),t=0),s.symbol=m=d.symbol(h,a/2-t,u-t,2*t,2*t,tr({context:"legend"},f)).addClass("highcharts-point").add(p),m.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){const i=e.legendItem||{},s=t.options,o=t.symbolHeight,n=s.squareSymbol,r=n?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(n?(t.symbolWidth-o)/2:0,t.baseline-o+1,r,o,ir(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(sr||(sr={}));const or=sr,{defaultOptions:nr}=Q,{extend:rr,extendClass:ar,merge:lr}=C;var hr;!function(e){function i(t,i){const s=nr.plotOptions||{},o=i.defaultOptions,n=i.prototype;return n.type=t,n.pointClass||(n.pointClass=Sn),!e.seriesTypes[t]&&(o&&(s[t]=o),e.seriesTypes[t]=i,!0)}e.seriesTypes=t.seriesTypes,e.registerSeriesType=i,e.seriesType=function(t,s,o,n,r){const a=nr.plotOptions||{};s=s||"",a[t]=lr(a[s],o),delete e.seriesTypes[t];const l=e.seriesTypes[s]||Yr;if(i(t,ar(l,n)),e.seriesTypes[t].prototype.type=t,r){class i extends Sn{}rr(i.prototype,r),e.seriesTypes[t].prototype.pointClass=i}return e.seriesTypes[t]}}(hr||(hr={}));const cr=hr,{animObject:dr,setAnimation:pr}=St,{defaultOptions:ur}=Q,{registerEventOptions:gr}=gs,{svg:mr,win:fr}=t,{seriesTypes:xr}=cr,{format:yr}=ee,{arrayMax:br,arrayMin:vr,clamp:wr,correctFloat:kr,crisp:Tr,defined:Sr,destroyObjectProperties:Mr,diffObjects:Ar,erase:Cr,error:Er,extend:Pr,find:Or,fireEvent:Lr,getClosestDistance:Dr,getNestedProperty:Nr,insertItem:Ir,isArray:Br,isNumber:Rr,isString:Fr,merge:zr,objectEach:Hr,pick:Wr,removeEvent:Gr,syncTimeout:Xr}=C;let Yr=class t{constructor(){this.zoneAxis="y"}init(t,e){Lr(this,"init",{options:e}),this.dataTable??(this.dataTable=new Qn);const i=this,s=t.series;this.eventsToUnbind=[],i.chart=t,i.options=i.setOptions(e);const o=i.options,n=!1!==o.visible;i.linkedSeries=[],i.bindAxes(),Pr(i,{name:o.name,state:"",visible:n,selected:!0===o.selected}),gr(this,o);const r=o.events;let a;(r?.click||o.point?.events?.click||o.allowPointSelect)&&(t.runTrackerClick=!0),i.getColor(),i.getSymbol(),i.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(a=s[s.length-1]),i._i=Wr(a?._i,-1)+1,i.opacity=i.options.opacity,t.orderItems("series",Ir(this,s)),o.dataSorting?.enabled?i.setDataSortingOptions():i.points||i.data||i.setData(o.data,!1),Lr(this,"afterInit")}is(t){return xr[t]&&this instanceof xr[t]}bindAxes(){const t=this,e=t.options,i=t.chart;let s;Lr(this,"bindAxes",null,function(){(t.axisTypes||[]).forEach(function(o){(i[o]||[]).forEach(function(i){s=i.options,(Wr(e[o],0)===i.index||void 0!==e[o]&&e[o]===s.id)&&(Ir(t,i.series),t[o]=i,i.isDirty=!0)}),t[o]||t.optionalAxis===o||Er(18,!0,i)})}),Lr(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){const 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){const e=this.options,{pointIntervalUnit:i,relativeXValue:s}=this.options,o=this.chart.time,n=this.xIncrement??o.parse(e.pointStart)??0;let r;if(this.pointInterval=r=Wr(this.pointInterval,e.pointInterval,1),s&&Rr(t)&&(r*=t),i){const t=o.toParts(n);"day"===i?t[2]+=r:"month"===i?t[1]+=r:"year"===i&&(t[0]+=r),r=o.makeTime.apply(o,t)-n}return s&&Rr(t)?n+r:(this.xIncrement=n+r,n)}setDataSortingOptions(){const t=this.options;Pr(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),Sr(t.pointRange)||(t.pointRange=1)}setOptions(t){const e=this.chart,i=e.options.plotOptions,s=e.userOptions||{},o=zr(t),n=e.styledMode,r={plotOptions:i,userOptions:o};let a;Lr(this,"setOptions",r);const l=r.plotOptions[this.type],h=s.plotOptions||{},c=h.series||{},d=ur.plotOptions[this.type]||{},p=h[this.type]||{};l.dataLabels=this.mergeArrays(d.dataLabels,l.dataLabels),this.userOptions=r.userOptions;const u=zr(l,i.series,p,o);this.tooltipOptions=zr(ur.tooltip,ur.plotOptions.series?.tooltip,d?.tooltip,e.userOptions.tooltip,h.series?.tooltip,p.tooltip,o.tooltip),this.stickyTracking=Wr(o.stickyTracking,p.stickyTracking,c.stickyTracking,!(!this.tooltipOptions.shared||this.noSharedTooltip)||u.stickyTracking),null===l.marker&&delete u.marker,this.zoneAxis=u.zoneAxis||"y";const g=this.zones=(u.zones||[]).map(t=>({...t}));return!u.negativeColor&&!u.negativeFillColor||u.zones||(a={value:u[this.zoneAxis+"Threshold"]||u.threshold||0,className:"highcharts-negative"},n||(a.color=u.negativeColor,a.fillColor=u.negativeFillColor),g.push(a)),g.length&&Sr(g[g.length-1].value)&&g.push(n?{}:{color:this.color,fillColor:this.fillColor}),Lr(this,"afterSetOptions",{options:u}),u}getName(){return this.options.name??yr(this.chart.options.lang.seriesName,this,this.chart)}getCyclic(t,e,i){const s=this.chart,o=`${t}Index`,n=`${t}Counter`,r=i?.length||s.options.chart.colorCount;let a,l;e||(l=Wr("color"===t?this.options.colorIndex:void 0,this[o]),Sr(l)?a=l:(s.series.length||(s[n]=0),a=s[n]%r,s[n]+=1),i&&(e=i[a]
1)),void 0!==a&&(this[o]=a),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||ur.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){const t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.modified:this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){const{id:i,x:s}=t,o=this.points,n=this.options.dataSorting,r=this.cropStart||0;let a,l,h;if(i){const t=this.chart.get(i);t instanceof Sn&&(a=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(n?.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),a=Or(o,e),!a)return}return a&&(h=a?.index,void 0!==h&&(l=!0)),void 0===h&&Rr(s)&&(h=this.getColumn("x").indexOf(s,e)),-1!==h&&void 0!==h&&this.cropped&&(h=h>=r?h-r:h),!l&&Rr(h)&&o[h]?.touched&&(h=void 0),h}updateData(t,e){const{options:i,requireSorting:s}=this,o=i.dataSorting,n=this.points,r=[],a=t.length===n.length;let l,h,c,d,p=!0;if(this.xIncrement=null,t.forEach((t,e)=>{const h=Sr(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},{id:c,x:p}=h;let u;c||Rr(p)?(u=this.findPointIndex(h,d),-1===u||void 0===u?r.push(t):n[u]&&t!==i.data?.[u]?(n[u].update(t,!1,void 0,!1),n[u].touched=!0,s&&(d=u+1)):n[u]&&(n[u].touched=!0),(!a||e!==u||o?.enabled||this.hasDerivedData)&&(l=!0)):r.push(t)},this),l)for(h=n.length;h--;)c=n[h],c&&!c.touched&&c.remove?.(!1,e);else a&&!o?.enabled?(t.forEach((t,e)=>{t===n[e].y||n[e].destroyed||n[e].update(t,!1,void 0,!1)}),r.length=0):p=!1;if(n.forEach(t=>{t&&(t.touched=!1)}),!p)return!1;r.forEach(t=>{this.addPoint(t,!1,void 0,void 0,!1)},this);const u=this.getColumn("x");return null===this.xIncrement&&u.length&&(this.xIncrement=br(u),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){const o=this,n=o.points,r=n?.length||0,a=o.options,l=o.chart,h=a.dataSorting,c=o.xAxis,d=a.turboThreshold,p=this.dataTable,u=this.dataColumnKeys(),g=o.pointValKey||"y",m=(o.pointArrayMap||[]).length,f=a.keys;let x,y,b,v=0,w=1;l.options.chart.allowMutatingData||(a.data&&delete o.options.data,o.userOptions.data&&delete o.userOptions.data,b=zr(!0,t));const k=(t=b||t||[]).length;if(h?.enabled&&(t=this.sortData(t)),l.options.chart.allowMutatingData&&!1!==s&&k&&r&&!o.cropped&&!o.hasGroupedData&&o.visible&&!o.boosted&&(y=this.updateData(t,i)),!y){o.xIncrement=null,o.colorCounter=0;let e=d&&!a.relativeXValue&&k>d;if(e){const i=o.getFirstValidPoint(t),s=o.getFirstValidPoint(t,k-1,-1),n=t=>Boolean(Br(t)&&(f||Rr(t[0])));if(Rr(i)&&Rr(s)){const e=[],i=[];for(const s of t)e.push(this.autoIncrement()),i.push(s);p.setColumns({x:e,[g]:i})}else if(n(i)&&n(s))if(m){const e=i.length===m?1:0,s=new Array(u.length).fill(0).map(()=>[]);for(const i of t){e&&s[0].push(this.autoIncrement());for(let t=e;t<=m;t++)s[t]?.push(i[t-e])}p.setColumns(u.reduce((t,e,i)=>(t[e]=s[i],t),{}))}else{f&&(v=f.indexOf("x"),w=f.indexOf("y"),v=v>=0?v:0,w=w>=0?w:1),1===i.length&&(w=0);const e=[],s=[];if(v===w)for(const i of t)e.push(this.autoIncrement()),s.push(i[w]);else for(const i of t)e.push(i[v]),s.push(i[w]);p.setColumns({x:e,[g]:s})}else e=!1}if(!e){const e=u.reduce((t,e)=>(t[e]=[],t),{});for(x=0;x<k;x++){const i=o.pointClass.prototype.applyOptions.apply({series:o},[t[x]]);for(const t of u)e[t][x]=i[t]}p.setColumns(e)}for(Fr(this.getColumn("y")[0])&&Er(14,!0,l),o.data=[],o.options.data=o.userOptions.data=t,x=r;x--;)n[x]?.destroy();c&&(c.minRange=c.userMinRange),o.isDirty=l.isDirtyBox=!0,o.isDirtyData=!!n,i=!1}"point"===a.legendType&&(this.processData(),this.generatePoints()),e&&l.redraw(i)}sortData(t){const e=this,i=e.options.dataSorting.sortKey||"y",s=function(t,e){return Sr(e)&&t.pointClass.prototype.optionsToObject.call({series:t},e)||{}};t.forEach(function(i,o){t[o]=s(e,i),t[o].index=o},this);return t.concat().sort((t,e)=>{const s=Nr(i,t),o=Nr(i,e);return o<s?-1:o>s?1:0}
1).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){const i=e.options,o=i.data;!i.dataSorting?.enabled&&o&&(o.forEach(function(i,n){o[n]=s(e,i),t[n]&&(o[n].x=t[n].x,o[n].index=n)}),e.setData(o,!1))}),t}getProcessedData(t){const e=this,{dataTable:i,isCartesian:s,options:o,xAxis:n}=e,r=o.cropThreshold,a=t||e.getExtremesFromAll,l=n?.logarithmic,h=i.rowCount;let c,d,p,u,g,m=0,f=e.getColumn("x"),x=i,y=!1;n&&(p=n.getExtremes(),u=p.min,g=p.max,y=!(!n.categories||n.names.length),s&&e.sorted&&!a&&(!r||h>r||e.forceCrop)&&(f[h-1]<u||f[0]>g?x=new Qn:e.getColumn(e.pointValKey||"y").length&&(f[0]<u||f[h-1]>g)&&(c=this.cropData(i,u,g),x=c.modified,m=c.start,d=!0))),f=x.getColumn("x")||[];return{modified:x,cropped:d,cropStart:m,closestPointRange:Dr([l?f.map(l.log2lin):f],()=>e.requireSorting&&!y&&Er(15,!1,e.chart))}}processData(t){const e=this,i=e.xAxis,s=e.dataTable;if(e.isCartesian&&!e.isDirty&&!i.isDirty&&!e.yAxis.isDirty&&!t)return!1;const o=e.getProcessedData();s.modified=o.modified,e.cropped=o.cropped,e.cropStart=o.cropStart,e.closestPointRange=e.basePointRange=o.closestPointRange,Lr(e,"afterProcessData")}cropData(t,e,i){const s=t.getColumn("x",!0)||[],o=s.length,n={};let r,a,l=0,h=o;for(r=0;r<o;r++)if(s[r]>=e){l=Math.max(0,r-1);break}for(a=r;a<o;a++)if(s[a]>i){h=a+1;break}for(const c of this.dataColumnKeys()){const e=t.getColumn(c,!0);e&&(n[c]=e.slice(l,h))}return{modified:new Qn({columns:n}),start:l,end:h}}generatePoints(){const t=this,e=t.options,i=t.processedData||e.data,s=t.dataTable.modified,o=t.getColumn("x",!0),n=t.pointClass,r=s.rowCount,a=t.cropStart||0,l=t.hasGroupedData,h=e.keys,c=[],d=e.dataGrouping?.groupAll?a:0,p=t.xAxis?.categories,u=t.pointArrayMap||["y"],g=this.dataColumnKeys();let m,f,x,y,b,v=t.data;if(!v&&!l){const e=[];e.length=i?.length||0,v=t.data=e}for(h&&l&&(t.options.keys=!1),y=0;y<r;y++)f=a+y,l?(x=new n(t,s.getRow(y,g)||[]),x.dataGroup=t.groupMap[d+y],x.dataGroup?.options&&(x.options=x.dataGroup.options,Pr(x,x.dataGroup.options),delete x.dataLabels)):(x=v[f],b=i?i[f]:s.getRow(y,u),x||void 0===b||(v[f]=x=new n(t,b,o[y]))),x&&(x.index=l?d+y:f,c[y]=x,x.category=p?.[x.x]??x.x,x.key=x.name??x.category);if(t.options.keys=h,v&&(r!==(m=v.length)||l))for(y=0;y<m;y++)y!==a||l||(y+=r),v[y]&&(v[y].destroyElements(),v[y].plotX=void 0);t.data=v,t.points=c,Lr(this,"afterGeneratePoints")}getXExtremes(t){return{min:vr(t),max:br(t)}}getExtremes(t,e){const{xAxis:i,yAxis:s}=this,o=e||this.getExtremesFromAll||this.options.getExtremesFromAll,n=o&&this.cropped?this.dataTable:this.dataTable.modified,r=n.rowCount,a=t||this.stackedYData,l=a?[a]:(this.keysAffectYAxis||this.pointArrayMap||["y"])?.map(t=>n.getColumn(t,!0)||[])||[],h=this.getColumn("x",!0),c=[],d=this.requireSorting&&!this.is("column")?1:0,p=!!s&&s.positiveValuesOnly,u=o||this.cropped||!i;let g,m,f,x=0,y=0;for(i&&(g=i.getExtremes(),x=g.min,y=g.max),f=0;f<r;f++)if(m=h[f],u||(h[f+d]||m)>=x&&(h[f-d]||m)<=y)for(const t of l){const e=t[f];Rr(e)&&(e>0||!p)&&c.push(e)}const b={activeYData:c,dataMin:vr(c),dataMax:br(c)};return Lr(this,"afterGetExtremes",{dataExtremes:b}),b}applyExtremes(){const t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){const s=t.length;let o=e;for(;o>=0&&o<s;){if(Sr(t[o]))return t[o];o+=i}}translate(){this.generatePoints();const t=this,e=t.options,i=e.stacking,s=t.xAxis,o=t.enabledDataSorting,n=t.yAxis,r=t.points,a=r.length,l=t.pointPlacementToXValue(),h=Boolean(l),c=e.threshold,d=e.startFromThreshold?c:0,p=e?.nullInteraction&&n.len;let u,g,m,f,x=Number.MAX_VALUE;function y(t){return wr(t,-1e9,1e9)}for(u=0;u<a;u++){const e=r[u],a=e.x;let b,v,w=e.y,k=e.low;const T=i&&n.stacking?.stacks[(t.negStacks&&w<(d?0:c)?"-":"")+t.stackKey];let S;g=s.translate(a,!1,!1,!1,!0,l),e.plotX=Rr(g)?kr(y(g)):void 0,i&&t.visible&&T&&T[a]&&(f=t.getStackIndicator(f,a,t.index),!e.isNull&&f.key&&(b=T[a],v=b.points[f.key]),b&&Br(v)&&(k=v[0],w=v[1],k===d&&f.key===T[a].base&&(k=Wr(Rr(c)?c:n.min)),n.positiveValuesOnly&&Sr(k)&&k<=0&&(k=void 0),e.total=e.stackTotal=Wr(b.total),e.percentage=Sr(e.y)&&b.total?e.y/b.total*100:void 0,e.stackY=w,t.irregularWidths||b.setOffset(t.pointXOffset||0,t.barW||0,void 0,void 0,void 0,t.xAxis))),e.yBottom=Sr(k)?y(n.translate(k,!1,!0,!1,!0)):void 0,t.dataModify&&(w=t.dataModify.modifyValue(w,u)),Rr(w)&&void 0!==e.plotX?(S=n.translate(w,!1,!0,!1,!0),S=Rr(S)?y(S):void 0):!Rr(w)&&p&&(S=p),e.plotY=S,e.isInside=this.isPointInside(e),e.clientX=h?kr(s.translate(a,!1,!1,
1!1,!0,l)):g,e.negative=(e.y||0)<(c||0),e.isNull||!1===e.visible||(void 0!==m&&(x=Math.min(x,Math.abs(g-m))),m=g),e.zone=this.zones.length?e.getZone():void 0,!e.graphic&&t.group&&o&&(e.isNew=!0)}t.closestPointRangePx=x,Lr(this,"afterTranslate")}getValidPoints(t,e,i){const s=this.chart;return(t||this.points||[]).filter(function(t){const{plotX:o,plotY:n}=t;return!(!i&&(t.isNull||!Rr(n))||e&&!s.isInsidePlot(o,n,{inverted:s.inverted}))&&!1!==t.visible})}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){const{chart:t,group:e,markerGroup:i}=this,s=t.sharedClips,o=t.renderer,n=t.getClipBox(this),r=this.getSharedClipKey();let a=s[r];a?a.animate(n):s[r]=a=o.clipRect(n),e&&e.clip(!1===this.options.clip?void 0:a),i&&i.clip()}animate(t){const{chart:e,group:i,markerGroup:s}=this,o=e.inverted,n=dr(this.options.animation),r=[this.getSharedClipKey(),n.duration,n.easing,n.defer].join(",");let a=e.sharedClips[r],l=e.sharedClips[r+"m"];if(t&&i){const t=e.getClipBox(this);if(a)a.attr("height",t.height);else{t.width=0,o&&(t.x=e.plotHeight),a=e.renderer.clipRect(t),e.sharedClips[r]=a;const i={x:-99,y:-99,width:o?e.plotWidth+199:99,height:o?99:e.plotHeight+199};l=e.renderer.clipRect(i),e.sharedClips[r+"m"]=l}i.clip(a),s?.clip(l)}else if(a&&!a.hasClass("highcharts-animating")){const t=e.getClipBox(this),i=n.step;(s?.element.childNodes.length||e.series.length>1)&&(n.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&l?.element&&l.attr(o?"height":"width",t+99)}),a.addClass("highcharts-animating").animate(t,n)}}afterAnimate(){this.setClip(),Hr(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,Lr(this,"afterAnimate")}drawPoints(t=this.points){const e=this,i=e.chart,s=i.styledMode,{colorAxis:o,options:n}=e,r=n.marker,a=n.nullInteraction,l=e[e.specialGroup||"markerGroup"],h=e.xAxis,c=Wr(r.enabled,!(h&&!h.isRadial)||null,e.closestPointRangePx>=r.enabledThreshold*r.radius);let d,p,u,g,m,f,x;if(!1!==r.enabled||e._hasPointMarkers)for(d=0;d<t.length;d++){p=t[d],u=p.graphic,g=u?"animate":"attr",m=p.marker||{},f=!!p.marker;const n=p.isNull;if((c&&!Sr(m.enabled)||m.enabled)&&(!n||a)&&!1!==p.visible){const t=Wr(m.symbol,e.symbol,"rect");x=e.markerAttribs(p,p.selected&&"select"),e.enabledDataSorting&&(p.startXPos=h.reversed?-(x.width||0):h.width);const n=!1!==p.isInside;if(!u&&n&&((x.width||0)>0||p.hasImage)&&(p.graphic=u=i.renderer.symbol(t,x.x,x.y,x.width,x.height,f?m:r).add(l),e.enabledDataSorting&&i.hasRendered&&(u.attr({x:p.startXPos}),g="animate")),u&&"animate"===g&&u[n?"show":"hide"](n).animate(x),u){const t=e.pointAttribs(p,s||!p.selected?void 0:"select");s?o&&u.css({fill:t.fill}):u[g](t)}u&&u.addClass(p.getClassName(),!0)}else u&&(p.graphic=u.destroy())}}markerAttribs(t,e){const i=this.options,s=i.marker,o=t.marker||{},n=o.symbol||s.symbol,r={};let a,l,h=Wr(o.radius,s?.radius);e&&(a=s.states[e],l=o.states&&o.states[e],h=Wr(l?.radius,a?.radius,h&&h+(a?.radiusPlus||0))),t.hasImage=n&&0===n.indexOf("url"),t.hasImage&&(h=0);const c=t.pos();return Rr(h)&&c&&(i.crisp&&(c[0]=Tr(c[0],t.hasImage?0:"rect"===n?s?.lineWidth||0:1)),r.x=c[0]-h,r.y=c[1]-h),h&&(r.width=r.height=2*h),r}pointAttribs(t,e){const i=this.options,s=i.marker,o=t?.options,n=o?.marker||{},r=o?.color,a=t?.color,l=t?.zone?.color;let h,c,d,p,u=this.color,g=Wr(n.lineWidth,s.lineWidth),m=t?.isNull&&i.nullInteraction?0:1;return u=r||l||a||u,d=n.fillColor||s.fillColor||u,p=n.lineColor||s.lineColor||u,(e=e||"normal")&&(h=s.states[e]||{},c=n.states&&n.states[e]||{},g=Wr(c.lineWidth,h.lineWidth,g+Wr(c.lineWidthPlus,h.lineWidthPlus,0)),d=c.fillColor||h.fillColor||d,p=c.lineColor||h.lineColor||p,m=Wr(c.opacity,h.opacity,m)),{stroke:p,"stroke-width":g,fill:d,opacity:m}}destroy(t){const e=this,i=e.chart,s=/AppleWebKit\/533/.test(fr.navigator.userAgent),o=e.data||[];let n,r,a;for(Lr(e,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(e.axisTypes||[]).forEach(function(t){a=e[t],a?.series&&(Cr(a.series,e),a.isDirty=a.forceRedraw=!0)}),e.legendItem&&e.chart.legend.destroyItem(e),r=o.length;r--;)o[r]?.destroy?.();for(const l of e.zones)Mr(l,void 0,!0);C.clearTimeout(e.animationTimeout),Hr(e,function(t,e){t instanceof Xe&&!t.survive&&(n=s&&"group"===e?"hide":"destroy",t[n]())}),i.hoverSeries===e&&(i.hoverSeries=void 0),Cr(i.series,e),i.orderItems("series"),Hr(e,function(i,s){t&&"hcEvents"===s||delete e[s]})}applyZones(){const{area:t,chart:e,graph:i,zones:s,points:o,xAxis:n,yAxis:r,zoneAxis:a}=this,{inverted:l,renderer:h}=e,c=this[`${a}Axis`],{isXAxis:d,len:p=0,minPointOffset:u=0}=c||{},g=(i?.strokeWidth()||0)/2+1,m=(t,e=0,i=0)=>{l&&(i=p-i);const{translated:s=0,lineClip:o}=t,n=i-s;o?.push(["L",e,Math.abs(n)<g?i-g*(n<=0?-1:1):s])};if(s.length&&(i||t)&&c&&Rr(c.min)){const e=c.getExtremes().max+u,g=t=>{t.forEach((e,i)=>{"M"!==e[0]&&"L"!==e[0]||(t[i]=[e[0],d?p-e[1]:e[1],d?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=wr(c.toPixels(Wr(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===a&&o.length<n.len)for(const t of o){const{plotX:e,plotY:i,zone:o}=t,n=o&&s[s.indexOf(o)-1];o&&m(o,e,i),n&&m(n,e,i)}let f=[],x=c.toPixels(c.getExtremes().min-u,!0);
vendor: 4,443 bytes, line 1
1s.forEach(e=>{const s=e.lineClip||[],o=Math.round(e.translated||0);n.reversed&&s.reverse();let{clip:a,simpleClip:c}=e,p=0,u=0,m=n.len,y=r.len;d?(p=o,m=x):(u=o,y=x);const b=[["M",p,u],["L",m,u],["L",m,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...f,b[3],b[4]];f=s.reverse(),x=o,l&&(g(v),t&&g(b)),a?(a.animate({d:v}),c?.animate({d:b})):(a=e.clip=h.path(v),t&&(c=e.simpleClip=h.path(b))),i&&e.graph?.clip(a),t&&e.area?.clip(c)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let n=this[t];const r=!n,a={visibility:i,zIndex:s||.1};return Sr(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(a.opacity=this.opacity),n||(this[t]=n=this.chart.renderer.g().add(o)),n.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(Sr(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(n.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),n.attr(a)[r?"attr":"animate"](this.getPlotBox(e)),n}getPlotBox(t){let e=this.xAxis,i=this.yAxis;const s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;s.inverted&&(e=i,i=this.xAxis);const n={scale:1,translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,name:t};Lr(this,"getPlotBox",n);const{scale:r,translateX:a,translateY:l}=n;return{translateX:a,translateY:l,rotation:o?90:0,rotationOriginX:o?r*(e.len-i.len)/2:0,rotationOriginY:o?r*(e.len+i.len)/2:0,scaleX:o?-r:r,scaleY:r}}removeEvents(t){const{eventsToUnbind:e}=this;t||Gr(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){const t=this,{chart:e,options:i,hasRendered:s}=t,o=dr(i.animation),n=t.visible?"inherit":"hidden",r=i.zIndex,a=e.seriesGroup;let l=t.finishedAnimating?0:o.duration;Lr(this,"render"),t.plotGroup("group","series",n,r,a),t.markerGroup=t.plotGroup("markerGroup","markers",n,r,a),!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=Xr(()=>{t.afterAnimate()},l||0)),t.isDirty=!1,t.hasRendered=!0,Lr(t,"afterRender")}redraw(){const 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){const{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;const e=this,i=e.options,s=i.findNearestPointBy.indexOf("y")>-1?2:1;function o(t,i,s){const n=t?.length;let r,a;if(n)return r=e.kdAxisArray[i%s],t.sort((t,e)=>(t[r]||0)-(e[r]||0)),a=Math.floor(n/2),{point:t[a],left:o(t.slice(0,a),i+1,s),right:o(t.slice(a+1),i+1,s)}}delete e.kdTree,Xr(function(){e.kdTree=o(e.getValidPoints(void 0,!e.directTouch,i?.nullInteraction),s,s),e.buildingKdTree=!1},i.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,e,i,s,o){const n=this,[r,a]=this.kdAxisArray,l=e?"distX":"dist",h=(n.options.findNearestPointBy||"").indexOf("y")>-1?2:1,c=!!n.isBubble,d=s||((t,e,i)=>{const s=t[i]||0,o=e[i]||0;return[s===o&&t.index>e.index||s<o?t:e,!1]}),p=o||((t,e)=>t<e);if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,o){const h=i.point,u=n.kdAxisArray[s%o];let g=h,m=!1;!function(t,e){const i=t[r],s=e[r],o=Sr(i)&&Sr(s)?i-s:null,n=t[a],l=e[a],h=Sr(n)&&Sr(l)?n-l:0,d=c&&e.marker?.radius||0;e.dist=Math.sqrt((o&&o*o||0)+h*h)-d,e.distX=Sr(o)?Math.abs(o)-d:Number.MAX_VALUE}(e,h);const f=(e[u]||0)-(h[u]||0)+(c&&h.marker?.radius||0),x=f<0?"left":"right",y=f<0?"right":"left";if(i[x]&&([g,m]=d(h,t(e,i[x],s+1,o),l)),i[y]){const n=Math.sqrt(f*f),r=g[l];p(n,r,m)&&(g=d(g,t(e,i[y],s+1,o),l)[0])}return g}(t,this.kdTree,h,h)}pointPlacementToXValue(){const{options:t,xAxis:e}=this;let i=t.pointPlacement;return"between"===i&&(i=e.reversed?-.5:.5),Rr(i)?i*(t.pointRange||e.pointRange):0}isPointInside(t){const{chart:e,xAxis:i,yAxis:s}=this,{plotX:o=-1,plotY:n=-1}=t;return n>=0&&n<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){const t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,n=o.pointer,r=o.renderer,a=o.options.tooltip?.snap||0,l=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},h="rgba(192,192,192,"+(mr?1e-4:.002)+")";
1let c=t.tracker;c?c.attr({d:s}):t.graph&&(t.tracker=c=r.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||c.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:h,fill:i?h:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",t=>{n?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",l))})),Lr(this,"afterDrawTracker")}addPoint(t,e,i,s,o){const n=this,r=n.options,{chart:a,data:l,dataTable:h,xAxis:c}=n,d=c?.hasNames&&c.names,p=r.data,u=n.getColumn("x");let g,m;e=Wr(e,!0);const f={series:n};n.pointClass.prototype.applyOptions.apply(f,[t]);const x=f.x;if(m=u.length,n.requireSorting&&x<u[m-1])for(g=!0;m&&u[m-1]>x;)m--;h.setRow(f,m,!0,{addColumns:!1}),d&&f.name&&(d[x]=f.name),p?.splice(m,0,t),(g||n.processedData)&&(n.data.splice(m,0,null),n.processData()),"point"===r.legendType&&n.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):([l,p].filter(Sr).forEach(t=>{t.shift()}),h.deleteRows(0))),!1!==o&&Lr(n,"addPoint",{point:f}),n.isDirty=!0,n.isDirtyData=!0,e&&a.redraw(s)}removePoint(t,e,i){const s=this,{chart:o,data:n,points:r,dataTable:a}=s,l=n[t],h=function(){[r?.length===n.length?r:void 0,n,s.options.data].filter(Sr).forEach(e=>{e.splice(t,1)}),a.deleteRows(t),l?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};pr(i,o),e=Wr(e,!0),l?l.firePointEvent("remove",null,h):h()}remove(t,e,i,s){const o=this,n=o.chart;function r(){o.destroy(s),n.isDirtyLegend=n.isDirtyBox=!0,n.linkSeries(s),Wr(t,!0)&&n.redraw(e)}!1!==i?Lr(o,"remove",null,r):r()}update(e,i){e=Ar(e,this.userOptions),Lr(this,"update",{options:e});const s=this,o=s.chart,n=s.userOptions,r=s.initialType||s.type,a=o.options.plotOptions,l=xr[r].prototype,h=s.finishedAnimating&&{animation:!1},c={};let d,p,u=t.keepProps.slice(),g=e.type||n.type||o.options.chart.type;
1const m=!(this.hasDerivedData||g&&g!==this.type||void 0!==e.keys||void 0!==e.pointStart||void 0!==e.pointInterval||void 0!==e.relativeXValue||e.joinBy||e.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>s.hasOptionChanged(t)));g=g||r,m?(u.push.apply(u,t.keepPropsForPoints),!1!==e.visible&&u.push("area","graph"),s.parallelArrays.forEach(function(t){u.push(t+"Data")}),e.data&&(e.dataSorting&&Pr(s.options.dataSorting,e.dataSorting),this.setData(e.data,!1))):this.dataTable.modified=this.dataTable,e=zr(n,{index:void 0===n.index?s.index:n.index,pointStart:a?.series?.pointStart??n.pointStart??s.getColumn("x")[0]},!m&&{data:s.options.data},e,h),m&&e.data&&(e.data=s.options.data),u=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(u),u.forEach(function(t){u[t]=s[t],delete s[t]});let f=!1;if(xr[g]){if(f=g!==s.type,s.remove(!1,!1,!1,!0),f)if(o.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(s,xr[g].prototype);else{const t=Object.hasOwnProperty.call(s,"hcEvents")&&s.hcEvents;for(p in l)s[p]=void 0;Pr(s,xr[g].prototype),t?s.hcEvents=t:delete s.hcEvents}}else Er(17,!0,o,{missingModuleFor:g});if(u.forEach(function(t){s[t]=u[t]}),s.init(o,e),m&&this.points){d=s.options,!1===d.visible?(c.graphic=1,c.dataLabel=1):(this.hasMarkerChanged(d,n)&&(c.graphic=1),s.hasDataLabels?.()||(c.dataLabel=1));for(const t of this.points)t?.series&&(t.resolveColor(),Object.keys(c).length&&t.destroyElements(c),!1===d.showInLegend&&t.legendItem&&o.legend.destroyItem(t))}s.initialType=r,o.linkSeries(),o.setSortedData(),f&&s.linkedSeries.length&&(s.isDirtyData=!0),Lr(this,"afterUpdate"),Wr(i,!0)&&o.redraw(!!m&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){const e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],n=Wr(s?.[this.type]?.[t],s?.series?.[t]);return o&&!Sr(n)?i!==o:i!==Wr(n,i)}onMouseOver(){const t=this,e=t.chart,i=e.hoverSeries,s=e.pointer;s?.setHoverChartIndex(),i&&i!==t&&i.onMouseOut(),t.options.events.mouseOver&&Lr(t,"mouseOver"),t.setState("hover"),e.hoverSeries=t}onMouseOut(){const t=this,e=t.options,i=t.chart,s=i.tooltip,o=i.hoverPoint;i.hoverSeries=null,o&&o.onMouseOut(),t&&e.events.mouseOut&&Lr(t,"mouseOut"),!s||t.stickyTracking||s.shared&&!t.noSharedTooltip||s.hide(),i.series.forEach(function(t){t.setState("",!0)})}setState(t,e){const i=this,s=i.options,o=i.graph,n=s.inactiveOtherPoints,r=s.states,a=Wr(r[t||"normal"]&&r[t||"normal"].animation,i.chart.options.chart.animation);let 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(r[t]&&!1===r[t].enabled)return;if(t&&(l=r[t].lineWidth||l+(r[t].lineWidthPlus||0),h=Wr(r[t].opacity,h)),o&&!o.dashstyle&&Rr(l))for(const t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":l},a);n||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:h},a)})}e&&n&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){const i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,n=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!n:t;const r=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[r]()}),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),Lr(i,r),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){const e=this;e.selected=t=this.options.selected=void 0===t?!e.selected:t,e.checkbox&&(e.checkbox.checked=t),Lr(e,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){or[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}};Yr.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){const{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"},Yr.types=cr.seriesTypes,Yr.registerType=cr.registerSeriesType,Yr.keepProps=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],Yr.keepPropsForPoints=["data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"],Pr(Yr.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:Sn,requireSorting:!0,sorted:!0}
1),cr.series=Yr;const{animObject:Ur,setAnimation:jr}=St,{registerEventOptions:Vr}=gs,{composed:qr,marginNames:$r}=t,{distribute:Kr}=he,{format:_r}=ee,{addEvent:Zr,createElement:Jr,css:Qr,defined:ta,discardElement:ea,find:ia,fireEvent:sa,isNumber:oa,merge:na,pick:ra,pushUnique:aa,relativeLength:la,stableSort:ha,syncTimeout:ca}=C;class da{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),Vr(this,e),Zr(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),Zr(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){const e=ra(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=na(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=ra(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){const i=this.chart;this.setOptions(na(!0,this.options,t)),"events"in this.options&&Vr(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,ra(e,!0)&&i.redraw(),sa(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){const i=t.color,{area:s,group:o,label:n,line:r,symbol:a}=t.legendItem||{};if((t instanceof Yr||t instanceof Sn)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){const{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:l,fillOpacity:h,lineColor:c,marker:d}=t.options,p=t=>(e||(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);n?.css(na(e?this.itemStyle:i)),r?.attr(p({stroke:c||t.color})),a&&a.attr(p(d&&a.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(p({fill:l||t.color,"fill-opacity":l?1:h??.75}))}t.color=i,sa(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){const e=this,{group:i,x:s=0,y:o=0}=t.legendItem||{},n=e.options,r=n.symbolPadding,a=!n.rtl,l=t.checkbox;if(i?.element){const n={translateX:a?s:e.legendWidth-s-2*r-4,translateY:o},l=()=>{sa(this,"afterPositionItem",{item:t})};i[ta(i.translateY)?"animate":"attr"](n,void 0,l)}l&&(l.x=s,l.y=o)}destroyItem(t){const e=t.legendItem||{};for(const i of["group","label","line","symbol"])e[i]&&(e[i]=e[i].destroy());t.checkbox=ea(t.checkbox),t.legendItem=void 0}destroy(){const t=this;for(const e of this.getAllItems())this.destroyItem(e);for(const e of["clipRect","up","down","pager","nav","box","title","group"])t[e]&&(t[e]=t[e].destroy());this.display=null}positionCheckboxes(){const t=this.group?.alignAttr,e=this.clipHeight||this.legendHeight,i=this.titleHeight;let s;t&&(s=t.translateY,this.allItems.forEach(function(o){const n=o.checkbox;let r;n&&(r=s+i+n.y+(this.scrollOffset||0)+3,Qr(n,{left:t.translateX+o.checkboxOffset+n.x-20+"px",top:r+"px",display:this.proximate||r>s-6&&r<s+e-6?"":"none"}))},this))}renderTitle(){const t=this.options,e=this.padding,i=t.title;let 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"}),s=this.title.getBBox(),o=s.height,this.offsetWidth=s.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o}setText(t){const e=this.options;t.legendItem.label.attr({text:e.labelFormat?_r(e.labelFormat,t,this.chart):e.labelFormatter.call(t)})}renderItem(t){const e=this,i=t.legendItem=t.legendItem||{},s=e.chart,o=s.renderer,n=e.options,r="horizontal"===n.layout,a=e.symbolWi
1dth,l=n.symbolPadding||0,h=e.itemStyle,c=e.itemHiddenStyle,d=r?ra(n.itemDistance,20):0,p=!n.rtl,u=!t.series,g=!u&&t.series.drawLegendSymbol?t.series:t,m=g.options,f=!!e.createCheckboxForItem&&m&&m.showCheckbox,x=n.useHTML,y=t.options.className;let b=i.label,v=a+l+d+(f?20:0);b||(i.group=o.g("legend-item").addClass("highcharts-"+g.type+"-series highcharts-color-"+t.colorIndex+(y?" "+y:"")+(u?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(e.scrollGroup),i.label=b=o.text("",p?a+l:-l,e.baseline||0,x),s.styledMode||b.css(na(t.visible?h:c)),b.attr({align:p?"left":"right",zIndex:2}).add(i.group),e.baseline||(e.fontMetrics=o.fontMetrics(b),e.baseline=e.fontMetrics.f+3+e.itemMarginTop,b.attr("y",e.baseline),e.symbolHeight=ra(n.symbolHeight,e.fontMetrics.f),n.squareSymbol&&(e.symbolWidth=ra(n.symbolWidth,Math.max(e.symbolHeight,16)),v=e.symbolWidth+l+d+(f?20:0),p&&b.attr("x",e.symbolWidth+l))),g.drawLegendSymbol(e,t),e.setItemEvents&&e.setItemEvents(t,b,x)),f&&!t.checkbox&&e.createCheckboxForItem&&e.createCheckboxForItem(t),e.colorizeItem(t,t.visible),!s.styledMode&&h.width||b.css({width:(n.itemWidth||e.widthOption||s.spacingBox.width)-v+"px"}),e.setText(t);const w=b.getBBox(),k=e.fontMetrics?.h||0;t.itemWidth=t.checkboxOffset=n.itemWidth||i.labelWidth||w.width+v,e.maxItemWidth=Math.max(e.maxItemWidth,t.itemWidth),e.totalItemWidth+=t.itemWidth,e.itemHeight=t.itemHeight=Math.round(i.labelHeight||(w.height>1.5*k?w.height:k))}layoutItem(t){const e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,n=this.itemMarginBottom,r=this.itemMarginTop,a=s?ra(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,c=t.legendItem||{};s&&this.itemX-i+h>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=r+this.lastLineHeight+n),this.lastLineHeight=0),this.lastItemY=r+this.itemY+n,this.lastLineHeight=Math.max(o,this.lastLineHeight),c.x=this.itemX,c.y=this.itemY,s?this.itemX+=h:(this.itemY+=r+o+n,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:a):h)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){const i=e?.options;e&&ra(i.showInLegend,!ta(i.linkedTo)&&void 0,!0)&&(t=t.concat(e.legendItem?.labels||("point"===i.legendType?e.data:e)))}),sa(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){const 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){const i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEac
vendor: 5,639 bytes, line 1
1h((n,r)=>{n.test(o)&&!ta(t[r])&&(i[$r[r]]=Math.max(i[$r[r]],i.legend[(r+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][r]*s[r%2?"x":"y"]+(s.margin??12)+e[r]+(i.titleOffset[r]||0)))})}proximatePositions(){const t=this.chart,e=[],i="left"===this.options.align;let s;this.allItems.forEach(function(s){let o,n,r,a,l=i;s.yAxis&&(s.xAxis.options.reversed&&(l=!l),s.points&&(o=ia(l?s.points:s.points.slice(0).reverse(),function(t){return oa(t.plotY)})),n=this.itemMarginTop+s.legendItem.label.getBBox().height+this.itemMarginBottom,a=s.yAxis.top-t.plotTop,s.visible?(r=o?o.plotY:s.yAxis.height,r+=a-.3*n):r=a+s.yAxis.height,e.push({target:r,size:n,item:s}))},this);for(const o of Kr(e,t.plotHeight))s=o.item.legendItem||{},oa(o.pos)&&(s.y=t.plotTop-t.spacing[0]+o.pos)}render(){const t=this,e=t.chart,i=e.renderer,s=t.options,o=t.padding,n=t.getAllItems();let r,a,l,h,c=t.group,d=t.box;t.itemX=o,t.itemY=t.initialItemY,t.offsetWidth=0,t.lastItemY=0,t.widthOption=la(s.width,e.spacingBox.width-o),h=e.spacingBox.width-2*o-s.x,["rm","lm"].indexOf(t.getAlignment().substring(0,2))>-1&&(h/=2),t.maxLegendWidth=t.widthOption||h,c||(t.group=c=i.g("legend").addClass(s.className||"").attr({zIndex:7}).add(),t.contentGroup=i.g().attr({zIndex:1}).add(c),t.scrollGroup=i.g().add(t.contentGroup)),t.renderTitle(),ha(n,(t,e)=>(t.options?.legendIndex||0)-(e.options?.legendIndex||0)),s.reversed&&n.reverse(),t.allItems=n,t.display=r=!!n.length,t.lastLineHeight=0,t.maxItemWidth=0,t.totalItemWidth=0,t.itemHeight=0,n.forEach(t.renderItem,t),n.forEach(t.layoutItem,t),a=(t.widthOption||t.offsetWidth)+o,l=t.lastItemY+t.lastLineHeight+t.titleHeight,l=t.handleOverflow(l),l+=o,d||(t.box=d=i.rect().addClass("highcharts-legend-box").attr({r:s.borderRadius}).add(c)),e.styledMode||d.attr({stroke:s.borderColor,"stroke-width":s.borderWidth||0,fill:s.backgroundColor||"none"}).shadow(s.shadow),a>0&&l>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:a,height:l},d.strokeWidth())),c[r?"show":"hide"](),e.styledMode&&"none"===c.getStyle("display")&&(a=l=0),t.legendWidth=a,t.legendHeight=l,r&&t.align(),this.proximate||this.positionItems(),sa(this,"afterRender")}align(t=this.chart.spacingBox){const e=this.chart,i=this.options;let 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=na(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(na(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){const e=this,i=this.chart,s=i.renderer,o=this.options,n=o.y,r="top"===o.verticalAlign,a=this.padding,l=o.maxHeight,h=o.navigation,c=ra(h.animation,!0),d=h.arrowSize||12,p=this.pages,u=this.allItems,g=function(t){"number"==typeof t?k.attr({height:t}):k&&(e.clipRect=k.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+a+"px,9999px,"+(a+t)+"px,0)":"auto")},m=function(t){return e[t]=s.circle(0,0,1.3*d).translate(d/2,d/2).add(w),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]};let f,x,y,b,v=i.spacingBox.height+(r?-n:n)-a,w=this.nav,k=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(v/=2),l&&(v=Math.min(v,l)),p.length=0,t&&v>0&&t>v&&!1!==h.enabled?(this.clipHeight=f=Math.max(v-20-this.titleHeight-a,0),this.currentPage=ra(this.currentPage,1),this.fullHeight=t,u.forEach((t,e)=>{y=t.legendItem||{};const i=y.y||0,s=Math.round(y.label.getBBox().height);let o=p.length;(!o||i-p[o-1]>f&&(x||i)!==p[o-1])&&(p.push(x||i),o++),y.pageIx=o-1,x&&b&&(b.pageIx=o-1),e===u.length-1&&i+s-p[o-1]>f&&i>p[o-1]&&(p.push(i),y.pageIx=o),i!==x&&(x=i),b=y}),k||(k=e.clipRect=s.clipRect(0,a-2,9999,0),e.contentGroup.clip(k)),g(f),w||(this.nav=w=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,d,d).add(w),m("upTracker").on("click",function(){e.scroll(-1,c)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&h.style&&this.pager.css(h.style),this.pager.add(w),this.down=s.symbol("triangle-down",0,0,d,d).add(w),m("downTracker").on("click",function(){e.scroll(1,c)})),e.scroll(0),t=v):w&&(g(),this.nav=w.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){const i=this.chart,s=this.pages,o=s.length,n=this.clipHeight,r=this.options.navigation,a=this.pager,l=this.padding;let h=this.currentPage+t;if(h>o&&(h=o),h>0){void 0!==e&&jr(e,i),this.nav.attr({translateX:l,translateY:n+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),a.attr({text:h+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:h===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===h?r.inactiveColor:r.activeColor}),this.upTracker.css({cursor:1===h?"default":"pointer"}),this.down.attr({fill:h===o?r.inactiveColor:r.activeColor}),this.downTracker.css({cursor:h===o?"default":"pointer"})),this.scrollOffset=-s[h-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=h,this.positionCheckboxes();const t=Ur(ra(e,i.renderer.globalAnimation,!0));ca(()=>{sa(this,"afterScroll",{currentPage:h})},t.duration)}}setItemEvents(t,e,i){const s=this,o=t.legendItem||{},n=s.chart.renderer.boxWrapper,r=t instanceof Sn,a=t instanceof Yr,l="highcharts-legend-"+(r?"point":"series")+"-active",h=s.chart.styledMode,c=i?[e,o.symbol]:[o.group],d=e=>
1{s.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!r)})})};for(const p of c)p&&p.on("mouseover",function(){t.visible&&d("inactive"),t.setState("hover"),t.visible&&n.addClass(l),h||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(na(t.visible?s.itemStyle:s.itemHiddenStyle)),d(""),n.removeClass(l),t.setState()}).on("click",function(e){n.removeClass(l),sa(s,"itemClick",{browserEvent:e,legendItem:t},function(){t.setVisible&&t.setVisible(),d(t.visible?"inactive":"")}),r?t.firePointEvent("legendItemClick",{browserEvent:e}):a&&sa(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=Jr("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),Zr(t.checkbox,"click",function(e){const i=e.target;sa(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}var pa;(pa=da||(da={})).compose=function(t){aa(qr,"Core.Legend")&&Zr(t,"beforeMargins",function(){this.legend=new pa(this,this.options.legend)})};const ua=da,{animate:ga,animObject:ma,setAnimation:fa}=St,{defaultOptions:xa}=Q,{numberFormat:ya}=ee,{registerEventOptions:ba}=gs,{charts:va,doc:wa,marginNames:ka,svg:Ta,win:Sa}=t,{seriesTypes:Ma}=cr,{addEvent:Aa,attr:Ca,createElement:Ea,css:Pa,defined:Oa,diffObjects:La,discardElement:Da,erase:Na,error:Ia,extend:Ba,find:Ra,fireEvent:Fa,getAlignFactor:za,getStyle:Ha,isArray:Wa,isNumber:Ga,isObject:Xa,isString:Ya,merge:Ua,objectEach:ja,pick:Va,pInt:qa,relativeLength:$a,removeEvent:Ka,splat:_a,syncTimeout:Za,uniqueKey:Ja}=C;class Qa{static chart(t,e,i){return new Qa(t,e,i)}constructor(t,e,i){this.sharedClips={};const s=[...arguments];(Ya(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){const t=this.options.chart,e=t.zooming;this.zooming={...e,type:Va(t.zoomType,e.type),key:Va(t.zoomKey,e.key),pinchType:Va(t.pinchType,e.pinchType),singleTouch:Va(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:Ua(e.resetButton,t.resetZoomButton)}}init(e,i){Fa(this,"init",{args:arguments},function(){const s=Ua(xa,e),o=s.chart,n=this.renderTo||o.renderTo;this.userOptions=Ba({},e),(this.renderTo=Ya(n)?wa.getElementById(n):n)||Ia(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=i,this.isResizing=0,this.options=s,this.axes=[],this.series=[],this.locale=s.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new q(Ba(s.time||{},{locale:this.locale}),s.lang),s.time=this.time.options,this.numberFormatter=(o.numberFormatter||ya).bind(this),this.styledMode=o.styledMode,this.hasCartesianSeries=o.showAxes;const r=this;r.index=va.length,va.push(r),t.chartCount++,ba(this,o),r.xAxis=[],r.yAxis=[],r.pointCount=r.colorCounter=r.symbolCounter=0,this.setZoomOptions(),Fa(r,"afterInit"),r.firstRender()})}initSeries(t){const e=this,i=e.options.chart,s=t.type||i.type,o=Ma[s];o||Ia(17,!0,e,{missingModuleFor:s});const n=new o;return"function"==typeof n.init&&n.init(e,t),n}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){const i=this[t],s=this.options[t]=_a(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?_a(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let n=e,r=i.length;n<r;++n){const t=i[n];t&&(t.index=n,t instanceof Yr&&(t.name=t.getName()),t.options.isInternal||(s[n]=t.options,o[n]=t.userOptions))}}getClipBox(t,e){const i=this.inverted,{xAxis:s,yAxis:o}=t||{};let{x:n,y:r,width:a,height:l}=Ua(this.clipBox);return t&&(s&&s.len!==this.plotSizeX&&(a=s.len),o&&o.len!==this.plotSizeY&&(l=o.len),i&&!t.invertible&&([a,l]=[l,a])),e&&(n+=(i?o:s)?.pos??this.plotLeft,r+=(i?s:o)?.pos??this.plotTop),{x:n,y:r,width:a,height:l}}isInsidePlot(t,e,i={}){const{inverted:s,plotBox:o,plotLeft:n,plotTop:r,scrollablePlotBox:a}=this,{scrollLeft:l=0,scrollTop:h=0}=i.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},c=i.series,d=i.visiblePlotOnly&&a||o,p=i.inverted?e:t,u=i.inverted?t:e,g={x:p,y:u,isInsidePlot:!0,options:i};if(!i.ignoreX){const t=c&&(s&&!this.polar?c.yAxis:c.xAxis)||{pos:n,len:1/0},e=i.paneCoordinates?t.pos+p:n+p;e>=Math.max(l+n,t.pos)&&e<=Math.min(l+n+d.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){const t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||c&&(s?c.xAxis:c.yAxis)||{pos:r,len:1/0},e=i.paneCoordinates?t.pos+u:r+u;e>=Math.max(h+r,t.pos)&&e<=Math.min(h+r+d.height,t.pos+t.len)||(g.isInsidePlot=!1)}return Fa(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){Fa(this,"beforeRedraw");const e=this,i=e.hasCartesianSeries?e.axes:e.colorAxis||[],s=e.series,o=e.pointer,n=e.legend,r=e.userOptions.legend,a=e.renderer,l=a.isHidden(),h=[];let c,d,p,u,g=e.isDirtyBox,m=e.isDirtyLegend;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),e.setResponsive&&e.setResponsive(!1),fa(!!e.hasRendered&&t,e),l&&e.temporaryDisplay(),e.layOutTitles(!1),p=s.length;p--;)if(u=s[p],(u.options.stacking||u.options.centerInCategory)&&(d=!0,u.isDirty)){c=!0;break}if(c)for(p=s.length;p--;)u=s[p],u.options.stacking&&(u.isDirty=!0);
1s.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),m=!0):r&&(r.labelFormatter||r.labelFormat)&&(m=!0)),t.isDirtyData&&Fa(t,"updatedData")}),m&&n&&n.options.enabled&&(n.render(),e.isDirtyLegend=!1),d&&e.getStacks(),i.forEach(function(t){t.updateNames(),t.setScale()}),e.getMargins(),i.forEach(function(t){t.isDirty&&(g=!0)}),i.forEach(function(t){const e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){Fa(t,"afterSetExtremes",Ba(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(g||d)&&t.redraw()}),g&&e.drawChartBox(),Fa(e,"predraw"),s.forEach(function(t){(g||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),o&&o.reset(!0),a.draw(),Fa(e,"redraw"),Fa(e,"render"),l&&e.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(t){const e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=Ra(this.axes,i)||Ra(this.series,i);for(let o=0;!s&&o<e.length;o++)s=Ra(e[o].points||[],i);return s}createAxes(){const t=this.userOptions;Fa(this,"createAxes");for(const e of["xAxis","yAxis"]){const i=t[e]=_a(t[e]||{});for(const t of i)new oo(this,t,e)}Fa(this,"afterCreateAxes")}getSelectedPoints(){return this.series.reduce((t,e)=>(e.getPointsCollection().forEach(e=>{Va(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){const i=this,s=this.options[t]=Ua(this.options[t],e);let o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&(o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add(),o.update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(Ba("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){const e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(t=>{const i=this[t],n=this.options[t],r=Ua(o),a=i?.textPxLength||0;if(i&&n){Fa(this,"layOutTitle",{alignTo:r,key:t,textPxLength:a});const o=s.fontMetrics(i),l=o.b,h=o.h,c=n.verticalAlign||"top",d="top"===c,p=d&&n.minScale||1,u="title"===t?d?-3:0:d?e[0]+2:0,g=Math.min(r.width/a,1),m=Math.max(p,g),f=Ua({y:"bottom"===c?l:u+l},{align:"title"===t?g<p?"left":"center":this.title?.alignValue},n),x=(n.width||(g>p?this.chartWidth:r.width)/m)+"px";i.alignValue!==f.align&&(i.placed=!1);const y=Math.round(i.css({width:x}).getBBox(n.useHTML).height);if(f.height=y,i.align(f,!1,r).attr({align:f.align,scaleX:m,scaleY:m,"transform-origin":`${r.x+a*m*za(f.align)} ${h}`}),!n.floating){const t=y*(y<1.2*h?1:m);"top"===c?e[0]=Math.ceil(e[0]+t):"bottom"===c&&(e[2]=Math.ceil(e[2]+t))}}},this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&"bottom"===i.caption?.verticalAlign&&(e[2]+=i.caption?.margin||0);const n=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,Fa(this,"afterLayOutTitles"),!this.isDirtyBox&&n&&(this.isDirtyBox=this.isDirtyLegend=n,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){const t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){const e=t.style.display;return t.style.display="none",[t,e]}}),e={width:Ha(this.renderTo,"width",!0)||0,height:Ha(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){const t=this,e=t.options.chart,i=e.width,s=e.height,o=t.getContainerBox(),n=o.height<=1||!t.renderTo.parentElement?.style.height&&"100%"===t.renderTo.style.height;t.chartWidth=Math.max(0,i||o.width||600),t.chartHeight=Math.max(0,$a(s,t.chartWidth)||(n?400:o.height)),t.containerBox=o}temporaryDisplay(t){let e,i=this.renderTo;if(t)for(;i?.style;)i.hcOrigStyle&&(Pa(i,i.hcOrigStyle),delete i.hcOrigStyle),i.hcOrigDetached&&(wa.body.removeChild(i),i.hcOrigDetached=!1),i=i.parentNode;else for(;i?.style&&(wa.body.contains(i)||i.parentNode||(i.hcOrigDetached=!0,wa.body.appendChild(i)),("none"===Ha(i,"display",!1)||i.hcOricDetached)&&(i.hcOrigStyle={display:i.style.display,height:i.style.height,overflow:i.style.overflow},e={display:"block",overflow:"hidden"},i!==this.renderTo&&(e.height=0),Pa(i,e),i.offsetWidth||i.style.setProperty("display","block","important")),i=i.parentNode,i!==wa.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){const t=this,e=t.options,i=e.chart,s="data-highcharts-chart",o=Ja(),n=t.renderTo;let r;const a=qa(Ca(n,s));Ga(a)&&va[a]&&va[a].hasRendered&&va[a].destroy(),Ca(n,s,t.index),n.innerHTML=zt.emptyHTML,i.skipClone||n.offsetWidth||t.temporaryDisplay(),t.getChartSize();const l=t.chartHeight;let h=t.chartWidth;Pa(n,{overflow:"hidden"}
1),t.styledMode||(r=Ba({position:"relative",overflow:"hidden",width:h+"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"},i.style||{}));const c=Ea("div",{id:o},r,n);t.container=c,t.getChartSize(),h!==t.chartWidth&&(h=t.chartWidth,t.styledMode||Pa(c,{width:Va(i.style?.width,h+"px")})),t.containerBox=t.getContainerBox(),t._cursor=c.style.cursor;const d=i.renderer||!Ta?se.getRendererType(i.renderer):Ui;if(t.renderer=new d(c,h,l,void 0,i.forExport,e.exporting?.allowHTML,t.styledMode),fa(void 0,t),t.setClassName(i.className),t.styledMode)for(const p in e.defs)this.renderer.definition(e.defs[p]);else t.renderer.setStyle(i.style);t.renderer.chartIndex=t.index,Fa(this,"afterGetContainer")}getMargins(t){const{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!Oa(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!Oa(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend?.display&&this.legend.adjustMargins(i,e),Fa(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){const t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=t=>{t.forEach(t=>{t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i?.length&&o(i),ka.forEach((i,o)=>{Oa(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return La(this.userOptions,xa)}reflow(t){const e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.exporting?.isPrinting&&!e.isResizing&&i&&s.width&&(s.width===i.width&&s.height===i.height||(C.clearTimeout(e.reflowTimeout),e.reflowTimeout=Za(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=s)}setReflow(){const t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{const t=Aa(Sa,"resize",e);Aa(this,"destroy",t)}}setSize(t,e,i){const s=this,o=s.renderer;s.isResizing+=1,fa(i,s);const n=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();const{chartWidth:r,chartHeight:a,scrollablePixelsX:l=0,scrollablePixelsY:h=0}=s;(s.isDirtyBox||r!==s.oldChartWidth||a!==s.oldChartHeight)&&(s.styledMode||(n?ga:Pa)(s.container,{width:`${r+l}px`,height:`${a+h}px`},n),s.setChartSize(!0),o.setSize(r,a,n),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(n),s.oldChartHeight=void 0,Fa(s,"resize"),setTimeout(()=>{s&&Fa(s,"endResize")},ma(n).duration)),s.isResizing-=1}setChartSize(t){const e=this,{chartHeight:i,chartWidth:s,inverted:o,spacing:n,renderer:r}=e,a=e.clipOffset,l=Math[o?"floor":"round"];let h,c,d,p;e.plotLeft=h=Math.round(e.plotLeft),e.plotTop=c=Math.round(e.plotTop),e.plotWidth=d=Math.max(0,Math.round(s-h-(e.marginRight??0))),e.plotHeight=p=Math.max(0,Math.round(i-c-(e.marginBottom??0))),e.plotSizeX=o?p:d,e.plotSizeY=o?d:p,e.spacingBox=r.spacingBox={x:n[3],y:n[0],width:s-n[3]-n[1],height:i-n[0]-n[2]},e.plotBox=r.plotBox={x:h,y:c,width:d,height:p},a&&(e.clipBox={x:l(a[3]),y:l(a[0]),width:l(e.plotSizeX-a[1]-a[3]),height:l(e.plotSizeY-a[0]-a[2])}),t||(e.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),r.alignElements()),Fa(e,"afterSetChartSize",{skipAxes:t})}resetMargins(){Fa(this,"resetMargins");const t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=Math.round(i)/2;["margin","spacing"].forEach(i=>{const s=e[i],o=Xa(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach((s,n)=>{t[i][n]=e[`${i}${s}`]??o[n]})}),ka.forEach((e,i)=>{t[e]=t.margin[i]??t.spacing[i]}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){const t=this,e=t.options.chart,i=t.renderer,s=t.chartWidth,o=t.chartHeight,n=t.styledMode,r=t.plotBGImage,a=e.backgroundColor,l=e.plotBackgroun
1dColor,h=e.plotBackgroundImage,c=t.plotLeft,d=t.plotTop,p=t.plotWidth,u=t.plotHeight,g=t.plotBox,m=t.clipRect,f=t.clipBox;let x,y,b,v=t.chartBackground,w=t.plotBackground,k=t.plotBorder,T="animate";v||(t.chartBackground=v=i.rect().addClass("highcharts-background").add(),T="attr"),n?x=y=v.strokeWidth():(x=e.borderWidth||0,y=x+(e.shadow?8:0),b={fill:a||"none"},(x||v["stroke-width"])&&(b.stroke=e.borderColor,b["stroke-width"]=x),v.attr(b).shadow(e.shadow)),v[T]({x:y/2,y:y/2,width:s-y-x%2,height:o-y-x%2,r:e.borderRadius}),T="animate",w||(T="attr",t.plotBackground=w=i.rect().addClass("highcharts-plot-background").add()),w[T](g),n||(w.attr({fill:l||"none"}).shadow(e.plotShadow),h&&(r?(h!==r.attr("href")&&r.attr("href",h),r.animate(g)):t.plotBGImage=i.image(h,c,d,p,u).add())),m?m.animate({width:f.width,height:f.height}):t.clipRect=i.clipRect(f),T="animate",k||(T="attr",t.plotBorder=k=i.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),n||k.attr({stroke:e.plotBorderColor,"stroke-width":e.plotBorderWidth||0,fill:"none"}),k[T](k.crisp(g,-k.strokeWidth())),t.isDirtyBox=!1,Fa(this,"afterDrawChartBox")}propFromSeries(){const t=this,e=t.options.chart,i=t.options.series;let s,o,n;["inverted","angular","polar"].forEach(function(r){for(o=Ma[e.type],n=e[r]||o&&o.prototype[r],s=i?.length;!n&&s--;)o=Ma[i[s].type],o&&o.prototype[r]&&(n=!0);t[r]=n})}linkSeries(t){const e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){const{linkedTo:i}=t.options;if(Ya(i)){let s;s=":previous"===i?e.series[t.index-1]:e.get(i),s&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=Va(t.options.visible,s.options.visible,t.visible))}}),Fa(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){const t=this,e=t.axes,i=t.colorAxis,s=t.renderer,o=t.options.chart.axisLayoutRuns||2,n=t=>{t.forEach(t=>{t.visible&&t.render()})};let r,a=0,l=!0,h=0;t.setTitle(),Fa(t,"beforeMargins"),t.getStacks?.(),t.getMargins(!0),t.setChartSize();for(const c of e){const{options:e}=c,{labels:i}=e;if(t.hasCartesianSeries&&c.horiz&&c.visible&&i.enabled&&c.series.length&&"colorAxis"!==c.coll&&!t.polar){a=e.tickLength,c.createGroups();const t=new Cs(c,0,"",!0),s=t.createLabel("x",i);if(t.destroy(),s&&Va(i.reserveSpace,!Ga(e.crossing))&&(a=s.getBBox().height+i.distance+Math.max(e.offset||0,0)),a){s?.destroy();break}}}for(t.plotHeight=Math.max(t.plotHeight-a,0);(l||r||o>1)&&h<o;){const i=t.plotWidth,s=t.plotHeight;for(const t of e)0===h?t.setScale():(t.horiz&&l||!t.horiz&&r)&&t.setTickInterval(!0);0===h?t.getAxisMargins():t.getMargins(),l=i/t.plotWidth>(h?1:1.1),r=s/t.plotHeight>(h?1:1.05),h++}t.drawChartBox(),t.hasCartesianSeries?n(e):i?.length&&n(i),t.seriesGroup||(t.seriesGroup=s.g("series-group").attr({zIndex:3}).shadow(t.options.chart.seriesGroupShadow).add()),t.dataLabelsGroup||(t.dataLabelsGroup=s.g("datalabels-group").attr({zIndex:6}).add()),t.renderSeries(),t.addCredits(),t.setResponsive&&t.setResponsive(),t.hasRendered=!0}addCredits(t){const e=this,i=Ua(!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&&(Sa.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(){const e=this,i=e.axes,s=e.series,o=e.container,n=o?.parentNode;let r;for(Fa(e,"destroy"),e.renderer.forExport?Na(va,e):va[e.index]=void 0,t.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),Ka(e),r=i.length;r--;)i[r]=i[r].destroy();for(this.scroller?.destroy?.(),r=s.length;r--;)s[r]=s[r].destroy();
vendor: 8,324 bytes, line 1
1["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(t=>{e[t]=e[t]?.destroy?.()}),o&&(o.innerHTML=zt.emptyHTML,Ka(o),n&&Da(o)),ja(e,function(t,i){delete e[i]})}firstRender(){const t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();const i=Wa(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),Fa(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),Fa(this,"load"),Fa(this,"render"),Oa(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){const{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(e?.element.textContent||"").replace(/</g,"&lt;")}),t.accessibility&&!1===t.accessibility.enabled||Ia('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){const s=this;let o;return t&&(e=Va(e,!0),Fa(s,"addSeries",{options:t},function(){o=s.initSeries(t),s.isDirtyLegend=!0,s.linkSeries(),o.enabledDataSorting&&o.setData(t.data,!1),Fa(s,"afterAddSeries",{series:o}),e&&s.redraw(i)})),o}addAxis(t,e,i,s){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:s})}addColorAxis(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})}createAxis(t,e){const i=new oo(this,e.axis,t);return Va(e.redraw,!0)&&this.redraw(e.animation),i}showLoading(t){const e=this,i=e.options,s=i.loading,o=function(){n&&Pa(n,{left:e.plotLeft+"px",top:e.plotTop+"px",width:e.plotWidth+"px",height:e.plotHeight+"px"})};let n=e.loadingDiv,r=e.loadingSpan;n||(e.loadingDiv=n=Ea("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),r||(e.loadingSpan=r=Ea("span",{className:"highcharts-loading-inner"},null,n),Aa(e,"redraw",o)),n.className="highcharts-loading",zt.setElementHTML(r,Va(t,i.lang.loading,"")),e.styledMode||(Pa(n,Ba(s.style,{zIndex:10})),Pa(r,s.labelStyle),e.loadingShown||(Pa(n,{opacity:0,display:""}),ga(n,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),e.loadingShown=!0,o()}hideLoading(){const t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||ga(e,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){Pa(e,{display:"none"})}})),this.loadingShown=!1}update(t,e,i,s){const o=this,n={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},r=t.isResponsiveOptions,a=[];let l,h,c;Fa(o,"update",{options:t}),r||o.setResponsive(!1,!0),t=La(t,o.options),o.userOptions=Ua(o.userOptions,t);const d=t.chart;d&&(Ua(!0,o.options.chart,d),this.setZoomOptions(),"className"in d&&o.setClassName(d.className),("inverted"in d||"polar"in d||"type"in d)&&(o.propFromSeries(),l=!0),"alignTicks"in d&&(l=!0),"events"in d&&ba(this,d),ja(d,function(t,e){-1!==o.propsRequireUpdateSeries.indexOf("chart."+e)&&(h=!0),-1!==o.propsRequireDirtyBox.indexOf(e)&&(o.isDirtyBox=!0),-1!==o.propsRequireReflow.indexOf(e)&&(o.isDirtyBox=!0,r||(c=!0))}),!o.styledMode&&d.style&&o.renderer.setStyle(o.options.chart.style||{})),!o.styledMode&&t.colors&&(this.options.colors=t.colors),ja(t,function(e,i){o[i]&&"function"==typeof o[i].update?o[i].update(e,!1):"function"==typeof o[n[i]]?o[n[i]](e):"colors"!==i&&-1===o.collectionsWithUpdate.indexOf(i)&&Ua(!0,o.options[i],t[i]),"chart"!==i&&-1!==o.propsRequireUpdateSeries.indexOf(i)&&(h=!0)}),this.collectionsWithUpdate.forEach(function(e){t[e]&&(_a(t[e]).forEach(function(t,s){const n=Oa(t.id);let r;n&&(r=o.get(t.id)),!r&&o[e]&&(r=o[e][Va(t.index,s)],r&&(n&&Oa(r.options.id)||r.options.isInternal)&&(r=void 0)),r&&r.coll===e&&(r.update(t,!1),i&&(r.touched=!0)),!r&&i&&o.collectionsWithInit[e]&&(o.collectionsWithInit[e][0].apply(o,[t].concat(o.collectionsWithInit[e][1]||[]).concat([!1])).touched=!0)}),i&&o[e].forEach(function(t){t.touched||t.options.isInternal?delete t.touched:a.push(t)}))}),a.forEach(function(t){t.chart&&t.remove&&t.remove(!1)}),l&&o.axes.forEach(function(t){t.update({},!1)}),h&&o.getSeriesOrderByLinks().forEach(function(t){t.chart&&t.update({},!1)},this);const p=d?.width,u=d&&(Ya(d.height)?$a(d.height,p||o.chartWidth):d.height);c||Ga(p)&&p!==o.chartWidth||Ga(u)&&u!==o.chartHeight?o.setSize(p,u,s):Va(e,!0)&&o.redraw(s),Fa(o,"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(){const t=this,e=xa.lang,i=t.zooming.resetButton,s=i.theme,o="chart"===i.relativeTo||"spacingBox"===i.relativeTo?null:"plotBox";function n(){t.zoomOut()}Fa(this,"beforeShowResetZoom",null,function(){t.resetZoomButton=t.renderer.button(e.resetZoom,null,null,n,s).attr({align:i.position.align,title:e.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(i.position,!1,o)}),Fa(this,"afterShowResetZoom")}zoomOut(){Fa(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){const i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,n=o&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),r=i.options.chart;r?.panning&&(r.panning=s),Fa(this,"pan",{originalEvent:t},()=>{i.transform({axes:n,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),Pa(i.container,{cursor:"move"})})}transform(t){const{axes:e=this.axes,event:i,from:s={},reset:o,selection:n,to:r={},trigger:a}=t,{inverted:l,time:h}=this;this.hoverPoints?.forEach(t=>t.setState()),Fa(this,"transform",t);let c,d,p=t.hasZoomed||!1;for(const u of e){const{horiz:t,len:e,minPointOffset:g=0,options:m,reversed:f}=u,x=t?"width":"height",y=t?"x":"y",b=Va(r[x],u.len),v=Va(s[x],u.len),w=Math.abs(b)<10?1:b/v,k=(s[y]||0)+v/2-u.pos,T=k-((r[y]??u.pos)+b/2-u.pos)/w,S=f&&!l||!f&&l?-1:1,M=T;if(!o&&(k<0||k>u.len))continue;const A=u.chart.polar||u.isOrdinal?0:g*S||0,C=u.toValue(M,!0),E=u.toValue(M+e/w,!0);let P=C+A,O=E-A,L=u.allExtremes;if(n&&n[u.coll].push({axis:u,min:Math.min(C,E),max:Math.max(C,E)}),P>O&&([P,O]=[O,P]),1===w&&!o&&"yAxis"===u.coll&&!L){for(const t of u.series){const e=t.getExtremes(t.getProcessedData(!0).modified.getColumn("y")||[],!0);L??(L={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),Ga(e.dataMin)&&Ga(e.dataMax)&&(L.dataMin=Math.min(e.dataMin,L.dataMin),L.dataMax=Math.max(e.dataMax,L.dataMax))}u.allExtremes=L}const{dataMin:D,dataMax:N,min:I,max:B}=Ba(u.getExtremes(),L||{}),R=h.parse(m.min),F=h.parse(m.max),z=D??R,H=N??F,W=O-P,G=u.categories?0:Math.min(W,H-z),X=z-G*(Oa(R)?0:m.minPadding),Y=H+G*(Oa(F)?0:m.maxPadding),U=u.allowZoomOutside||1===w||"zoom"!==a&&w>1,j=Math.min(R??X,X,U?I:X),V=Math.max(F??Y,Y,U?B:Y);u.isOrdinal&&1===w&&!o||(P<j&&(P=j,w>=1&&(O=P+W)),O>V&&(O=V,w>=1&&(P=O-W)),(o||u.series.length&&(P!==I||O!==B)&&P>=j&&O<=V)&&(n?n[u.coll].push({axis:u,min:P,max:O}):(u.isPanning="zoom"!==a,u.isPanning&&(d=!0),u.setExtremes(o?void 0:P,o?void 0:O,!1,!1,{move:T,trigger:a,scale:w}),!o&&(P>j||O<V)&&"mousewheel"!==a&&(c=!0)),p=!0),this.hasCartesianSeries||o||"mousewheel"===a||(c=!0),i&&(this[t?"mouseDownX":"mouseDownY"]=i[t?"chartX":"chartY"]))}return p&&(n?Fa(this,"selection",n,()=>{delete t.selection,t.trigger="zoom",this.transform(t)}):(!c||d||this.resetZoomButton?!c&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===a&&(this.options.chart.animation??this.pointCount<100)))),p}}Ba(Qa.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Qa.prototype.addAxis,[!0]],yAxis:[Qa.prototype.addAxis,[!1]],series:[Qa.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroun
1dColor","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"]});const{stop:tl}=St,{composed:el}=t,{addEvent:il,createElement:sl,css:ol,defined:nl,erase:rl,merge:al,pushUnique:ll}=C;function hl(){let t=this.scrollablePlotArea;!this.scrollablePixelsX&&!this.scrollablePixelsY||t||(this.scrollablePlotArea=t=new dl(this)),t?.applyFixed()}function cl(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class dl{static compose(t,e,i){ll(el,this.compose)&&(il(t,"afterInit",cl),il(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),il(e,"render",hl),il(i,"show",cl))}static afterSetSize(t,e){const{minWidth:i,minHeight:s}=t.options.chart.scrollablePlotArea||{},{clipBox:o,plotBox:n,inverted:r,renderer:a}=t;let l,h,c;if(!a.forExport)if(i?(t.scrollablePixelsX=l=Math.max(0,i-t.chartWidth),l&&(t.scrollablePlotBox=al(t.plotBox),n.width=t.plotWidth+=l,o[r?"height":"width"]+=l,c=!0)):s&&(t.scrollablePixelsY=h=Math.max(0,s-t.chartHeight),nl(h)&&(t.scrollablePlotBox=al(t.plotBox),n.height=t.plotHeight+=h,o[r?"width":"height"]+=h,c=!1)),nl(c)){if(!e.skipAxes)for(const d of t.axes)(d.horiz===c||t.hasParallelCoordinates&&"yAxis"===d.coll)&&(d.setAxisSize(),d.setAxisTranslation())}else delete t.scrollablePlotBox}constructor(t){const e=t.options.chart,i=se.getRendererType(),s=e.scrollablePlotArea||{},o=this.moveFixedElements.bind(this),n={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(n.overflowX="auto"),t.scrollablePixelsY&&(n.overflowY="auto"),this.chart=t;const r=this.parentDiv=sl("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),a=this.scrollingContainer=sl("div",{className:"highcharts-scrolling"},n,r),l=this.innerContainer=sl("div",{className:"highcharts-inner-container"},void 0,a),h=this.fixedDiv=sl("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(e.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new i(h,t.chartWidth,t.chartHeight,e.style);let d;this.mask=c.path().attr({fill:e.backgroundColor||"#fff","fill-opacity":s.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),a.parentNode.insertBefore(h,a),ol(t.renderTo,{overflow:"visible"}),il(t,"afterShowResetZoom",o),il(t,"afterApplyDrilldown",o),il(t,"afterLayOutTitles",o),il(a,"scroll",()=>{const{pointer:e,hoverPoint:i}=t;e&&(delete e.chartPosition,i&&(d=i),e.runPointActions(void 0,d,!0))}),l.appendChild(t.container)}applyFixed(){const{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:n,chartHeight:r,container:a,plotHeight:l,plotLeft:h,plotTop:c,plotWidth:d,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,g=t.options.chart.scrollablePlotArea||{},{scrollPositionX:m=0,scrollPositionY:f=0}=g,x=n+p,y=r+u;e.setSize(n,r),(i??1)&&(this.isDirty=!1,this.moveFixedElements()),tl(t.container),ol(a,{width:`${x}px`,height:`${y}px`}),t.renderer.boxWrapper.attr({width:x,height:y,viewBox:[0,0,x,y].join(" ")}),t.chartBackground?.attr({width:x,height:y}),ol(s,{width:`${n}px`,height:`${r}px`}),nl(i)||(s.scrollLeft=p*m,s.scrollTop=u*f);const b=c-o[0]-1,v=h-o[3]-1,w=c+l+o[2]+1,k=h+d+o[1]+1,T=h+d-p,S=c+l-u;let M=[["M",0,0]];p?M=[["M",0,b],["L",h-1,b],["L",h-1,w],["L",0,w],["Z"],["M",T,b],["L",n,b],["L",n,w],["L",T,w],["Z"]]:u&&(M=[["M",v,0],["L",v,c-1],["L",k,c-1],["L",k,0],["Z"],["M",v,S],["L",v,r],["L",k,r],["L",k,S],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:M})}moveFixedElements(){const{container:t,inverted:e,scrollablePixelsX:i,scrollablePixelsY:s}=this.chart,o=this.fixedRenderer,n=dl.fixedSelectors;let r;if(i&&!e?r=".highcharts-yaxis":i&&e||s&&!e?r=".highcharts-xaxis":s&&e&&(r=".highcharts-yaxis"),!r||this.chart.hasParallelCoordinates&&".highcharts-yaxis"===r)for(const a of[".highcharts-xaxis",".highcharts-yaxis"])for(const t of[`${a}
1:not(.highcharts-radial-axis)`,`${a}-labels:not(.highcharts-radial-axis-labels)`])rl(n,t);else for(const a of[`${r}:not(.highcharts-radial-axis)`,`${r}-labels:not(.highcharts-radial-axis-labels)`])ll(n,a);for(const a of n)[].forEach.call(t.querySelectorAll(a),t=>{(t.namespaceURI===o.SVG_NS?o.box:o.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}dl.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"];const{format:pl}=ee,{series:ul}=cr,{destroyObjectProperties:gl,fireEvent:ml,getAlignFactor:fl,isNumber:xl,pick:yl}=C;class bl{constructor(t,e,i,s,o){const n=t.chart.inverted,r=t.reversed;this.axis=t;const a=this.isNegative=!!i!=!!r;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||(n?a?"left":"right":"center"),verticalAlign:e.verticalAlign||(n?"middle":a?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(n?a?"right":"left":"center")}destroy(){gl(this,this.axis)}render(t){const e=this.axis.chart,i=this.options,s=i.format,o=s?pl(s,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");const s={r:i.borderRadius||0,text:o,padding:yl(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,ml(this,"afterRender")}setOffset(t,e,i,s,o,n){const{alignOptions:r,axis:a,label:l,options:h,textAlign:c}=this,d=a.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:n}),{verticalAlign:u}=r;if(l&&p){const t=l.getBBox(void 0,0),e=l.padding;let i,s="justify"===yl(h.overflow,"justify");r.x=h.x||0,r.y=h.y||0;const{x:o,y:n}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:c});p.x-=o,p.y-=n,l.align(r,!1,p),i=d.isInsidePlot(l.alignAttr.x+r.x+o,l.alignAttr.y+r.y+n),i||(s=!1),s&&ul.prototype.justifyDataLabel.call(a,l,r,l.alignAttr,t,p),l.attr({x:l.alignAttr.x,y:l.alignAttr.y,rotation:h.rotation,rotationOriginX:t.width*fl(h.textAlign||"center"),rotationOriginY:t.height/2}),yl(!s&&h.crop,!0)&&(i=xl(l.x)&&xl(l.y)&&d.isInsidePlot(l.x-e+(l.width||0),l.y)&&d.isInsidePlot(l.x+e,l.y)),l[i?"show":"hide"]()}ml(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*fl(i)-1),y:t.height/2*2*(1-fl(e))}}getStackBox(t){const e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:n,width:r,boxBottom:a}=t,l=e.stacking.usePercentage?100:yl(s,this.total,0),h=e.toPixels(l),c=t.xAxis||i.xAxis[0],d=yl(o,c.translate(this.x))+n,p=e.toPixels(a||xl(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0),u=Math.abs(h-p),g=i.inverted,m=this.isNegative;return g?{x:(m?h:h-u)-i.plotLeft,y:c.height-d-r+c.top-i.plotTop,width:u,height:r}:{x:d+c.transB-i.plotLeft,y:(m?h-u:h)-i.plotTop,width:r,height:u}}}const{getDeferredAnimation:vl}=St,{series:{prototype:wl}}=cr,{addEvent:kl,correctFloat:Tl,defined:Sl,destroyObjectProperties:Ml,fireEvent:Al,isNumber:Cl,objectEach:El,pick:Pl}=C;function Ol(){const t=this,e=t.inverted;t.axes.forEach(t=>{t.stacking?.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),t.series.forEach(t=>{const i=t.xAxis?.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,Pl(t.options.stack,""),e?i.top:i.left,e?i.height:i.width].join(","))})}function Ll(){const t=this.stacking;if(t){const e=t.stacks;El(e,(t,i)=>{Ml(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function Dl(){this.stacking||(this.stacking=new zl(this))}function Nl(t,e,i,s){return!Sl(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 Il(){const t=this,e=t.yAxis,i=t.stackKey||"",s=e.stacking.stacks,o=t.getColumn("x",!0),n=t.o
1ptions.stacking,r=t[n+"Stacker"];let a;r&&[i,"-"+i].forEach(e=>{let i,n,l,h=o.length;for(;h--;)i=o[h],a=t.getStackIndicator(a,i,t.index,e),n=s[e]?.[i],l=n?.points[a.key||""],l&&r.call(t,l,n,h)})}function Bl(t,e,i){const s=e.total?100/e.total:0;t[0]=Tl(t[0]*s),t[1]=Tl(t[1]*s),this.stackedYData[i]=t[1]}function Rl(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?wl.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function Fl(t,e){const i=e||this.options.stacking;if(!i||!this.reserveSpace()||({group:"xAxis"}[i]||"yAxis")!==t.coll)return;const s=this,o=s.getColumn("x",!0),n=s.getColumn(s.pointValKey||"y",!0),r=[],a=n.length,l=s.options,h=l.threshold||0,c=l.startFromThreshold?h:0,d=l.stack,p=e?`${s.type},${i}`:s.stackKey||"",u="-"+p,g=s.negStacks,m=t.stacking,f=m.stacks,x=m.oldStacks;let y,b,v,w,k,T,S;for(m.stacksTouched+=1,S=0;S<a;S++){const e=o[S]||0,a=n[S],l=Cl(a)&&a||0;y=s.getStackIndicator(y,e,s.index),T=y.key||"",b=g&&l<(c?0:h),k=b?u:p,f[k]||(f[k]={}),f[k][e]||(x[k]?.[e]?(f[k][e]=x[k][e],f[k][e].total=null):f[k][e]=new bl(t,t.options.stackLabels,!!b,e,d)),v=f[k][e],null!==a?(v.points[T]=v.points[s.index]=[Pl(v.cumulative,c)],Sl(v.cumulative)||(v.base=T),v.touched=m.stacksTouched,y.index>0&&!1===s.singleStacks&&(v.points[T][0]=v.points[s.index+","+e+",0"][0])):(delete v.points[T],delete v.points[s.index]);let M=v.total||0;"percent"===i?(w=b?p:u,g&&f[w]?.[e]?(w=f[w][e],M=w.total=Math.max(w.total||0,M)+Math.abs(l)):M=Tl(M+Math.abs(l))):"group"===i?Cl(a)&&M++:M=Tl(M+l),v.cumulative="group"===i?(M||1)-1:Tl(Pl(v.cumulative,c)+l),v.total=M,null!==a&&(v.points[T].push(v.cumulative),r[S]=v.cumulative,v.hasValidPoints=!0)}"percent"===i&&(m.usePercentage=!0),"group"!==i&&(this.stackedYData=r),m.oldStacks={}}class zl{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){const t=this.axis,e=t.series,i="xAxis"===t.coll,s=t.options.reversedStacks,o=e.length;let n,r;for(this.resetStacks(),this.usePercentage=!1,r=o;r--;)n=e[s?r:o-r-1],i&&n.setGroupedPoints(t),n.setStackedPoints(t);if(!i)for(r=0;r<o;r++)e[r].modifyStacks();Al(t,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,El(this.stacks,t=>{El(t,t=>{t.cumulative=t.total})}))}resetStacks(){El(this.stacks,t=>{El(t,(e,i)=>{Cl(e.touched)&&e.touched<this.stacksTouched?(e.destroy(),delete t[i]):(e.total=null,e.cumulative=null)})})}renderStackTotals(){const t=this,e=t.axis,i=e.chart,s=i.renderer,o=t.stacks,n=e.options.stackLabels?.animation,r=vl(i,n||!1),a=t.stackTotalGroup=t.stackTotalGroup||s.g("stack-labels").attr({zIndex:6,opacity:0}).add();a.translate(i.plotLeft,i.plotTop),El(o,t=>{El(t,t=>{t.render(a)})}),a.animate({opacity:1},r)}}var Hl;(Hl||(Hl={})).compose=function(t,e,i){const s=e.prototype,o=i.prototype;s.getStacks||(kl(t,"init",Dl),kl(t,"destroy",Ll),s.getStacks=Ol,o.getStackIndicator=Nl,o.modifyStacks=Il,o.percentStacker=Bl,o.setGroupedPoints=Rl,o.setStackedPoints=Fl)};const Wl=Hl,{defined:Gl,merge:Xl,isObject:Yl}=C;let Ul=class extends Yr{drawGraph(){const t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let n,r=s.graph;const a=r?"animate":"attr",l=s.dashStyle||t.dashStyle;r?(r.endX=this.preventGraphAnimation?null:e.xMap,r.animate({d:e})):e.length&&(s.graph=r=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),r&&!i&&(n={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},l?n.dashstyle=l:"square"!==t.linecap&&(n["stroke-linecap"]=n["stroke-linejoin"]="round"),r[a](n).shadow(t.shadow&&Xl({filterUnits:"userSpaceOnUse"},Yl(t.shadow)?t.shadow:{}))),r&&(r.startX=e.xMap,r.isArea=e.isArea)})}getGraphPath(t,e,i){const s=this,o=s.options,n=[],r=[];let a,l=o.step;const h=(t=t||s.points).reversed;return h&&t.reverse(),l={right:1,center:2}[l]||l&&3,l&&h&&(l=4-l),(t=this.getValidPoints(t,!1,o.nullInteraction||!(o.connectNulls&&!e&&!i))).forEac
1h(function(h,c){const d=h.plotX,p=h.plotY,u=t[c-1],g=h.isNull||"number"!=typeof p;let m;!h.leftCliff&&!u?.rightCliff||i||(a=!0),g&&!Gl(e)&&c>0?a=!o.connectNulls:g&&!e?a=!0:(0===c||a?m=[["M",h.plotX,h.plotY]]:s.getPointSpline?m=[s.getPointSpline(t,h,c)]:l?(m=1===l?[["L",u.plotX,p]]:2===l?[["L",(u.plotX+d)/2,u.plotY],["L",(u.plotX+d)/2,p]]:[["L",d,u.plotY]],m.push(["L",d,p])):m=[["L",d,p]],r.push(h.x),l&&(r.push(h.x),2===l&&r.push(h.x)),n.push.apply(n,m),a=!1)}),n.xMap=r,s.graphPath=n,n}};Ul.defaultOptions=Xl(Yr.defaultOptions,{legendSymbol:"lineMarker"}),cr.registerSeriesType("line",Ul);const{seriesTypes:{line:jl}}=cr,{extend:Vl,merge:ql,objectEach:$l,pick:Kl}=C;let _l=class extends jl{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);const{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{const o={},n=i.fillColor||e.fillColor;let r=i.area;const a=r?"animate":"attr";r?(r.endX=this.preventGraphAnimation?null:t.xMap,r.animate({d:t})):(o.zIndex=0,r=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group),r.isArea=!0),this.chart.styledMode||(o.fill=n||i.color||this.color,o["fill-opacity"]=n?1:e.fillOpacity??.75,r.css({pointerEvents:this.stickyTracking?"none":"auto"})),r[a](o),r.startX=t.xMap,r.shiftUnit=e.step?2:1})}getGraphPath(t){const e=jl.prototype.getGraphPath,i=this.options,s=i.stacking,o=this.yAxis,n=[],r=[],a=this.index,l=o.stacking.stacks[this.stackKey],h=i.threshold,c=Math.round(o.getThreshold(i.threshold)),d=Kl(i.connectNulls,"percent"===s),p=function(e,i,d){const p=t[e],g=s&&l[p.x].points[a],m=p[d+"Null"]||0,f=p[d+"Cliff"]||0;let x,y,b=!0;f||m?(x=(m?g[0]:g[1])+f,y=g[0]+f,b=!!m):!s&&t[i]&&t[i].isNull&&(x=y=h),void 0!==x&&(r.push({plotX:u,plotY:null===x?c:o.getThreshold(x),isNull:b,isCliff:!0}),n.push({plotX:u,plotY:null===y?c:o.getThreshold(y),doCurve:!1}))};let u,g,m;t=t||this.points,s&&(t=this.getStackPoints(t));for(let w=0,k=t.length;w<k;++w)s||(t[w].leftCliff=t[w].rightCliff=t[w].leftNull=t[w].rightNull=void 0),g=t[w].isNull,u=Kl(t[w].rectPlotX,t[w].plotX),m=s?Kl(t[w].yBottom,c):c,g&&!d||(d||p(w,w-1,"left"),g&&!s&&d||(r.push(t[w]),n.push({x:w,plotX:u,plotY:m})),d||p(w,w+1,"right"));const f=e.call(this,r,!0,!0);n.reversed=!0;const x=e.call(this,n,!0,!0),y=x[0];y&&"M"===y[0]&&(x[0]=["L",y[1],y[2]]);const b=f.concat(x);b.length&&b.push(["Z"]);const v=e.call(this,r,!1,d);return this.chart.series.length>1&&s&&r.some(t=>t.isCliff)&&(b.hasStackedCliffs=v.hasStackedCliffs=!0),b.xMap=f.xMap,this.areaPath=b,v}getStackPoints(t){const e=this,i=[],s=[],o=this.xAxis,n=this.yAxis,r=n.stacking.stacks[this.stackKey],a={},l=n.series,h=l.length,c=n.options.reversedStacks?1:-1,d=l.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,a[t[e].x]=t[e];$l(r,function(t,e){null!==t.total&&s.push(e)}),s.sort(function(t,e){return t-e});const p=l.map(t=>t.visible);s.forEach(function(t,u){let g,m,f=0;if(a[t]&&!a[t].isNull)i.push(a[t]),[-1,1].forEach(function(i){const o=1===i?"rightNull":"leftNull",n=1===i?"rightCliff":"leftCliff",f=r[s[u+i]];let x=0;if(f){let i=d;for(;i>=0&&i<h;){const s=l[i].index;g=f.points[s],g||(s===e.index?a[t][o]=!0:p[i]&&(m=r[t].points[s],m&&(x-=m[1]-m[0]))),i+=c}}a[t][n]=x});else{let e=d;for(;e>=0&&e<h;){const i=l[e].index;if(g=r[t].points[i],g){f=g[1];break}e+=c}f=Kl(f,0),f=n.translate(f,0,1,0,1),i.push({isNull:!0,plotX:o.translate(t,0,0,0,1),x:t,plotY:f,yBottom:f})}})}return i}};_l.defaultOptions=ql(jl.defaultOptions,{threshold:0,legendSymbol:"areaMarker"}),Vl(_l.prototype,{singleStacks:!1}),cr.registerSeriesType("area",_l);const{line:Zl}=cr.seriesTypes,{merge:Jl,pick:Ql}=C;class th extends Zl{getPointSpline(t,e,i){const s=1.5,o=2.5,n=e.plotX||0,r=e.plotY||0,a=t[i-1],l=t[i+1];let h,c,d,p;function u(t){return t&&!t.isNull&&!1!==t.doCurve&&!e.isCliff}if(u(a)&&u(l)){const t=a.plotX||0,i=a.plotY||0,u=l.plotX||0,g=l.plotY||0;let m=0;h=(s*n+t)/o,c=(s*r+i)/o,d=(s*n+u)/o,p=(s*r+g)/o,d!==h&&(m=(p-c)*(d-n)/(d-h)+r-p),c+=m,p+=m,c>i&&c>r?(c=Math.max(i,r),p=2*r-c):c<i&&c<r&&(c=Math.min(i,r),p=2*r-c),p>g&&p>r?(p=Math.max(g,r),c=2*r-p):p<g&&p<r&&(p=Math.min(g,r),c=2*r-p),e.rightContX=d,e.rightContY=p,e.controlPoints={low:[h,c],high:[d,p]}}const g=["C",Ql(a.rightContX,a.plotX,0),Ql(a.rightContY,a.plotY,0),Ql(h,n,0),Ql(c,r,0),n,r];return a.rightContX=a.rightContY=void 0,g}}th.defaultOptions=Jl(Zl.defaultOptions),cr.registerSeriesType("spline",th);const{area:eh,area:{prototype:ih}}=cr.seriesTypes,{extend:sh,merge:oh}=C;class nh extends th{}nh.defaultOptions=oh(th.defaultOptions,eh.defaultOptions),sh(nh.prototype,{getGraphPath:ih.getGraphPath,getStackPoints:ih.getStackPoints,drawGraph:ih.drawGraph}),cr.registerSeriesType("areaspline",nh);const{animObject:rh}=St,{parse:ah}=lt,{noop:lh}=t,{clamp:hh,crisp:ch,defined:dh,extend:ph,fireEvent:uh,isArray:gh,isNumber:mh,merge:fh,pick:xh,objectEach:yh}=C;let bh=class extends Yr{animate(t){const e=this,i=this.yAxis,s=i.pos,o=i.reversed,n=e.options,{clipOffset:r,inverted:a}=this.chart,l={},h=a?"translateX":"translateY";let c,d;t&&r?(l.scaleY=.001,d=hh(i.toPixels(n.threshold||0),s,s+i.len),a?(d+=o?-Math.floor(r[0]):Math.ceil(r[2]),l.translateX=d-i.len):(d+=o?Math.
vendor: 5,437 bytes, line 1
1ceil(r[0]):-Math.floor(r[2]),l.translateY=d),e.clipBox&&e.setClip(),e.group.attr(l)):(c=Number(e.group.attr(h)),e.group.animate({scaleY:1},ph(rh(e.options.animation),{step:function(t,i){e.group&&(l[h]=c+i.pos*(s-c),e.group.attr(l))}})))}init(t,e){super.init.apply(this,arguments);const i=this;(t=i.chart).hasRendered&&t.series.forEach(function(t){t.type===i.type&&(t.isDirty=!0)})}getColumnMetrics(){const t=this,e=t.options,i=t.xAxis,s=t.yAxis,o=i.options.reversedStacks,n=i.reversed&&!o||!i.reversed&&o,r={};let a,l=0;!1===e.grouping?l=1:t.chart.series.forEach(function(e){const i=e.yAxis,o=e.options;let n;e.type===t.type&&e.reserveSpace()&&s.len===i.len&&s.pos===i.pos&&(o.stacking&&"group"!==o.stacking?(a=e.stackKey,void 0===r[a]&&(r[a]=l++),n=r[a]):!1!==o.grouping&&(n=l++),e.columnIndex=n)});const h=Math.min(Math.abs(i.transA)*(!i.brokenAxis?.hasBreaks&&i.ordinal?.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),c=h*e.groupPadding,d=(h-2*c)/(l||1),p=Math.min(e.maxPointWidth||i.len,xh(e.pointWidth,d*(1-2*e.pointPadding))),u=(d-p)/2+(c+((t.columnIndex||0)+(n?1:0))*d-h/2)*(n?-1:1);return t.columnMetrics={width:p,offset:u,paddedWidth:d,columnCount:l},t.columnMetrics}crispCol(t,e,i,s){const o=this.borderWidth,n=this.chart.inverted;if(s=ch(e+s,o,n)-(e=ch(e,o,n)),this.options.crisp){i=ch(t+i,o)-(t=ch(t,o))}return{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){if(!i.isNull&&s.columnCount>1){const o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index);let n=0,r=0;yh(this.xAxis.stacking?.stacks,t=>{const e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],a={};if(e&&gh(s)){let t=this.index;const i=Object.keys(e).filter(t=>!t.match(",")&&e[t]&&e[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).filter(e=>{const i=this.chart.series[e].options,s=i.stacking&&i.stack;if(dh(s)){if(mh(a[s]))return t===e&&(t=a[s]),!1;a[s]=e}return!0}).sort((t,e)=>e-t);n=i.indexOf(t),r=i.length}}),n=this.xAxis.reversed?r-1-n:n;const a=(r-1)*s.paddedWidth+e;t=(i.plotX||0)+a/2-e-n*s.paddedWidth}return t}translate(){const t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=xh(i.borderWidth,s?0:1),n=t.xAxis,r=t.yAxis,a=i.threshold,l=xh(i.minPointLength,5),h=t.getColumnMetrics(),c=h.width,d=t.pointXOffset=h.offset,p=t.dataMin,u=t.dataMax,g=t.translatedThreshold=r.getThreshold(a);let m=t.barW=Math.max(c,1+2*o);i.pointPadding&&i.crisp&&(m=Math.ceil(m)),Yr.prototype.translate.apply(t),t.points.forEach(function(s){const o=xh(s.yBottom,g),f=999+Math.abs(o),x=s.plotX||0,y=hh(s.plotY,-f,r.len+f);let b,v=Math.min(y,o),w=Math.max(y,o)-v,k=c,T=x+d,S=m;l&&Math.abs(w)<l&&(w=l,b=!r.reversed&&!s.negative||r.reversed&&s.negative,mh(a)&&mh(u)&&s.y===a&&u<=a&&(r.min||0)<a&&(p!==u||(r.max||0)<=a)&&(b=!b,s.negative=!s.negative),v=Math.abs(v-g)>l?o-l:g-(b?l:0)),dh(s.options.pointWidth)&&(k=S=Math.ceil(s.options.pointWidth),T-=Math.round((k-c)/2)),i.centerInCategory&&(T=t.adjustForMissingColumns(T,k,s,h)),s.barX=T,s.pointWidth=k,s.tooltipPos=e.inverted?[hh(r.len+r.pos-e.plotLeft-y,r.pos-e.plotLeft,r.len+r.pos-e.plotLeft),n.len+n.pos-e.plotTop-T-S/2,w]:[n.left-e.plotLeft+T+S/2,hh(y+r.pos-e.plotTop,r.pos-e.plotTop,r.len+r.pos-e.plotTop),w],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(T,v,S,s.isNull?0:w)}),uh(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){const i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",n=s["stroke-width"]||"borderWidth";let r,a,l,h=t&&t.color||this.color,c=t&&t[o]||i[o]||h,d=t&&t.options.dashStyle||i.dashStyle,p=t&&t[n]||i[n]||this[n]||0,u=t?.isNull&&i.nullInteraction?0:t?.opacity??i.opacity??1;t&&this.zones.length&&(a=t.getZone(),h=t.options.color||a&&(a.color||t.nonZonedColor)||this.color,a&&(c=a.borderColor||c,d=a.dashStyle||d,p=a.borderWidth||p)),e&&t&&(r=fh(i.states[e],t.options.states&&t.options.states[e]||{}),l=r.brightness,h=r.color||void 0!==l&&ah(h).brighten(r.brightness).get()||h,c=r[o]||c,p=r[n]||p,d=r.dashStyle||d,u=xh(r.opacity,u));const g={fill:h,stroke:c,"stroke-width":p,opacity:u};return d&&(g.dashstyle=d),g}drawPoints(t=this.points){const e=this,i=this.chart,s=e.options,o=s.nullInteraction,n=i.renderer,r=s.animationLimit||250;let a;t.forEach(function(t){const l=t.plotY;let h=t.graphic,c=!!h,d=h&&i.pointCount<r?"animate":"attr";mh(l)&&(null!==t.y||o)?(a=t.shapeArgs,h&&t.hasNewShapeType()&&(h=h.destroy()),e.enabledDataSorting&&(t.startXPos=e.xAxis.reversed?-(a&&a.width||0):e.xAxis.width),h||(t.graphic=h=n[t.shapeType](a).add(t.group||e.group),h&&e.enabledDataSorting&&i.hasRendered&&i.pointCount<r&&(h.attr({x:t.startXPos}),c=!0,d="animate")),h&&c&&h[d](fh(a)),i.styledMode||h[d](e.pointAttribs(t,t.selected&&"select")).shadow(!1!==t.allowShadow&&s.shadow),h&&(h.addClass(t.getClassName(),!0),h.attr({visibility:t.visible?"inherit":"hidden"}))):h&&(t.graphic=h.destroy())})}drawTracker(t=this.points){const e=this,i=e.chart,s=i.pointer,o=function(t){s?.normalize(t);const o=s?.getPointFromEvent(t);s&&o&&e.options.enableMouseTracking&&(i.isInsidePlot(t.chartX-i.plotLeft,t.chartY-i.plotTop,{visiblePlotOnly:!0})||s?.inClass(t.target,"highcharts-data-label"))&&(s.isDirectTouch=!0,o.onMouseOver(t))};let n;t.forEach(function(t){n=gh(t.dataLabels)?t.dataLabels:t.dataLabel?[t.dataLabel]:[],t.graphic&&(t.graphic.element.point=t),n.forEac
1h(function(e){(e.div||e.element).point=t})}),e._hasTracking||(e.trackerGroups.forEach(function(t){e[t]&&(e[t].addClass("highcharts-tracker").on("mouseover",o).on("mouseout",function(t){s?.onTrackerMouseOut(t)}).on("touchstart",o),!i.styledMode&&e.options.cursor&&e[t].css({cursor:e.options.cursor}))}),e._hasTracking=!0),uh(this,"afterDrawTracker")}remove(){const t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(e){e.type===t.type&&(e.isDirty=!0)}),Yr.prototype.remove.apply(t,arguments)}};bh.defaultOptions=fh(Yr.defaultOptions,{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}),ph(bh.prototype,{directTouch:!0,getSymbol:lh,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),cr.registerSeriesType("column",bh);const{getDeferredAnimation:vh}=St,{format:wh}=ee,{defined:kh,extend:Th,fireEvent:Sh,getAlignFactor:Mh,isArray:Ah,isString:Ch,merge:Eh,objectEach:Ph,pick:Oh,pInt:Lh,splat:Dh}=C;var Nh;!function(){function t(){return a(this).some(t=>t?.enabled)}function e(t,e,i,s,o){const n=this,{chart:r,enabledDataSorting:a}=this,l=this.isCartesian&&r.inverted,h=t.plotX,c=t.plotY,d=i.rotation||0,p=kh(h)&&kh(c)&&r.isInsidePlot(h,Math.round(c),{inverted:l,paneCoordinates:!0,series:n}),u=0===d&&"justify"===Oh(i.overflow,a?"none":"justify");let g=this.visible&&!1!==t.visible&&kh(h)&&(t.series.forceDL||a&&!u||p||Oh(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(h,l?s.x+1:s.y+s.height-1,{inverted:l,paneCoordinates:!0,series:n}));const m=t.pos();if(g&&m){const h=e.getBBox(),c=e.getBBox(void 0,0);if(s=Th({x:m[0],y:Math.round(m[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&n.isCartesian&&(s[l?"x":"y"]=0,s[l?"width":"height"]=this.yAxis?.len||0),Th(i,{width:h.width,height:h.height}),f=s,a&&n.xAxis&&!u&&n.setDataLabelStartPos(t,e,o,p,f),e.align(Eh(i,{width:c.width,height:c.height}),!1,s,!1),e.alignAttr.x+=Mh(i.align)*(c.width-h.width),e.alignAttr.y+=Mh(i.verticalAlign)*(c.height-h.height),e[e.placed?"animate":"attr"]({"text-align":e.alignAttr["text-align"]||"center",x:e.alignAttr.x+(h.width-c.width)/2,y:e.alignAttr.y+(h.height-c.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),u&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,h,s,o);else if(Oh(i.crop,!0)){const{x:t,y:i}=e.alignAttr,s=1;g=r.isInsidePlot(t,i,{paneCoordinates:!0,series:n})&&r.isInsidePlot(t+h.width-s,i+h.height-s,{paneCoordinates:!0,series:n})}i.shape&&!d&&e[o?"attr":"animate"]({anchorX:m[0],anchorY:m[1]})}var f;o&&a&&(e.placed=!1),g||a&&!u?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function i(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6,this.chart.dataLabelsGroup)}function s(t){const e=this,i=e.hasRendered||0,s=this.initDataLabelsGroup().attr({opacity:+i});return!i&&s&&(e.visible&&s.show(),e.options.animation?s.animate({opacity:1},t):s.attr({opacity:1})),s}function o(t){t=t||this.points;const e=this,i=e.chart,s=e.options,o=i.renderer,{backgroundColor:n,plotBackgroun
1dColor:l}=i.options.chart,h=o.getContrast(Ch(l)&&l||Ch(n)&&n||"#000000"),c=a(e);let d,p;const{animation:u,defer:g}=c[0],m=g?vh(i,u,e):{defer:0,duration:0};Sh(this,"drawDataLabels"),e.hasDataLabels?.()&&(p=this.initDataLabels(m),t.forEach(t=>{const n=t.dataLabels||[],a=t.color||e.color;d=Dh(r(c,t.dlOptions||t.options?.dataLabels)),d.forEach((r,l)=>{const c=r.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){const i=e.filter;if(i){const 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,r),{backgroundColor:d,borderColor:u,distance:g,style:m={}}=r;let f,x,y,b,v={},w=n[l],k=!w;c&&(f=Oh(r[t.formatPrefix+"Format"],r.format),x=kh(f)?wh(f,t,i):(r[t.formatPrefix+"Formatter"]||r.formatter).call(t,r),y=r.rotation,i.styledMode||(m.color=Oh(r.color,m.color,Ch(e.color)?e.color:void 0,"#000000"),"contrast"===m.color?("none"!==d&&(b=d),t.contrastColor=o.getContrast("auto"!==b&&Ch(b)&&b||(Ch(a)?a:"")),m.color=b||!kh(g)&&r.inside||Lh(g||0)<0||s.stacking?t.contrastColor:h):delete t.contrastColor,s.cursor&&(m.cursor=s.cursor)),v={r:r.borderRadius||0,rotation:y,padding:r.padding,zIndex:1},i.styledMode||(v.fill="auto"===d?t.color:d,v.stroke="auto"===u?t.color:u,v["stroke-width"]=r.borderWidth),Ph(v,(t,e)=>{void 0===t&&delete v[e]})),!w||c&&kh(x)&&!(!w.div&&!w.text?.foreignObject)==!!r.useHTML&&(w.rotation&&r.rotation||w.rotation===r.rotation)||(w=void 0,k=!0),c&&kh(x)&&""!==x&&(w?v.text=x:(w=o.label(x,0,0,r.shape,void 0,void 0,r.useHTML,void 0,"data-label"),w.addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(r.className||"")+(r.useHTML?" highcharts-tracker":""))),w&&(w.options=r,w.attr(v),i.styledMode?m.width&&w.css({width:m.width,textOverflow:m.textOverflow,whiteSpace:m.whiteSpace}):w.css(m).shadow(r.shadow),Sh(w,"beforeAddingDataLabel",{labelOptions:r,point:t}),w.added||w.add(p),e.alignDataLabel(t,w,r,void 0,k),w.isActive=!0,n[l]&&n[l]!==w&&n[l].destroy(),n[l]=w))});let l=n.length;for(;l--;)n[l]?.isActive?n[l].isActive=!1:(n[l]?.destroy(),n.splice(l,1));t.dataLabel=n[0],t.dataLabels=n})),Sh(this,"afterDrawDataLabels")}function n(t,e,i,s,o,n){const r=this.chart,a=e.align,l=e.verticalAlign,h=t.box?0:t.padding||0,c=r.inverted?this.yAxis:this.xAxis,d=c?c.left-r.plotLeft:0,p=r.inverted?this.xAxis:this.yAxis,u=p?p.top-r.plotTop:0;let g,m,{x:f=0,y:x=0}=e;return g=(i.x||0)+h+d,g<0&&("right"===a&&f>=0?(e.align="left",e.inside=!0):f-=g,m=!0),g=(i.x||0)+s.width-h+d,g>r.plotWidth&&("left"===a&&f<=0?(e.align="right",e.inside=!0):f+=r.plotWidth-g,m=!0),g=i.y+h+u,g<0&&("bottom"===l&&x>=0?(e.verticalAlign="top",e.inside=!0):x-=g,m=!0),g=(i.y||0)+s.height-h+u,g>r.plotHeight&&("top"===l&&x<=0?(e.verticalAlign="bottom",e.inside=!0):x+=r.plotHeight-g,m=!0),m&&(e.x=f,e.y=x,t.placed=!n,t.align(e,void 0,o)),m}function r(t,e){let i,s=[];if(Ah(t)&&!Ah(e))s=t.map(function(t){return Eh(t,e)});else if(Ah(e)&&!Ah(t))s=e.map(function(e){return Eh(t,e)});else if(Ah(t)||Ah(e)){if(Ah(t)&&Ah(e))for(i=Math.max(t.length,e.length);i--;)s[i]=Eh(t[i],e[i])}else s=Eh(t,e);return s}function a(t){const e=t.chart.options.plotOptions;return Dh(r(r(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function l(t,e,i,s,o){const n=this.chart,r=n.inverted,a=this.xAxis,l=a.reversed,h=((r?e.height:e.width)||0)/2,c=t.pointWidth,d=c?c/2:0;e.startXPos=r?o.x:l?-h-d:a.width-h+d,e.startYPos=r?l?this.yAxis.height-h+d:-h-d:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0}
vendor: 4,609 bytes, line 1
1,void 0,e.hide),n.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}(Nh||(Nh={})).compose=function(a){const h=a.prototype;h.initDataLabels||(h.initDataLabels=s,h.initDataLabelsGroup=i,h.alignDataLabel=e,h.drawDataLabels=o,h.justifyDataLabel=n,h.mergeArrays=r,h.setDataLabelStartPos=l,h.hasDataLabels=t)}}();const Ih=Nh,{composed:Bh}=t,{series:Rh}=cr,{merge:Fh,pushUnique:zh}=C;var Hh;!function(){function t(t,e,i,s,o){const{chart:n,options:r}=this,a=n.inverted,l=this.xAxis?.len||n.plotSizeX||0,h=this.yAxis?.len||n.plotSizeY||0,c=t.dlBox||t.shapeArgs,d=t.below??(t.plotY||0)>(this.translatedThreshold??h),p=i.inside??!!r.stacking;if(c){if(s=Fh(c),"allow"!==i.overflow||!1!==i.crop||!1!==r.clip){s.y<0&&(s.height+=s.y,s.y=0);const t=s.y+s.height-h;t>0&&t<s.height-1&&(s.height-=t)}a&&(s={x:h-s.y-s.height,y:l-s.x-s.width,width:s.height,height:s.width}),p||(a?(s.x+=d?0:s.width,s.width=0):(s.y+=d?s.height:0,s.height=0))}i.align??(i.align=!a||p?"center":d?"right":"left"),i.verticalAlign??(i.verticalAlign=a||p?"middle":d?"top":"bottom"),Rh.prototype.alignDataLabel.call(this,t,e,i,s,o),i.inside&&t.contrastColor&&e.css({color:t.contrastColor})}(Hh||(Hh={})).compose=function(e){Ih.compose(Rh),zh(Bh,"ColumnDataLabel")&&(e.prototype.alignDataLabel=t)}}();const Wh=Hh,{extend:Gh,merge:Xh}=C;class Yh extends bh{}Yh.defaultOptions=Xh(bh.defaultOptions,{}),Gh(Yh.prototype,{inverted:!0}),cr.registerSeriesType("bar",Yh);const{column:Uh,line:jh}=cr.seriesTypes,{addEvent:Vh,extend:qh,merge:$h}=C;class Kh extends jh{applyJitter(){const t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(s,o){["x","y"].forEach(function(n,r){if(e[n]&&!s.isNull){const a=`plot${n.toUpperCase()}`,l=t[`${n}Axis`],h=e[n]*l.transA;if(l&&!l.logarithmic){const t=Math.max(0,(s[a]||0)-h),e=Math.min(l.len,(s[a]||0)+h);s[a]=t+(e-t)*function(t){const e=1e4*Math.sin(t);return e-Math.floor(e)}(o+r*i),"x"===n&&(s.clientX=s.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}Kh.defaultOptions=$h(jh.defaultOptions,{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/>"}}),qh(Kh.prototype,{drawTracker:Uh.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),Vh(Kh,"afterTranslate",function(){this.applyJitter()}),cr.registerSeriesType("scatter",Kh);const{deg2rad:_h}=t,{fireEvent:Zh,isNumber:Jh,pick:Qh,relativeLength:tc}=C;var ec,ic;(ic=ec||(ec={})).getCenter=function(){const t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,n=t.center,r=Math.min(s,o),a=t.thickness;let l,h,c,d=t.size,p=t.innerSize||0;"string"==typeof d&&(d=parseFloat(d)),"string"==typeof p&&(p=parseFloat(p));const u=[Qh(n?.[0],"50%"),Qh(n?.[1],"50%"),Qh(d&&d<0?void 0:t.size,"100%"),Qh(p&&p<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof Yr||(u[3]=0),h=0;h<4;++h)c=u[h],l=h<2||2===h&&/%$/.test(c),u[h]=tc(c,[s,o,r,u[2]][h])+(l?i:0);return u[3]>u[2]&&(u[3]=u[2]),Jh(a)&&2*a<u[2]&&a>0&&(u[3]=u[2]-2*a),Zh(this,"afterGetCenter",{positions:u}),u},ic.getStartAndEndRadians=function(t,e){const i=Jh(t)?t:0,s=Jh(e)&&e>i&&e-i<360?e:i+360;return{start:_h*(i+-90),end:_h*(s+-90)}};const sc=ec,{setAnimation:oc}=St,{addEvent:nc,defined:rc,extend:ac,isNumber:lc,pick:hc,relativeLength:cc}=C;class dc extends Sn{getConnectorPath(t){const 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){const e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name=t.chart.options.lang.pieSliceName);const s=t=>{this.slice("select"===t.type)};nc(this,"select",s),nc(this,"unselect",s)}isValid(){return lc(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){const s=this.series,o=s.chart;oc(i,o),e=hc(e,!0),this.sliced=this.options.sliced=t=rc(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}
vendor: 4,346 bytes, line 1
1ac(dc.prototype,{connectorShapes:{fixedOffset:function(t,e,i){const s=e.breakAt,o=e.touchingSliceAt,n=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],n,["L",o.x,o.y]]},straight:function(t,e){const i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){const{angle:s=this.angle||0,breakAt:o,touchingSliceAt:n}=e,{series:r}=this,[a,l,h]=r.center,c=h/2,{plotLeft:d,plotWidth:p}=r.chart,u="left"===t.alignment,{x:g,y:m}=t;let f=o.x;if(i.crookDistance){const t=cc(i.crookDistance,1);f=u?a+c+(p+d-a-c)*(1-t):d+(a-c)*t}else f=a+(l-m)*Math.tan(s-Math.PI/2);const x=[["M",g,m]];return(u?f<=g&&f>=o.x:f>=g&&f<=o.x)&&x.push(["L",f,m]),x.push(["L",o.x,o.y],["L",n.x,n.y]),x}}});const{getStartAndEndRadians:pc}=sc,{noop:uc}=t,{clamp:gc,extend:mc,fireEvent:fc,merge:xc,pick:yc}=C;class bc extends Yr{animate(t){const e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){const i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:yc(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(){const t=this.startAngleRad,e=this.endAngleRad,i=this.options;let s,o;0===this.total&&this.center?(s=this.center[0],o=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(s,o,this.center[1]/2,0,t,e).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:si.arc(s,o,this.center[2]/2,0,{start:t,end:e,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":i.borderWidth,fill:i.fillColor||"none",stroke:i.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){const 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){const o=this.center,n=this.radii?this.radii[i.index]||0:o[2]/2,r=s.dataLabelPosition,a=r?.distance||0,l=Math.asin(gc((t-o[1])/(n+a),-1,1));return o[0]+(e?-1:1)*(Math.cos(l)*(n+a))+(a>0?(e?-1:1)*(s.padding||0):0)}hasData(){return this.points.some(t=>t.visible)}redrawPoints(){const t=this,e=t.chart;let i,s,o,n;this.drawEmpty(),t.group&&!e.styledMode&&t.group.shadow(t.options.shadow),t.points.forEach(function(r){const a={};s=r.graphic,!r.isNull&&s?(n=r.shapeArgs,i=r.getTranslate(),e.styledMode||(o=t.pointAttribs(r,r.selected&&"select")),r.delayedRendering?(s.setRadialReference(t.center).attr(n).attr(i),e.styledMode||s.attr(o).attr({"stroke-linejoin":"round"}),r.delayedRendering=!1):(s.setRadialReference(t.center),e.styledMode||xc(!0,a,o),xc(!0,a,n,i),s.animate(a)),s.attr({visibility:r.visible?"inherit":"hidden"}),s.addClass(r.getClassName(),!0)):s&&(r.graphic=s.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){fc(this,"translate"),this.generatePoints();const e=this,i=1e3,s=e.options,o=s.slicedOffset,n=pc(s.startAngle,s.endAngle),r=e.startAngleRad=n.start,a=(e.endAngleRad=n.end)-r,l=e.points,h=s.ignoreHiddenPoint,c=l.length;let d,p,u,g,m,f,x,y=0;for(t||(e.center=t=e.getCenter()),f=0;f<c;f++){x=l[f],d=r+y*a,!x.isValid()||h&&!x.visible||(y+=x.percentage/100),p=r+y*a;const e={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:Math.round(d*i)/i,end:Math.round(p*i)/i};x.shapeType="arc",x.shapeArgs=e,u=(p+d)/2,u>1.5*Math.PI?u-=2*Math.PI:u<-Math.PI/2&&(u+=2*Math.PI),x.slicedTranslation={translateX:Math.round(Math.cos(u)*o),translateY:Math.round(Math.sin(u)*o)},g=Math.cos(u)*t[2]/2,m=Math.sin(u)*t[2]/2,x.tooltipPos=[t[0]+.7*g,t[1]+.7*m],x.half=u<-Math.PI/2||u>Math.PI/2?1:0,x.angle=u}fc(e,"afterTranslate")}updateTotals(){const t=this.points,e=t.length,i=this.options.ignoreHiddenPoint;let s,o,n=0;for(s=0;s<e;s++)o=t[s],!o.isValid()||i&&!o.visible||(n+=o.y);for(this.total=n,s=0;s<e;s++)o=t[s],o.percentage=n>0&&(o.visible||!i)?o.y/n*100:0,o.total=n}}bc.defaultOptions=xc(Yr.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendT
vendor: 1,571 bytes, line 1
1ype:"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}}}),mc(bc.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:bh.prototype.drawTracker,getCenter:sc.getCenter,getSymbol:uc,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:bh.prototype.pointAttribs,pointClass:dc,requireSorting:!1,searchPoint:uc,trackerGroups:["group","dataLabelsGroup"]}),cr.registerSeriesType("pie",bc);const{composed:vc,noop:wc}=t,{distribute:kc}=he,{series:Tc}=cr,{arrayMax:Sc,clamp:Mc,defined:Ac,isNumber:Cc,pick:Ec,pushUnique:Pc,relativeLength:Oc}=C;var Lc;!function(t){const e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){const n=o.dataLabelPosition;return t.getX(i<(n?.top||0)+2||i>(n?.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){const o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o,n=0;return t.forEach(function(t){o=t.dataLabel.getBBox().width,o>n&&(n=o)}),e?n+s:i-n-s}};function i(t,e){const i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{};let n=t.angle||0;e>0&&s<i&&o>i&&n>i/2&&n<1.5*i&&(n=n<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));const{center:r,options:a}=this,l=r[2]/2,h=Math.cos(n),c=Math.sin(n),d=r[0]+h*l,p=r[1]+c*l,u=Math.min((a.slicedOffset||0)+(a.borderWidth||0),e/5);
vendor: 4,385 bytes, line 1
1return{natural:{x:d+h*e,y:p+c*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:n,breakAt:{x:d+h*u,y:p+c*u},touchingSliceAt:{x:d,y:p}},distance:e}}function s(){const t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,n=i.plotLeft,r=Math.round(i.chartWidth/3),a=t.center,l=a[2]/2,h=a[1],c=[[],[]],d=[0,0,0,0],p=t.dataLabelPositioners;let u,g,m,f=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)})}),Tc.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{const s=a[2]/2,o=e.options,n=Oc(o?.distance||0,s);0===i&&c[t.half].push(t),Ac(o?.style?.width)||e.getBBox().width>r&&(e.css({width:Math.round(.7*r)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,n),f=Math.max(f,n)})}),c.forEach((e,r)=>{const c=e.length,u=[];let x,y,b,v=0;c&&(t.sortByAngle(e,r-.5),f>0&&(x=Math.max(0,h-l-f),y=Math.min(h+l+f,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{const s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,h-l-s.distance),s.bottom=Math.min(h+l+s.distance,i.plotHeight),v=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:v,rank:t.y},u.push(t.distributeBox))})}),b=y+v-x,kc(u,b,b/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(h=>{const c=h.options||{},f=i.distributeBox,x=h.dataLabelPosition,y=x?.natural.y||0,b=c.connectorPadding||0,v=h.lineHeight||21,w=(v-h.getBBox().height)/2;let k=0,T=y,S="inherit";if(x){if(u&&Ac(f)&&x.distance>0&&(void 0===f.pos?S="hidden":(m=f.size,T=p.radialDistributionY(i,h))),c.justify)k=p.justify(i,h,l,a);else switch(c.alignTo){case"connectors":k=p.alignToConnectors(e,r,s,n);break;case"plotEdges":k=p.alignToPlotEdges(h,r,s,n);break;default:k=p.radialDistributionX(t,i,T-w,y,h)}if(x.attribs={visibility:S,align:x.alignment},x.posAttribs={x:k+(c.x||0)+({left:b,right:-b}[x.alignment]||0),y:T+(c.y||0)-v/2},x.computed.x=k,x.computed.y=T-w,Ec(c.crop,!0)){let t;g=h.getBBox().width,k-g<b&&1===r?(t=Math.round(g-k+b),d[3]=Math.max(t,d[3])):k+g>s-b&&0===r&&(t=Math.round(k+g-s+b),d[1]=Math.max(t,d[1])),T-m/2<0?d[0]=Math.max(Math.round(m/2-T),d[0]):T+m/2>o&&(d[2]=Math.max(Math.round(T+m/2-o),d[2])),x.sideOverflow=t}}})}))}),(0===Sc(d)||this.verifyDataLabelOverflow(d))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{const{connectorColor:o,connectorWidth:n=1}=s.options||{},r=s.dataLabelPosition;if(Cc(n)){let a;u=s.connector,r&&r.distance>0?(a=!u,u||(s.connector=u=i.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||u.attr({"stroke-width":n,stroke:o||e.color||"#666666"}),u[a?"attr":"animate"]({d:e.getConnectorPath(s)}),u.attr({visibility:r.attribs?.visibility})):u&&(s.connector=u.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{const 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 n(t){const e=this.center,i=this.options,s=i.center,o=i.minSize||80;let n=o,r=null!==i.size;return r||(null!==s[0]?n=Math.max(e[2]-Math.max(t[1],t[3]),o):(n=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?n=Mc(n,o,e[2]-Math.max(t[0],t[2])):(n=Mc(n,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),n<e[2]?(e[2]=n,e[3]=Math.min(i.thickness?Math.max(0,n-2*i.thickness):Math.max(0,Oc(i.innerSize||0,n)),n),this.translate(e),this.drawDataLabels&&this.drawDataLabels()):r=!0),r}t.compose=function(t){if(Ih.compose(Tc),Pc(vc,"PieDataLabel")){const r=t.prototype;r.dataLabelPositioners=e,r.alignDataLabel=wc,r.drawDataLabels=s,r.getDataLabelPosition=i,r.placeDataLabels=o,r.verifyDataLabelOverflow=n}}}(Lc||(Lc={}));const Dc=Lc;var Nc,Ic;(Ic=Nc||(Nc={})).getCenterOfPoints=function(t){const 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}},Ic.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}
1,Ic.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},Ic.pointInPolygon=function({x:t,y:e},i){const s=i.length;let o,n,r=!1;for(o=0,n=s-1;o<s;n=o++){const[s,a]=i[o],[l,h]=i[n];a>e!=h>e&&t<(l-s)*(e-a)/(h-a)+s&&(r=!r)}return r};const Bc=Nc,{pointInPolygon:Rc}=Bc,{addEvent:Fc,getAlignFactor:zc,fireEvent:Hc,objectEach:Wc,pick:Gc}=C;function Xc(t){const e=this,i=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),o=(t,e)=>{for(const i of t)if(Rc({x:i[0],y:i[1]},e))return!0;return!1};function n(t){if(t&&(!t.alignAttr||t.placed)){const e=t.box?0:t.padding||0,i=t.alignAttr||{x:t.attr("x"),y:t.attr("y")},{height:s,polygon:o,width:n}=t.getBBox(),r=zc(t.alignValue)*n;return t.width=n,t.height=s,{x:i.x+(t.parentGroup?.translateX||0)+e-r,y:i.y+(t.parentGroup?.translateY||0)+e,width:n-2*e,height:s-2*e,polygon:o}}}let r,a,l,h,c,d=!1;for(let p=0;p<i;p++)r=t[p],r&&(r.oldOpacity=r.opacity,r.newOpacity=1,r.absoluteBox=n(r));t.sort((t,e)=>(e.labelrank||0)-(t.labelrank||0));for(let p=0;p<i;++p){a=t[p],h=a&&a.absoluteBox;const e=h?.polygon;for(let n=p+1;n<i;++n){l=t[n],c=l&&l.absoluteBox;let i=!1;if(h&&c&&a!==l&&0!==a.newOpacity&&0!==l.newOpacity&&"hidden"!==a.visibility&&"hidden"!==l.visibility){const t=c.polygon;if(e&&t&&e!==t?o(e,t)&&(i=!0):s(h,c)&&(i=!0),i){const t=a.labelrank<l.labelrank?a:l,e=t.text;t.newOpacity=0,e?.element.querySelector("textPath")&&e.hide()}}}}for(const p of t)Yc(p,e)&&(d=!0);d&&Hc(e,"afterHideAllOverlappingLabels")}function Yc(t,e){let i,s,o=!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"})},o=!0,t[t.isOld?"animate":"attr"]({opacity:s},void 0,i),Hc(e,"afterHideOverlappingLabel")):t.attr({opacity:s})),t.isOld=!0),o}function Uc(){const t=this;let e=[];for(const i of t.labelCollectors||[])e=e.concat(i());for(const i of t.yAxis||[])i.stacking&&i.options.stackLabels&&!i.options.stackLabels.allowOverlap&&Wc(i.stacking.stacks,t=>{Wc(t,t=>{t.label&&e.push(t.label)})});for(const i of t.series||[])if(i.visible&&i.hasDataLabels?.()){const s=i=>{for(const s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{const o=i.options||{};i.labelrank=Gc(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,Yc(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}const jc={compose:function(t){const e=t.prototype;e.hideOverlappingLabels||(e.hideOverlappingLabels=Xc,Fc(t,"render",Uc))}},{defaultOptions:Vc}=Q,{noop:qc}=t,{addEvent:$c,extend:Kc,isObject:_c,merge:Zc,relativeLength:Jc}=C,Qc={radius:0,scope:"stack",where:void 0};let td=qc,ed=qc;function id(t,e,i){const s=t[e];let o,n,r,a=t[e+1];if("Z"===a[0]&&(a=t[0]),"M"!==s[0]&&"L"!==s[0]||"A"!==a[0]?"A"!==s[0]||"M"!==a[0]&&"L"!==a[0]||(o=a,n=s):(o=s,n=a,r=!0),o&&n&&n.params){const s=n[1],a=n[5],l=n.params,{start:h,end:c,cx:d,cy:p}=l,u=a?s-i:s+i,g=u?Math.asin(i/u):0,m=a?g:-g,f=Math.cos(g)*u;r?(l.start=h+m,o[1]=d+f*Math.cos(h),o[2]=p+f*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,d+s*Math.cos(l.start),p+s*Math.sin(l.start)])):(l.end=c-m,n[6]=d+s*Math.cos(l.end),n[7]=p+s*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,d+f*Math.cos(c),p+f*Math.sin(c)])),n[4]=Math.abs(l.end-l.start)<Math.PI?0:1}}function sd(t,e,i,s,o={}){const n=td(t,e,i,s,o),{brStart:r=!0,brEnd:a=!0,innerR:l=0,r:h=i,start:c=0,end:d=0}=o;if(o.open||!o.borderRadius)return n;const p=d-c,u=Math.sin(p/2),g=Math.max(Math.min(Jc(o.borderRadius||0,h-l),(h-l)/2,h*u/(1+u)),0),m=Math.min(g,p/Math.PI*2*l);let f=n.length-1;for(;f--;)(r||0!==f&&3!==f)&&(a||1!==f&&2!==f)&&id(n,f,f>1?m:g);return n}function od(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){const{options:t,yAxis:e}=this,i="percent"===t.stacking,s=Vc.plotOptions?.[this.type]?.borderRadius,o=nd(t.borderRadius,_c(s)?s:{}),n=e.options.reversed;for(const r of this.points){const{shapeArgs:s}=r;if("roundedRect"===r.shapeType&&s){const{width:a=0,height:l=0,y:h=0}=s;let c=h,d=l;if("stack"===o.scope&&r.stackTotal){const s=e.translate(i?100:r.stackTotal,!1,!0,!1,!0),o=e.translate(t.threshold||0,!1,!0,!1,!0),n=this.crispCol(0,Math.min(s,o),0,Math.abs(s-o));c=n.y,d=n.height}const p=(r.negative?-1:1)*(n?-1:1)==-1;let u=o.where;!u&&this.is("waterfall")&&Math.abs((r.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(u="all"),u||(u="end");const g=Math.min(Jc(o.radius,a),a/2,"all"===u?l/2:1/0)||0;"end"===u&&(p?(c-=g,d+=g):d+=g),Kc(s,{brBoxHeight:d,brBoxY:c,r:g})}}}}
vendor: 1,865 bytes, line 1
1function nd(t,e){return _c(t)||(t={radius:t||0}),Zc(Qc,e,t)}function rd(){const t=nd(this.options.borderRadius);for(const e of this.points){const i=e.shapeArgs;i&&(i.borderRadius=Jc(t.radius,(i.r||0)-(i.innerR||0)))}}function ad(t,e,i,s,o={}){const n=ed(t,e,i,s,o),{r:r=0,brBoxHeight:a=s,brBoxY:l=e}=o,h=e-l,c=l+a-(e+s),d=h-r>-.1?0:r,p=c-r>-.1?0:r,u=Math.max(d&&h,0),g=Math.max(p&&c,0),m=[t+d,e],f=[t+i-d,e],x=[t+i,e+d],y=[t+i,e+s-p],b=[t+i-p,e+s],v=[t+p,e+s],w=[t,e+s-p],k=[t,e+d],T=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(u){const t=T(d,d-u);m[0]-=t,f[0]+=t,x[1]=k[1]=e+d-u}if(s<d-u){const o=T(d,d-u-s);x[0]=y[0]=t+i-d+o,b[0]=Math.min(x[0],b[0]),v[0]=Math.max(y[0],v[0]),w[0]=k[0]=t+d-o,x[1]=k[1]=e+s}if(g){const t=T(p,p-g);b[0]+=t,v[0]-=t,y[1]=w[1]=e+s-p+g}if(s<p-g){const o=T(p,p-g-s);x[0]=y[0]=t+i-p+o,f[0]=Math.min(x[0],f[0]),m[0]=Math.max(y[0],m[0]),w[0]=k[0]=t+p-o,y[1]=w[1]=e}return n.length=0,n.push(["M",...m],["L",...f],["A",d,d,0,0,1,...x],["L",...y],["A",p,p,0,0,1,...b],["L",...v],["A",p,p,0,0,1,...w],["L",...k],["A",d,d,0,0,1,...m],["Z"]),n}const ld={compose:function(t,e,i){const s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){const o=i.prototype.symbols;$c(t,"afterColumnTranslate",od,{order:9}),$c(s,"afterTranslate",rd),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY","brEnd","brStart"),td=o.arc,ed=o.roundedRect,o.arc=sd,o.roundedRect=ad}},optionsToObject:nd},{diffObjects:hd,extend:cd,find:dd,merge:pd,pick:ud,uniqueKey:gd}=C;var md;!function(){function t(t,e){const i=t.condition;(i.callback||function(){return this.chartWidth<=ud(i.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=ud(i.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=ud(i.minWidth,0)&&this.chartHeight>=ud(i.minHeight,0)}).call(this)&&e.push(t._id)}function e(t,e){const i=this.options.responsive,s=this.currentResponsive;let o,n=[];
1!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=gd()),this.matchResponsiveRule(t,n)},this);const r=pd(...n.map(t=>dd(i?.rules||[],e=>e._id===t)).map(t=>t?.chartOptions));r.isResponsiveOptions=!0,n=n.toString()||void 0;const a=s?.ruleIds;n!==a&&(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),n?(o=hd(r,this.options,!0,this.collectionsWithUpdate),o.isResponsiveOptions=!0,this.currentResponsive={ruleIds:n,mergedOptions:r,undoOptions:o},this.updatingResponsive||this.update(r,t,!0)):this.currentResponsive=void 0)}(md||(md={})).compose=function(i){const s=i.prototype;return s.matchResponsiveRule||cd(s,{matchResponsiveRule:t,setResponsive:e}),i}}();const fd=md,xd=t;xd.AST=zt,xd.Axis=oo,xd.Chart=Qa,xd.Color=lt,xd.DataLabel=Ih,xd.DataTableCore=Qn,xd.Fx=ut,xd.HTMLElement=os,xd.Legend=ua,xd.LegendSymbol=or,xd.OverlappingDataLabels=xd.OverlappingDataLabels||jc,xd.PlotLineOrBand=Do,xd.Point=Sn,xd.Pointer=Un,xd.RendererRegistry=se,xd.Series=Yr,xd.SeriesRegistry=cr,xd.StackItem=bl,xd.SVGElement=Xe,xd.SVGRenderer=Ui,xd.Templating=ee,xd.Tick=Cs,xd.Time=q,xd.Tooltip=nn,xd.animate=St.animate,xd.animObject=St.animObject,xd.chart=Qa.chart,xd.color=lt.parse,xd.dateFormat=ee.dateFormat,xd.defaultOptions=Q.defaultOptions,xd.distribute=he.distribute,xd.format=ee.format,xd.getDeferredAnimation=St.getDeferredAnimation,xd.getOptions=Q.getOptions,xd.numberFormat=ee.numberFormat,xd.seriesType=cr.seriesType,xd.setAnimation=St.setAnimation,xd.setOptions=Q.setOptions,xd.stop=St.stop,xd.time=Q.defaultTime,xd.timers=ut.timers,ld.compose(xd.Series,xd.SVGElement,xd.SVGRenderer),Wh.compose(xd.Series.types.column),Ih.compose(xd.Series),co.compose(xd.Axis),os.compose(xd.SVGRenderer),ua.compose(xd.Chart),fo.compose(xd.Axis),jc.compose(xd.Chart),Dc.compose(xd.Series.types.pie),Do.compose(xd.Chart,xd.Axis),Un.compose(xd.Chart),fd.compose(xd.Chart),dl.compose(xd.Axis,xd.Chart,xd.Series),Wl.compose(xd.Axis,xd.Chart,xd.Series),nn.compose(xd.Pointer),C.extend(xd,C);const yd=Object.freeze(Object.defineProperty({__proto__:null,default:xd},Symbol.toStringTag,{value:"Module"})),{win:bd}=t,{discardElement:vd,objectEach:wd}=C;const kd={ajax:function(t){const e={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},i=new XMLHttpRequest;function s(e,i){t.error&&t.error(e,i)}if(!t.url)return!1;i.open((t.type||"get").toUpperCase(),t.url,!0),t.headers?.["Content-Type"]||i.setRequestHeader("Content-Type",e[t.dataType||"json"]||e.text),wd(t.headers,function(t,e){i.setRequestHeader(e,t)}),t.responseType&&(i.responseType=t.responseType),i.onreadystatechange=function(){let e;if(4===i.readyState){if(200===i.status){if("blob"!==t.responseType&&(e=i.responseText,"json"===t.dataType))try{e=JSON.parse(e)}catch(o){if(o instanceof Error)return s(i,o)}return t.success?.(e,i)}s(i,i.responseText)}},t.data&&"string"!=typeof t.data&&(t.data=JSON.stringify(t.data)),i.send(t.data)},getJSON:function(t,e){kd.ajax({url:t,success:e,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:async function(t,e,i){const s=new bd.FormData;wd(e,function(t,e){s.append(e,t)}),s.append("b64","true");const o=await bd.fetch(t,{method:"POST",body:s,...i});if(o.ok){const t=await o.text(),i=document.createElement("a");i.href=`data:${e.type};base64,${t}`,i.download=e.filename,i.click(),vd(i)}}},{getOptions:Td}=Q,{doc:Sd}=t,{ajax:Md}=kd,{seriesTypes:Ad}=cr,{addEvent:Cd,defined:Ed,extend:Pd,fireEvent:Od,isNumber:Ld,merge:Dd,objectEach:Nd,pick:Id,splat:Bd}=C;function Rd(t){return Boolean(t&&(t.rowsURL||t.csvURL||t.columnsURL))}class Fd{static data(t,e={},i){return new Fd(t,e,i)}static rowsToColumns(t){let e,i,s,o,n;if(t)for(n=[],i=t.length,e=0;e<i;e++)for(o=t[e].length,s=0;s<o;s++)n[s]||(n[s]=[]),n[s][e]=t[e][s];return n}constructor(t,e={},i){this.rowsToColumns=Fd.rowsToColumns,this.dateFormats={"YYYY/mm/dd":{regex:/^(\d{4})[\-\/\.](\d{1,2})[\-\/\.](\d{1,2})$/,parser:function(t){return t?Date.UTC(+t[1],+t[2]-1,+t[3]):NaN}},"dd/mm/YYYY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{4})$/,parser:function(t){return t?Date.UTC(+t[3],+t[2]-1,+t[1]):NaN},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{4})$/,parser:function(t){return t?Date.UTC(+t[3],+t[1]-1,+t[2]):NaN}},"dd/mm/YY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{2})$/,parser:function(t){if(!t)return NaN;const e=new Date;let i=+t[3];return i>e.getFullYear()-2e3?i+=1900:i+=2e3,Date.UTC(i,+t[2]-1,+t[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{2})$/,parser:function(t){return t?Date.UTC(+t[3]+2e3,+t[1]-1,+t[2]):NaN}}},this.chart=i,this.chartOptions=e,this.options=t,this.rawColumns=[],this.init(t,e,i)}init(t,e,i){let s,o=t.decimalPoint;e&&(this.chartOptions=e),i&&(this.chart=i),"."!==o&&","!==o&&(o=void 0),this.options=t,this.columns=t.columns||this.rowsToColumns(t.rows)||[],this.firstRowAsNames=Id(t.firstRowAsNames,this.firstRowAsNames,!0),this.decimalRegex=o&&new RegExp("^(-?[0-9]+)"+o+"([0-9]+)$"),void 0!==this.liveDataTimeout&&clearTimeout(this.liveDataTimeout),this.rawColumns=[],this.columns.length&&(this.dataFound(),s=!Rd(t)),s||(s=this.fetchLiveData()),s||(s=Boolean(this.parseCSV().length)),s||(s=Boolean(this.parseTable().length)),s||(s=this.parseGoogleSpreadsheet()),!s&&t.afterComplete&&t.afterComplete(this)}getColumnDistribution(){const t=this.chartOptions,e=this.options,i=[],s=function(t="line"){return(Ad[t].prototype.pointArrayMap||[0]).length},o=function(t="line"){return Ad[t].prototype.pointArrayMap},n=t?.chart?.type,r=[],a=[],l=e?.seriesMapping||t?.series?.map(function(){return{x:0}})||[];let h=0;
1(t?.series||[]).forEach(t=>{r.push(s(t.type||n))}),l.forEach(t=>{i.push(t.x||0)}),0===i.length&&i.push(0),l.forEach(e=>{const i=new zd,l=r[h]||s(n),c=(t?.series??[])[h]??{},d=o(c.type||n),p=d??["y"];(Ed(e.x)||c.isCartesian||!d)&&i.addColumnReader(e.x,"x"),Nd(e,function(t,e){"x"!==e&&i.addColumnReader(t,e)});for(let t=0;t<l;t++)i.hasReader(p[t])||i.addColumnReader(void 0,p[t]);a.push(i),h++});let c=o(n);void 0===c&&(c=["y"]),this.valueCount={global:s(n),xColumns:i,individual:r,seriesBuilders:a,globalPointArrayMap:c}}dataFound(){this.options.switchRowsAndColumns&&(this.columns=this.rowsToColumns(this.columns)),this.getColumnDistribution(),this.parseTypes(),!1!==this.parsed()&&this.complete()}parseCSV(t){const e=this,i=this.columns=[],s=t||this.options,o=s.startColumn||0,n=s.endColumn||Number.MAX_VALUE,r=[],a={",":0,";":0,"\t":0};let l,h,c=s.csv,d=s.startRow||0,p=s.endRow||Number.MAX_VALUE,u=0;function g(t,e,a,h){let c=0,d="",p="",u="",g="",m=0,f=0;function x(e){d=t[e],p=t[e-1],u=t[e+1]}function y(t){r.length<f+1&&r.push([t]),r[f][r[f].length-1]!==t&&r[f].push(t)}function b(){if(o>m||m>n)return++m,void(g="");s.columnTypes||(!isNaN(parseFloat(g))&&isFinite(g)?(g=parseFloat(g),y("number")):isNaN(Date.parse(g))?y("string"):(g=g.replace(/\//g,"-"),y("date"))),i.length<f+1&&i.push([]),i[f][e]=g,g="",++f,++m}if(t.trim().length&&"#"!==t.trim()[0]){for(;c<t.length;c++)if(x(c),'"'===d)for(x(++c);c<t.length&&('"'!==d||'"'===p||'"'===u);)('"'!==d||'"'===d&&'"'!==p)&&(g+=d),x(++c);else d===l?b():g+=d;b()}}if(c&&s.beforeParse&&(c=s.beforeParse.call(this,c)),c){h=c.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split(s.lineDelimiter||"\n"),(!d||d<0)&&(d=0),(!p||p>=h.length)&&(p=h.length-1),l=s.itemDelimiter?s.itemDelimiter:function(t){let i=0,o=0,n=!1;return t.some(function(t,e){let s,n,r,l=!1,h="";if(e>13)return!0;for(let c=0;c<t.length;c++){if(s=t[c],n=t[c+1],r=t[c-1],"#"===s)return;if('"'===s)if(l){if('"'!==r&&'"'!==n){for(;" "===n&&c<t.length;)n=t[++c];void 0!==a[n]&&a[n]++,l=!1}}else l=!0;else void 0!==a[s]?(h=h.trim(),isNaN(Date.parse(h))&&!isNaN(h)&&isFinite(h)||a[s]++,h=""):h+=s;","===s&&o++,"."===s&&i++}}),n=a[";"]>a[","]?";":(a[","],a[";"],","),s.decimalPoint||(s.decimalPoint=i>o?".":",",e.decimalRegex=new RegExp("^(-?[0-9]+)"+s.decimalPoint+"([0-9]+)$")),n}(h);let t=0;for(u=d;u<=p;u++)"#"===h[u][0]?t++:g(h[u],u-d-t);s.columnTypes&&0!==s.columnTypes.length||!r.length||!r[0].length||"date"!==r[0][1]||s.dateFormat||(s.dateFormat=function(t,i){const o="YYYY/mm/dd",n=[],r=[];let a,l,h,c=[],d=0,p=!1;for((!i||i>t.length)&&(i=t.length);d<i;d++)if(void 0!==t[d]&&t[d]?.length)for(a=t[d].trim().replace(/\//g," ").replace(/\-/g," ").replace(/\./g," ").split(" "),c=["","",""],h=0;h<a.length;h++)h<c.length&&(a[h]=parseInt(a[h],10),a[h]&&(r[h]=!r[h]||r[h]<a[h]?a[h]:r[h],void 0!==n[h]?n[h]!==a[h]&&(n[h]=!1):n[h]=a[h],a[h]>31?a[h]<100?c[h]="YY":c[h]="YYYY":a[h]>12&&a[h]<=31?(c[h]="dd",p=!0):c[h].length||(c[h]="mm")));if(p){for(h=0;h<n.length;h++)!1!==n[h]?r[h]>12&&"YY"!==c[h]&&"YYYY"!==c[h]&&(c[h]="YY"):r[h]>12&&"mm"===c[h]&&(c[h]="dd");return 3===c.length&&"dd"===c[1]&&"dd"===c[2]&&(c[2]="YY"),l=c.join("/"),(s.dateFormats||e.dateFormats)[l]?l:(Od(e,"deduceDateFailed"),o)}return o}(i[0])),this.dataFound()}return i}parseTable(){const t=this.options,e=this.columns||[],i=t.startRow||0,s=t.endRow||Number.MAX_VALUE,o=t.startColumn||0,n=t.endColumn||Number.MAX_VALUE;if(t.table){let r=t.table;"string"==typeof r&&(r=Sd.getElementById(r)),[].forEach.call(r.getElementsByTagName("tr"),(t,r)=>{r>=i&&r<=s&&[].forEach.call(t.children,(t,s)=>{const a=e[s-o];let l=1;if(("TD"===t.tagName||"TH"===t.tagName)&&s>=o&&s<=n)for(e[s-o]||(e[s-o]=[]),e[s-o][r-i]=t.innerHTML;r-i>=l&&void 0===a[r-i-l];)a[r-i-l]=null,l++})}),this.dataFound()}return e}fetchLiveData(){const t=this,e=this.chart,i=this.options,s=i.enablePolling,o=Dd(i);let n=0,r=1e3*(i.dataRefreshRate||2);if(!Rd(i))return!1;return r<1e3&&(r=1e3),delete i.csvURL,delete i.rowsURL,delete i.columnsURL,function a(l){function h(o,h,c){if(!o||!/^(http|\/|\.\/|\.\.\/)/.test(o))return o&&i.error&&i.error("Invalid URL"),!1;function d(){s&&e.liveDataURL===o&&(t.liveDataTimeout=setTimeout(a,r))}return l&&(clearTimeout(t.liveDataTimeout),e.liveDataURL=o),Md({url:o,dataType:c||"json",success:function(t){e?.series&&h(t),d()},error:function(t,e){return++n<3&&d(),i.error?.(e,t)}}),!0}h(o.csvURL,function(t){e.update({data:{csv:t}})},"text")||h(o.rowsURL,function(t){e.update({data:{rows:t}})})||h(o.columnsURL,function(t){e.update({data:{columns:t}})})}(!0),Rd(i)}parseGoogleSpreadsheet(){const t=this,e=this.options,i=e.googleSpreadsheetKey,s=this.chart,o=Math.max(1e3*(e.dataRefreshRate||2),4e3),n=()=>
1{if(e.googleSpreadsheetRange)return e.googleSpreadsheetRange;const t="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i=(t.charAt(e.startColumn||0)||"A")+((e.startRow||0)+1);let s=t.charAt(Id(e.endColumn,-1))||"ZZ";return Ed(e.endRow)&&(s+=e.endRow+1),`${i}:${s}`};return i&&(delete e.googleSpreadsheetKey,function s(r){const a=["https://sheets.googleapis.com/v4/spreadsheets",i,"values",n(),"?alt=json&majorDimension=COLUMNS&valueRenderOption=UNFORMATTED_VALUE&dateTimeRenderOption=FORMATTED_STRING&key="+e.googleAPIKey].join("/");Md({url:a,dataType:"json",success:function(i){r(i),e.enablePolling&&(t.liveDataTimeout=setTimeout(function(){s(r)},o))},error:function(t,i){return e.error?.(i,t)}})}(function(e){const i=e.values;if(!i||0===i.length)return!1;const o=i.reduce((t,e)=>Math.max(t,e.length),0);i.forEach(t=>{for(let e=0;e<o;e++)void 0===t[e]&&(t[e]=null)}),s?.series?s.update({data:{columns:i}}):(t.columns=i,t.dataFound())})),!1}trim(t,e){return"string"==typeof t&&(t=t.replace(/^\s+|\s+$/g,""),e&&/[\d\s]+/.test(t)&&(t=t.replace(/\s/g,"")),this.decimalRegex&&(t=t.replace(this.decimalRegex,"$1.$2"))),t}parseTypes(){const t=this.columns||[];let e=t.length;for(;e--;)this.parseColumn(t[e],e)}parseColumn(t,e){const i=this.rawColumns,s=this.columns=this.columns||[],o=this.firstRowAsNames,n=-1!==this.valueCount?.xColumns.indexOf(e),r=[],a=this.chartOptions,l=(this.options.columnTypes||[])[e],h=n&&a?.xAxis&&"category"===Bd(a.xAxis)[0].type||"string"===l,c=Ed(t.name);let d,p,u,g,m,f,x,y=t.length;for(i[e]||(i[e]=[]);y--;)d=r[y]||t[y],u=this.trim(d),g=this.trim(d,!0),p=parseFloat(g),void 0===i[e][y]&&(i[e][y]=u),h||0===y&&o&&!c?t[y]=""+u:+g===p?(t[y]=p,p>31536e6&&"float"!==l?t.isDatetime=!0:t.isNumeric=!0,void 0!==t[y+1]&&(x=p>t[y+1])):(u?.length&&(m=this.parseDate(d)),n&&Ld(m)&&"float"!==l?(r[y]=d,t[y]=m,t.isDatetime=!0,void 0!==t[y+1]&&(f=m>t[y+1],f!==x&&void 0!==x&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,y=t.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):t.unsorted=!0),x=f)):(t[y]=""===u?null:u,0!==y&&(t.isDatetime||t.isNumeric)&&(t.mixed=!0)));if(n&&t.mixed&&(s[e]=i[e]),n&&x&&this.options.sort)for(e=0;e<s.length;e++)if(s[e].reverse(),o){const t=s[e].pop();t&&s[e].unshift(t)}}parseDate(t){const e=this.options.parseDate;let i,s,o,n,r=this.options.dateFormat||this.dateFormat;if(e)i=e(t);else if("string"==typeof t){if(r)o=this.dateFormats[r],o||(o=this.dateFormats["YYYY/mm/dd"]),n=t.match(o.regex),n&&(i=o.parser(n));else for(s in this.dateFormats)if(o=this.dateFormats[s],n=t.match(o.regex),n){this.dateFormat=r=s,this.alternativeFormat=o.alternative,i=o.parser(n);break}n||(t.match(/:.+(GMT|UTC|[Z+\-])/)&&(t=t.replace(/\s*(?:GMT|UTC)?([+\-])(\d\d)(\d\d)$/,"$1$2:$3").replace(/(?:\s+|GMT|UTC)([+\-])/,"$1").replace(/(\d)\s*(?:GMT|UTC|Z)$/,"$1+00:00")),n=Date.parse(t),"object"==typeof n&&null!==n&&n.getTime?i=n.getTime()-6e4*n.getTimezoneOffset():Ld(n)&&(i=n-6e4*new Date(n).getTimezoneOffset()))}return i}getData(){if(this.columns)return this.rowsToColumns(this.columns)?.slice(1)}parsed(){if(this.options.parsed)return this.options.parsed.call(this,this.columns)}complete(){const t=this.columns=this.columns||[],e=this.options,i=[];let s,o,n,r,a,l,h,c,d,p,u,g="linear";if(t.length,e.complete||e.afterComplete){if(this.firstRowAsNames)for(n=0;n<t.length;n++){const e=t[n];Ed(e.name)||(e.name=Id(e.shift(),"").toString())}for(s=[],d=function(t,e){const i=[],s=[];let o,n,r;for(n=0;n<t;n+=1)i.push(!0);for(o=0;o<e.length;o+=1)for(r=e[o].getReferencedColumnIndexes(),n=0;n<r.length;n+=1)i[r[n]]=!1;for(n=0;n<i.length;n+=1)i[n]&&s.push(n);return s}(t?.length||0,this.valueCount.seriesBuilders),l=0;l<this.valueCount.seriesBuilders.length;l++)c=this.valueCount.seriesBuilders[l],c.populateColumns(d)&&i.push(c);for(;d.length>0;){for(c=new zd,c.addColumnReader(0,"x"),u=d.indexOf(0),-1!==u&&d.splice(u,1),n=0;n<this.valueCount.global;n++)c.addColumnReader(void 0,this.valueCount.globalPointArrayMap[n]);c.populateColumns(d)&&i.push(c)}if(i.length>0&&i[0].readers.length>0&&(p=t?.[i[0].readers[0].columnIndex??-1],void 0!==p&&(p.isDatetime?g="datetime":p.isNumeric||(g="category"))),"category"===g)for(l=0;l<i.length;l++)for(c=i[l],a=0;a<c.readers.length;a++)"x"===c.readers[a].configName&&(c.readers[a].configName="name");for(l=0;l<i.length;l++){for(c=i[l],o=[],r=0;r<t[0].length;r++)o[r]=c.read(t,r);s[l]={data:o,pointStart:o[0]&&(c.pointIsArray?o[0]?.[0]:o[0]?.x)||void 0},c.name&&(s[l].name=c.name),"category"===g&&(s[l].turboThreshold=0,s[l].pointStart=0)}h={series:s},"linear"!==g||this.xAxisOptions&&this.xAxisOptions.type!==g?(this.xAxisOptions={type:g},"category"===g&&(this.xAxisOptions.uniqueNames=!1)):g=this.xAxisOptions=void 0,this.chart||Dd(!0,h,{xAxis:this.xAxisOptions||{}}),e.complete?.(h),e.afterComplete?.(this,h)}}xAxisUpdateHandler(t){const e=this.xAxisOptions;e&&(!t.options.type&&e.type&&(t.type=e.type),t.options.uniqueNames||!1!==e.uniqueNames||(t.uniqueNames=e.uniqueNames))}update(t,e){const i=this.chart,s=i.options;t&&(t.afterComplete=function(t,s){if(!s)return;const o=i.xAxis[0],n=t.xAxisOptions;n&&o&&(o.type!==n.type&&!o.options.type||o.uniqueNames&&!1===n.uniqueNames&&void 0===o.options.uniqueNames)?o.update({}
1,!1):(s?.series||[]).forEach(function(t){delete t.pointStart}),i.update(s,e,!0)},Dd(!0,s.data,t),s.data?.googleSpreadsheetKey&&!t.columns&&delete s.data.columns,this.init(s.data||{},s))}}Cd(oo,"afterSetOptions",function(){!this.isXAxis||this.chart.xAxis.length&&this.chart.xAxis[0]!==this||this.chart.data?.xAxisUpdateHandler(this)}),Cd(Qa,"init",function(t){const e=this,i=t.args[1],s=Td().data;let o=t.args[0]||{};if((s||o&&o.data)&&!e.hasDataDef){e.hasDataDef=!0;const n=Dd(s,o.data);e.data=new Fd(Pd(n,{afterComplete:function(t,s){let n,r;if(Object.hasOwnProperty.call(o,"series"))if("object"==typeof o.series)for(n=Math.max(o.series.length,s?.series?.length??0);n--;)r=o.series[n]||{},o.series[n]=Dd(r,s?.series?.[n]??{});else delete o.series;o=Dd(s,o),e.data=t,e.init(o,i)}}),o,e),t.preventDefault()}});class zd{constructor(){this.readers=[],this.pointIsArray=!0}populateColumns(t){let e=!0;return this.readers.forEach(e=>{void 0===e.columnIndex&&(e.columnIndex=t.shift())}),this.readers.forEach(t=>{void 0===t.columnIndex&&(e=!1)}),e}read(t,e){const i=this,s=i.pointIsArray,o=s?[]:{};if(i.readers.forEach(i=>{const n=t[i.columnIndex][e];s?o.push(n):i.configName.indexOf(".")>0?Sn.prototype.setNestedProperty(o,n,i.configName):o[i.configName]=n}),void 0===this.name&&i.readers.length>=2){const e=[];i.readers.forEach(function(t){"x"!==t.configName&&"name"!==t.configName&&"y"!==t.configName||void 0!==t.columnIndex&&e.push(t.columnIndex)}),e.length>=2&&(e.shift(),e.sort(function(t,e){return t-e})),this.name=t[Id(e.shift(),0)].name}return o}addColumnReader(t,e){this.readers.push({columnIndex:t,configName:e}),"x"!==e&&"y"!==e&&void 0!==e&&(this.pointIsArray=!1)}getReferencedColumnIndexes(){const t=[];let e,i;for(e=0;e<this.readers.length;e+=1)i=this.readers[e],void 0!==i.columnIndex&&t.push(i.columnIndex);return t}hasReader(t){let e,i;for(e=0;e<this.readers.length;e+=1)if(i=this.readers[e],i.configName===t)return!0}}const Hd=t;Hd.Data=Hd.Data||Fd,Hd.HttpUtilities=Hd.HttpUtilities||kd,Hd.ajax=Hd.HttpUtilities.ajax,Hd.data=Hd.Data.data,Hd.getJSON=Hd.HttpUtilities.getJSON,Hd.post=Hd.HttpUtilities.post;const Wd=Object.freeze(Object.defineProperty({__proto__:null,default:t},Symbol.toStringTag,{value:"Module"}));var Gd;!function(t){t.compose=function(t){return t.navigation||(t.navigation=new e(t)),t};class e{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(t,e){this.updates.forEach(i=>{i.call(this.chart,t,e)})}}t.Additions=e}(Gd||(Gd={}));const Xd=Gd,{isSafari:Yd,win:Ud,win:{document:jd}}=t,{error:Vd}=C,qd=Ud.URL||Ud.webkitURL||Ud;function $d(t){const e=t.replace(/filename=.*;/,"").match(/data:([^;]*)(;base64)?,([A-Z+\d\/]+)/i);if(e&&e.length>3&&Ud.atob&&Ud.ArrayBuffer&&Ud.Uint8Array&&Ud.Blob&&qd.createObjectURL){const t=Ud.atob(e[3]),i=new Ud.ArrayBuffer(t.length),s=new Ud.Uint8Array(i);for(let e=0;e<s.length;++e)s[e]=t.charCodeAt(e);return qd.createObjectURL(new Ud.Blob([s],{type:e[1]}))}}const Kd={dataURLtoBlob:$d,downloadURL:function(t,e){const i=Ud.navigator,s=jd.createElement("a");if("string"!=typeof t&&!(t instanceof String)&&i.msSaveOrOpenBlob)return void i.msSaveOrOpenBlob(t,e);if(t=""+t,i.userAgent.length>1e3)throw new Error("Input too long");const o=/Edge\/\d+/.test(i.userAgent);if((Yd&&"string"==typeof t&&0===t.indexOf("data:application/pdf")||o||t.length>2e6)&&!(t=$d(t)||""))throw new Error("Failed to convert to blob");if(void 0!==s.download)s.href=t,s.download=e,jd.body.appendChild(s),s.click(),jd.body.removeChild(s);else try{if(!Ud.open(t,"chart"))throw new Error("Failed to open window")}catch{Ud.location.href=t}},getScript:function(t){return new Promise((e,i)=>{const s=jd.getElementsByTagName("head")[0],o=jd.createElement("script");o.type="text/javascript",o.src=t,o.onload=()=>{e()},o.onerror=()=>{const e=`Error loading script ${t}`;Vd(e),i(new Error(e))},s.appendChild(o)})}},{isTouchDevice:_d}=t,Zd={exporting:{allowTableSorting:!0,libURL:"https://code.highcharts.com/12.4.0/lib/",local:!0,type:"image/png",url:`https://export-svg.highcharts.com?v=${t.version}`,pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol
1:"menu",titleKey:"contextButtonTitle",menuItems:["viewFullscreen","printChart","separator","downloadPNG","downloadJPEG","downloadSVG"]}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen?.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.exporting?.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:async function(){await(this.exporting?.exportChart())}},downloadJPEG:{textKey:"downloadJPEG",onclick:async function(){await(this.exporting?.exportChart({type:"image/jpeg"}))}},downloadPDF:{textKey:"downloadPDF",onclick:async function(){await(this.exporting?.exportChart({type:"application/pdf"}))}},downloadSVG:{textKey:"downloadSVG",onclick:async function(){await(this.exporting?.exportChart({type:"image/svg+xml"}))}}}},lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:14.5,symbolY:13.5,align:"right",buttonSpacing:5,height:28,y:-5,verticalAlign:"top",width:28,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{fill:"#ffffff",padding:5,stroke:"none","stroke-linecap":"round"}},menuStyle:{border:"none",borderRadius:"3px",background:"#ffffff",padding:"0.5em"},menuItemStyle:{background:"none",borderRadius:"3px",color:"#333333",padding:"0.5em",fontSize:_d?"0.9em":"0.8em",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#f2f2f2"}}};var Jd;!function(t){const e=[];function i(t,e,i,s){return[["M",t,e+2.5],["L",t+i,e+2.5],["M",t,e+s/2+.5],["L",t+i,e+s/2+.5],["M",t,e+s-1.5],["L",t+i,e+s-1.5]]}function s(t,e,i,s){const o=s/3-2;let n=[];return n=n.concat(this.circle(i-o,e,o,o),this.circle(i-o,e+o+4,o,o),this.circle(i-o,e+2*(o+4),o,o)),n}t.compose=function(t){if(-1===e.indexOf(t)){e.push(t);const o=t.prototype.symbols;o.menu=i,o.menuball=s.bind(o)}}}(Jd||(Jd={}));const Qd=Jd,{composed:tp}=t,{addEvent:ep,fireEvent:ip,pushUnique:sp}=C;function op(){this.fullscreen=new np(this)}class np{static compose(t){sp(tp,"Fullscreen")&&ep(t,"beforeRender",op)}constructor(t){this.chart=t,this.isOpen=!1;const e=t.renderTo;this.browserProps||("function"==typeof e.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:e.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:e.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:e.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){const t=this,e=t.chart,i=e.options.chart;ip(e,"fullscreenClose",null,function(){t.isOpen&&t.browserProps&&e.container.ownerDocument instanceof Document&&e.container.ownerDocument[t.browserProps.exitFullscreen](),t.unbindFullscreenEvent&&(t.unbindFullscreenEvent=t.unbindFullscreenEvent()),e.setSize(t.origWidth,t.origHeight,!1),t.origWidth=void 0,t.origHeight=void 0,i.width=t.origWidthOption,i.height=t.origHeightOption,t.origWidthOption=void 0,t.origHeightOption=void 0,t.isOpen=!1,t.setButtonText()})}open(){const t=this,e=t.chart,i=e.options.chart;ip(e,"fullscreenOpen",null,function(){if(i&&(t.origWidthOption=i.width,t.origHeightOption=i.height),t.origWidth=e.chartWidth,t.origHeight=e.chartHeight,t.browserProps){const i=ep(e.container.ownerDocument,t.browserProps.fullscreenChange,function(){t.isOpen?(t.isOpen=!1,t.close()):(e.setSize(null,null,!1),t.isOpen=!0,t.setButtonText())}),s=ep(e,"destroy",i);t.unbindFullscreenEvent=()=>{i(),s()};const o=e.renderTo[t.browserProps.requestFullscreen]();o&&o.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){const t=this.chart,e=t.exporting?.divElements,i=t.options.exporting,s=i&&i.buttons&&i.buttons.contextButton.menuItems,o=t.options.lang;if(i&&i.menuItemDefinitions&&o&&o.exitFullscreen&&o.viewFullscreen&&s&&e){const t=e[s.indexOf("viewFullscreen")];t&&zt.setElementHTML(t,this.isOpen?o.exitFullscreen:i.menuItemDefinitions.viewFullscreen.text||o.viewFullscreen)}}toggle(){const t=this;t.isOpen?t.close():t.open()}}const{defaultOptions:rp,setOptions:ap}
1=Q,{downloadURL:lp,getScript:hp}=Kd,{composed:cp,doc:dp,isFirefox:pp,isMS:up,isSafari:gp,SVG_NS:mp,win:fp}=t,{addEvent:xp,clearTimeout:yp,createElement:bp,css:vp,discardElement:wp,error:kp,extend:Tp,find:Sp,fireEvent:Mp,isObject:Ap,merge:Cp,objectEach:Ep,pick:Pp,pushUnique:Op,removeEvent:Lp,splat:Dp,uniqueKey:Np}=C;zt.allowedAttributes.push("data-z-index","fill-opacity","filter","preserveAspectRatio","rx","ry","stroke-dasharray","stroke-linejoin","stroke-opacity","text-anchor","transform","transform-origin","version","viewBox","visibility","xmlns","xmlns:xlink"),zt.allowedTags.push("desc","clippath","fedropshadow","femorphology","g","image");const Ip=fp.URL||fp.webkitURL||fp;class Bp{constructor(t,e){this.options={},this.chart=t,this.options=e,this.btnCount=0,this.buttonOffset=0,this.divElements=[],this.svgElements=[]}static hyphenate(t){return t.replace(/[A-Z]/g,function(t){return"-"+t.toLowerCase()})}static async imageToDataURL(t,e,i){const s=await Bp.loadImage(t),o=dp.createElement("canvas"),n=o?.getContext("2d");if(n)return o.height=s.height*e,o.width=s.width*e,n.drawImage(s,0,0,o.width,o.height),o.toDataURL(i);throw new Error("No canvas found!")}static async fetchCSS(t){const e=await fetch(t).then(t=>t.text()),i=new CSSStyleSheet;return i.replaceSync(e),i}static async handleStyleSheet(t,e){try{for(const i of Array.from(t.cssRules)){if(i instanceof CSSImportRule){const t=await Bp.fetchCSS(i.href);await Bp.handleStyleSheet(t,e)}if(i instanceof CSSFontFaceRule){let s=i.cssText;if(t.href){const e=t.href,i=/url\(\s*(['"]?)(?![a-z]+:|\/\/)([^'")]+?)\1\s*\)/gi;s=s.replace(i,(t,i,s)=>`url(${i}${new URL(s,e).href}${i})`)}e.push(s)}}}catch{if(t.href){const i=await Bp.fetchCSS(t.href);await Bp.handleStyleSheet(i,e)}}}static async fetchStyleSheets(){const t=[];for(const e of Array.from(dp.styleSheets))await Bp.handleStyleSheet(e,t);return t}static async inlineFonts(t){const e=/url\(([^)]+)\)/g,i=[];let s,o=(await Bp.fetchStyleSheets()).join("\n");for(;s=e.exec(o);){const t=s[1].replace(/['"]/g,"");i.includes(t)||i.push(t)}const n=t=>{let e="";const i=new Uint8Array(t);for(let s=0;s<i.byteLength;s++)e+=String.fromCharCode(i[s]);return btoa(e)},r={};for(const l of i)try{const t=await fetch(l),e=t.headers.get("Content-Type")||"",i=n(await t.arrayBuffer());r[l]=`data:${e};base64,${i}`}catch{}o=o.replace(e,(t,e)=>{const i=e.replace(/['"]/g,"");return`url(${r[i]||i})`});const a=document.createElementNS("http://www.w3.org/2000/svg","style");return a.textContent=o,t.append(a),t}static loadImage(t){return new Promise((e,i)=>{const s=new fp.Image;s.crossOrigin="Anonymous",s.onload=()=>{setTimeout(()=>{e(s)},Bp.loadEventDeferDelay)},s.onerror=t=>{i(t)},s.src=t})}static prepareImageOptions(t){const e=t?.type||"image/png",i=t?.libURL||rp.exporting?.libURL;return{type:e,filename:(t?.filename||"chart")+"."+("image/svg+xml"===e?"svg":e.split("/")[1]),scale:t?.scale||1,libURL:"/"!==i?.slice(-1)?i+"/":i}}static sanitizeSVG(t,e){const i=t.indexOf("</svg>")+6,s=t.indexOf("<foreignObject")>-1;let o=t.substr(i);return t=t.substr(0,i),s?t=t.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />"):o&&e?.exporting?.allowHTML&&(o='<foreignObject x="0" y="0" width="'+e.chart.width+'" height="'+e.chart.height+'"><body xmlns="http://www.w3.org/1999/xhtml">'+o.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />")+"</body></foreignObject>",t=t.replace("</svg>",o+"</svg>")),t=t.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery\d+="[^"]+"/g,"").replace(/url\(("|&quot;)(.*?)("|&quot;)\;?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'<svg xmlns:xlink="http://www.w3.org/1999/xlink" ').replace(/ (NS\d+\:)?href=/g," xlink:href=").replace(/\n+/g," ").replace(/&nbsp;/g," ").replace(/&shy;/g,"­")}static svgToDataURL(t){const e=fp.navigator.userAgent,i=e.indexOf("WebKit")>-1&&e.indexOf("Chrome")<0;try{if(!i&&-1===t.indexOf("<foreignObject"))return Ip.createObjectURL(new fp.Blob([t],{type:"image/svg+xml;charset-utf-16"}))}catch{}return"data:image/svg+xml;charset=UTF-8,"+encodeURIComponent(t)}addButton(t){const e=this,i=e.chart,s=i.renderer,o=Cp(i.options.navigation?.buttonOptions,t),n=o.onclick,r=o.menuItems,a=o.symbolSize||12;let l;if(!1===o.enabled||!o.theme)return;const h=i.styledMode?{}:o.theme;
1let c=()=>{};n?c=function(t){t&&t.stopPropagation(),n.call(i,t)}:r&&(c=function(t){t&&t.stopPropagation(),e.contextMenu(d.menuClassName,r,d.translateX||0,d.translateY||0,d.width||0,d.height||0,d),d.setState(2)}),o.text&&o.symbol?h.paddingLeft=Pp(h.paddingLeft,30):o.text||Tp(h,{width:o.width,height:o.height,padding:0});const d=s.button(o.text||"",0,0,c,h,void 0,void 0,void 0,void 0,o.useHTML).addClass(t.className||"").attr({title:Pp(i.options.lang[o._titleKey||o.titleKey],"")});d.menuClassName=t.menuClassName||"highcharts-menu-"+e.btnCount++,o.symbol&&(l=s.symbol(o.symbol,Math.round((o.symbolX||0)-a/2),Math.round((o.symbolY||0)-a/2),a,a,{width:a,height:a}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(d),i.styledMode||l.attr({stroke:o.symbolStroke,fill:o.symbolFill,"stroke-width":o.symbolStrokeWidth||1})),d.add(e.group).align(Tp(o,{width:d.width,x:Pp(o.x,e.buttonOffset)}),!0,"spacingBox"),e.buttonOffset+=((d.width||0)+(o.buttonSpacing||0))*("right"===o.align?-1:1),e.svgElements.push(d,l)}afterPrint(){const t=this.chart;if(!this.printReverseInfo)return;const{childNodes:e,origDisplay:i,resetParams:s}=this.printReverseInfo;this.moveContainers(t.renderTo),[].forEach.call(e,function(t,e){1===t.nodeType&&(t.style.display=i[e]||"")}),this.isPrinting=!1,s&&t.setSize.apply(t,s),delete this.printReverseInfo,Bp.printingChart=void 0,Mp(t,"afterPrint")}beforePrint(){const t=this.chart,e=dp.body,i=this.options.printMaxWidth,s={childNodes:e.childNodes,origDisplay:[],resetParams:void 0};this.isPrinting=!0,t.pointer?.reset(void 0,0),Mp(t,"beforePrint"),i&&t.chartWidth>i&&(s.resetParams=[t.options.chart.width,void 0,!1],t.setSize(i,void 0,!1)),[].forEach.call(s.childNodes,function(t,e){1===t.nodeType&&(s.origDisplay[e]=t.style.display,t.style.display="none")}),this.moveContainers(e),this.printReverseInfo=s}contextMenu(t,e,i,s,o,n,r){const a=this,l=a.chart,h=l.options.navigation,c=l.chartWidth,d=l.chartHeight,p="cache-"+t,u=Math.max(o,n);let g,m=l[p];m||(a.contextMenuEl=l[p]=m=bp("div",{className:t},{position:"absolute",zIndex:1e3,padding:u+"px",pointerEvents:"auto",...l.renderer.style},l.scrollablePlotArea?.fixedDiv||l.container),g=bp("ul",{className:"highcharts-menu"},l.styledMode?{}:{listStyle:"none",margin:0,padding:0},m),l.styledMode||vp(g,Tp({MozBoxShadow:"3px 3px 10px #0008",WebkitBoxShadow:"3px 3px 10px #0008",boxShadow:"3px 3px 10px #0008"},h?.menuStyle||{})),m.hideMenu=function(){vp(m,{display:"none"}),r&&r.setState(0),l.exporting&&(l.exporting.openMenu=!1),vp(l.renderTo,{overflow:"hidden"}),vp(l.container,{overflow:"hidden"}),yp(m.hideTimer),Mp(l,"exportMenuHidden")},a.events?.push(xp(m,"mouseleave",function(){m.hideTimer=fp.setTimeout(m.hideMenu,500)}),xp(m,"mouseenter",function(){yp(m.hideTimer)}),xp(dp,"mouseup",function(e){l.pointer?.inClass(e.target,t)||m.hideMenu()}),xp(m,"click",function(){l.exporting?.openMenu&&m.hideMenu()})),e.forEach(function(t){if("string"==typeof t&&a.options.menuItemDefinitions?.[t]&&(t=a.options.menuItemDefinitions[t]),Ap(t,!0)){let e;t.separator?e=bp("hr",void 0,void 0,g):("viewData"===t.textKey&&a.isDataTableVisible&&(t.textKey="hideData"),e=bp("li",{className:"highcharts-menu-item",onclick:function(e){e&&e.stopPropagation(),m.hideMenu(),"string"!=typeof t&&t.onclick&&t.onclick.apply(l,arguments)}},void 0,g),zt.setElementHTML(e,t.text||l.options.lang[t.textKey]),l.styledMode||(e.onmouseover=function(){vp(this,h?.menuItemHoverStyle||{})},e.onmouseout=function(){vp(this,h?.menuItemStyle||{})},vp(e,Tp({cursor:"pointer"},h?.menuItemStyle||{})))),a.divElements.push(e)}}),a.divElements.push(g,m),a.menuHeight=m.offsetHeight,a.menuWidth=m.offsetWidth);const f={display:"block"};i+(a.menuWidth||0)>c?f.right=c-i-o-u+"px":f.left=i-u+"px",s+n+(a.menuHeight||0)>d&&"top"!==r.alignOptions?.verticalAlign?f.bottom=d-s-u+"px":f.top=s+n-u+"px",vp(m,f),vp(l.renderTo,{overflow:""}),vp(l.container,{overflow:""}),l.exporting&&(l.exporting.openMenu=!0),Mp(l,"exportMenuShown")}destroy(t){const e=this,i=t?t.target:e.chart,{divElements:s,events:o,svgElements:n}=e;let r;n.forEach((t,e)=>{t&&(t.onclick=t.ontouchstart=null,r="cache-"+t.menuClassName,i[r]&&delete i[r],n[e]=t.destroy())}),n.length=0,e.group&&(e.group.destroy(),delete e.group),s.forEac
1h(function(t,e){t&&(yp(t.hideTimer),Lp(t,"mouseleave"),s[e]=t.onmouseout=t.onmouseover=t.ontouchstart=t.onclick=null,wp(t))}),s.length=0,o&&(o.forEach(function(t){t()}),o.length=0)}async downloadSVG(t,e){const i={svg:t,exportingOptions:e,exporting:this};if(Mp(Bp.prototype,"downloadSVG",i),i.defaultPrevented)return;const{type:s,filename:o,scale:n,libURL:r}=Bp.prepareImageOptions(e);let a;if("application/pdf"===s)throw new Error("Offline exporting logic for PDF type is not found.");if("image/svg+xml"===s){if(void 0!==fp.MSBlobBuilder){const e=new fp.MSBlobBuilder;e.append(t),a=e.getBlob("image/svg+xml")}else a=Bp.svgToDataURL(t);lp(a,o)}else{a=Bp.svgToDataURL(t);try{Bp.objectURLRevoke=!0;const t=await Bp.imageToDataURL(a,n,s);lp(t,o)}catch(l){if("No canvas found!"===l.message)throw l;if(t.length>1e8)throw new Error("Input too long");const e=dp.createElement("canvas"),i=e.getContext("2d"),a=t.match(/^<svg[^>]*\s{,1000}width\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/),h=t.match(/^<svg[^>]*\s{0,1000}height\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/);if(i&&a&&h){const l=+a[1]*n,c=+h[1]*n,d=()=>{fp.canvg.Canvg.fromString(i,t).start(),lp(fp.navigator.msSaveOrOpenBlob?e.msToBlob():e.toDataURL(s),o)};e.width=l,e.height=c,fp.canvg||(Bp.objectURLRevoke=!0,await hp(r+"canvg.js")),d()}}finally{if(Bp.objectURLRevoke)try{Ip.revokeObjectURL(a)}catch{}}}}async exportChart(t,e){if((t=Cp(this.options,t)).local)await this.localExport(t,e||{});else{const i=this.getSVGForExport(t,e);t.url&&await kd.post(t.url,{filename:t.filename?t.filename.replace(/\//g,"-"):this.getFilename(),type:t.type,width:t.width,scale:t.scale,svg:i},t.fetchOptions)}}async fallbackToServer(t,e){!1===t.fallbackToExportServer?t.error?t.error(t,e):kp(28,!0):"application/pdf"===t.type&&(t.local=!1,await this.exportChart(t))}getChartHTML(t){const e=this.chart;return t&&this.inlineStyles(),this.resolveCSSVariables(),e.container.innerHTML}getFilename(){const t=this.chart.userOptions.title?.text;let e=this.options.filename;return e?e.replace(/\//g,"-"):("string"==typeof t&&(e=t.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z\d\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,"")),(!e||e.length<5)&&(e="chart"),e)}getSVG(t){const e=this.chart;let i,s,o=Cp(e.options,t);o.plotOptions=Cp(e.userOptions.plotOptions,t?.plotOptions),o.time=Cp(e.userOptions.time,t?.time);const n=bp("div",void 0,{position:"absolute",top:"-9999em",width:e.chartWidth+"px",height:e.chartHeight+"px"},dp.body),r=e.renderTo.style.width,a=e.renderTo.style.height,l=o.exporting?.sourceW
1idth||o.chart.width||/px$/.test(r)&&parseInt(r,10)||(o.isGantt?800:600),h=o.exporting?.sourceHeight||o.chart.height||/px$/.test(a)&&parseInt(a,10)||400;Tp(o.chart,{animation:!1,renderTo:n,forExport:!0,renderer:"SVGRenderer",width:l,height:h}),o.exporting&&(o.exporting.enabled=!1),delete o.data,o.series=[],e.series.forEach(function(t){s=Cp(t.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:t.visible}),s.isInternal||o?.series?.push(s)});const c={};e.axes.forEach(function(t){t.userOptions.internalKey||(t.userOptions.internalKey=Np()),o&&!t.options.isInternal&&(c[t.coll]||(c[t.coll]=!0,o[t.coll]=[]),o[t.coll].push(Cp(t.userOptions,{visible:t.visible,type:t.type,uniqueNames:t.uniqueNames})))}),o.colorAxis=e.userOptions.colorAxis;const d=new e.constructor(o,e.callback);return t&&["xAxis","yAxis","series"].forEach(function(e){t[e]&&d.update({[e]:t[e]})}),e.axes.forEach(function(e){const i=Sp(d.axes,t=>t.options.internalKey===e.userOptions.internalKey);if(i){const s=e.getExtremes(),o=Dp(t?.[e.coll]||{})[0],n="min"in o?o.min:s.userMin,r="max"in o?o.max:s.userMax;(void 0!==n&&n!==i.min||void 0!==r&&r!==i.max)&&i.setExtremes(n??void 0,r??void 0,!0,!1)}}),i=d.exporting?.getChartHTML(e.styledMode||o.exporting?.applyStyleSheets)||"",Mp(e,"getSVG",{chartCopy:d}),i=Bp.sanitizeSVG(i,o),o=void 0,d.destroy(),wp(n),i}getSVGForExport(t,e){const i=this.options;return this.getSVG(Cp({chart:{borderRadius:0}}
1,i.chartOptions,e,{exporting:{sourceWidth:t?.sourceWidth||i.sourceWidth,sourceHeight:t?.sourceHeight||i.sourceHeight}}))}inlineStyles(){const t=Bp.inlineDenylist,e=Bp.inlineAllowlist,i={};let s;const o=bp("iframe",void 0,{width:"1px",height:"1px",visibility:"hidden"},dp.body),n=o.contentWindow?.document;n&&n.body.appendChild(n.createElementNS(mp,"svg")),function o(r){const a={};let l,h,c,d,p,u;function g(s,o){if(d=p=!1,e.length){for(u=e.length;u--&&!p;)p=e[u].test(o);d=!p}for("transform"===o&&"none"===s&&(d=!0),u=t.length;u--&&!d;){if(o.length>1e3)throw new Error("Input too long");d=t[u].test(o)||"function"==typeof s}d||h[o]===s&&"svg"!==r.nodeName||i[r.nodeName][o]===s||(Bp.inlineToAttributes&&-1===Bp.inlineToAttributes.indexOf(o)?a[o]=s:s&&r.setAttribute(Bp.hyphenate(o),s))}if(n&&1===r.nodeType&&-1===Bp.unstyledElements.indexOf(r.nodeName)){if(l=fp.getComputedStyle(r,null),h="svg"===r.nodeName?{}:fp.getComputedStyle(r.parentNode,null),!i[r.nodeName]){s=n.getElementsByTagName("svg")[0],c=n.createElementNS(r.namespaceURI,r.nodeName),s.appendChild(c);const t=fp.getComputedStyle(c,null),e={};for(const i in t)i.length<1e3&&"string"==typeof t[i]&&!/^\d+$/.test(i)&&(e[i]=t[i]);i[r.nodeName]=e,"text"===r.nodeName&&delete i.text.fill,s.removeChild(c)}for(const t in l)(pp||up||gp||Object.hasOwnProperty.call(l,t))&&g(l[t],t);if(vp(r,a),"svg"===r.nodeName&&r.setAttribute("stroke-width","1px"),"text"===r.nodeName)return;[].forEach.call(r.children||r.childNodes,o)}}(this.chart.container.querySelector("svg")),s.parentNode.removeChild(s),o.parentNode.removeChild(o)}async localExport(t,e){const i=this.chart,s=this;let o,n,r,a=null;if(up&&i.styledMode&&!Bp.inlineAllowlist.length&&Bp.inlineAllowlist.push(/^blockSize/,/^border/,/^caretColor/,/^color/,/^columnRule/,/^columnRuleColor/,/^cssFloat/,/^cursor/,/^fill$/,/^fillOpacity/,/^font/,/^inlineSize/,/^length/,/^lineHeight/,/^opacity/,/^outline/,/^parentRule/,/^rx$/,/^ry$/,/^stroke/,/^textAlign/,/^textAnchor/,/^textDecoration/,/^transform/,/^vectorEffect/,/^visibility/,/^x$/,/^y$/),up&&("application/pdf"===t.type||i.container.getElementsByTagName("image").length&&"image/svg+xml"!==t.type)||"application/pdf"===t.type&&[].some.call(i.container.getElementsByTagName("image"),function(t){const e=t.getAttribute("href");return""!==e&&"string"==typeof e&&0!==e.indexOf("data:")}))return void(await this.fallbackToServer(t,new Error("Image type not supported for this chart/browser.")));const l=xp(i,"getSVG",t=>{n=t.chartCopy.options,o=t.chartCopy.container.cloneNode(!0),r=o&&o.getElementsByTagName("image")||[]});try{this.getSVGForExport(t,e);const i=r?Array.from(r):[];for(const e of i)if(a=e.getAttributeNS("http://www.w3.org/1999/xlink","href"),a){Bp.objectURLRevoke=!1;const i=await Bp.imageToDataURL(a,t?.scale||1,t?.type||"image/png");e.setAttributeNS("http://www.w3.org/1999/xlink","href",i)}else e.parentNode.removeChild(e);const l=o?.querySelector("svg");l&&!t.chartOptions?.chart?.style?.fontFamily&&await Bp.inlineFonts(l);const c=(h=o?.innerHTML,Bp.sanitizeSVG(h||"",n));if(c.indexOf("<foreignObject")>-1&&"image/svg+xml"!==t.type&&(up||"application/pdf"===t.type))throw new Error("Image type not supported for charts with embedded HTML");return await s.downloadSVG(c,Tp({filename:s.getFilename()},t)),c}catch(c){await this.fallbackToServer(t,c)}finally{l()}var h}moveContainers(t){const e=this.chart,{scrollablePlotArea:i}=e;(i?[i.fixedDiv,i.scrollingContainer]:[e.container]).forEach(function(e){t.appendChild(e)})}print(){const t=this.chart;this.isPrinting||(Bp.printingChart=t,gp||this.beforePrint(),setTimeout(()=>{fp.focus(),fp.print(),gp||setTimeout(()=>{t.exporting?.afterPrint()},1e3)},1))}render(){const t=this,{chart:e,options:i}=t,s=t?.isDirty||!t?.svgElements.length;t.buttonOffset=0,t.isDirty&&t.destroy(),s&&!1!==i.enabled&&(t.events=[],t.group||(t.group=e.renderer.g("exporting-group").attr({zIndex:3}).add()),Ep(i?.buttons,function(e){t.addButton(e)}),t.isDirty=!1)}resolveCSSVariables(){Array.from(this.chart.container.querySelectorAll("*")).forEach(t=>
1{["color","fill","stop-color","stroke"].forEach(e=>{const i=t.getAttribute(e);i?.includes("var(")&&t.setAttribute(e,getComputedStyle(t).getPropertyValue(e));const s=t.style?.[e];s?.includes("var(")&&(t.style[e]=getComputedStyle(t).getPropertyValue(e))})})}update(t,e){this.isDirty=!0,Cp(!0,this.options,t),Pp(e,!0)&&this.chart.redraw()}}Bp.inlineAllowlist=[],Bp.inlineDenylist=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/^parentRule$/,/^(cssRules|ownerRules)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/,/^\d+$/],Bp.inlineToAttributes=["fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","textAnchor","x","y"],Bp.loadEventDeferDelay=up?150:0,Bp.unstyledElements=["clipPath","defs","desc"],function(t){function e(t){const e=t.exporting;e&&(e.render(),xp(t,"redraw",function(){this.exporting?.render()}),xp(t,"destroy",function(){this.exporting?.destroy()}))}function i(){const e=this;e.options.exporting&&(e.exporting=new t(e,e.options.exporting),Xd.compose(e).navigation.addUpdate((t,i)=>{e.exporting&&(e.exporting.isDirty=!0,Cp(!0,e.options.navigation,t),Pp(i,!0)&&e.redraw())}))}function s({alignTo:t,key:e,textPxLength:i}){const s=this.options.exporting,{align:o,buttonSpacing:n=0,verticalAlign:r,width:a=0}=Cp(this.options.navigation?.buttonOptions,s?.buttons?.contextButton),l=t.width-i,h=a+n;(s?.enabled??1)&&"title"===e&&"right"===o&&"top"===r&&l<2*h&&(l<h?t.width-=h:"left"!==this.title?.alignValue&&(t.x-=h-l/2))}t.compose=function(o,n){Qd.compose(n),np.compose(o),Op(cp,"Exporting")&&(Tp(Qa.prototype,{exportChart:async function(t,e){await(this.exporting?.exportChart(t,e))},getChartHTML:function(t){return this.exporting?.getChartHTML(t)},getFilename:function(){return this.exporting?.getFilename()},getSVG:function(t){return this.exporting?.getSVG(t)},print:function(){return this.exporting?.print()}}),o.prototype.callbacks.push(e),xp(o,"afterInit",i),xp(o,"layOutTitle",s),gp&&fp.matchMedia("print").addListener(function(e){t.printingChart&&(e.matches?t.printingChart.exporting?.beforePrint():t.printingChart.exporting?.afterPrint())}),ap(Zd))}}(Bp||(Bp={}));const Rp=Bp,Fp=t;Fp.Exporting=Rp,Fp.HttpUtilities=Fp.HttpUtilities||kd,Fp.ajax=Fp.HttpUtilities.ajax,Fp.getJSON=Fp.HttpUtilities.getJSON,Fp.post=Fp.HttpUtilities.post,Rp.compose(Fp.Chart,Fp.Renderer);const zp=Object.freeze(Object.defineProperty({__proto__:null,default:t},Symbol.toStringTag,{value:"Module"})),Hp={exporting:{}},{getOptions:Wp,setOptions:Gp}=Q,{downloadURL:Xp,getScript:Yp}=Kd,{composed:Up,doc:jp,win:Vp}=t,{addEvent:qp,extend:$p,pushUnique:Kp}=C;var _p,Zp;(Zp=_p||(_p={})).compose=function(e){if(qp(e,"downloadSVG",async function(e){const{svg:i,exportingOptions:s,exporting:o,preventDefault:n}=e;if("application/pdf"===s?.type){n?.();try{const{type:e,filename:o,scale:n,libURL:r}=t.Exporting.prepareImageOptions(s);"application/pdf"===e&&(Vp.jspdf?.jsPDF||(await Yp(`${r}jspdf.js`),await Yp(`${r}svg2pdf.js`)),await async function(t,e,i,s){const o=function(t,e){const i=jp.createElement("div");zt.setElementHTML(i,t);const s=i.getElementsByTagName("text"),o=function(t,e){let s=t;for(;s&&s!==i;){if(s.style[e]){let i=s.style[e];"fontSize"===e&&/em$/.test(i)&&(i=Math.round(16*parseFloat(i))+"px"),t.style[e]=i;break}s=s.parentNode}};let n,r;return[].forEach.call(s,function(t){for(["fontFamily","fontSize"].forEach(e=>{o(t,e)}),t.style.fontFamily=e?.normal?"HighchartsFont":String(t.style.fontFamily&&t.style.fontFamily.split(" ").splice(-1)),n=t.getElementsByTagName("title"),[].forEach.call(n,function(e){t.removeChild(e)}),r=t.getElementsByClassName("highcharts-text-outline");r.length>0;){const t=r[0];t.parentNode&&t.parentNode.removeChild(t)}}),i.querySelector("svg")}(t,s);if(o){await async function(t,e){const i=t=>/[^\u0000-\u007F\u200B]+/.test(t),s=(t,e)=>{Vp.jspdf.jsPDF.API.events.push(["initialized",function(){this.addFileToVFS(t,e),this.addFont(t,"HighchartsFont",t),this.getFontList()?.HighchartsFont||this.setFont("HighchartsFont")}])};e&&!i(t.textContent||"")&&(e=void 0);const o=["normal","italic","bold","bolditalic"];let n;for(const r of o){const t=e?.[r];if(t)try{const e=await Vp.fetch(t);if(!e.ok)throw new Error(`Failed to fetch font: ${t}`);const i=await e.blob(),o=new FileReader,a=await new Promise((t,e)=>{o.onloadend=()=>{"string"==typeof o.result?t(o.result.split(",")[1]):e(new Error("Failed to read font as base64"))},o.onerror=e,o.readAsDataURL(i)});s(r,a),"normal"===r&&(n=a)}catch{}else n&&s(r,n)}}(o,s);
1const t=await async function(t,e,i){const s=(Number(t.getAttribute("width"))+2*e)*i,o=(Number(t.getAttribute("height"))+2*e)*i,n=new Vp.jspdf.jsPDF(o>s?"p":"l","pt",[s,o]);[].forEach.call(t.querySelectorAll('*[visibility="hidden"]'),function(t){t.parentNode.removeChild(t)});const r=t.querySelectorAll("linearGradient");for(let a=0;a<r.length;a++){const t=r[a].querySelectorAll("stop");let e=0;for(;e<t.length&&"0"===t[e].getAttribute("offset")&&"0"===t[e+1].getAttribute("offset");)t[e].remove(),e++}return[].forEach.call(t.querySelectorAll("tspan"),t=>{"​"===t.textContent&&(t.textContent=" ",t.setAttribute("dx",-5))}),await n.svg(t,{x:0,y:0,width:s,height:o,removeInvalid:!0}),n.output("datauristring")}(o,0,e);Xp(t,i)}}(i,n,o,s?.pdfFont))}catch(r){await(o?.fallbackToServer(s,r))}}}),!Kp(Up,"OfflineExporting"))return;$p(Qa.prototype,{exportChartLocal:async function(t,e){await(this.exporting?.exportChart(t,e))}}),Gp(Hp);const i=Wp().exporting?.buttons?.contextButton?.menuItems;i&&i.push("downloadPDF")},Zp.downloadSVGLocal=async function(e,i){await t.Exporting.prototype.downloadSVG.call(void 0,e,i)};const Jp=_p,Qp=t;Qp.dataURLtoBlob=Qp.dataURLtoBlob||Kd.dataURLtoBlob,Qp.downloadSVGLocal=Jp.downloadSVGLocal,Qp.downloadURL=Qp.downloadURL||Kd.downloadURL,Jp.compose(Qp.Exporting);const tu=Object.freeze(Object.defineProperty({__proto__:null,default:t},Symbol.toStringTag,{value:"Module"})),{doc:eu,win:iu}=t,{css:su}=C,ou=iu.EventTarget&&new iu.EventTarget||"none";function nu(t){if("function"==typeof iu.MouseEvent)return new iu.MouseEvent(t.type,t);if(eu?.createEvent){const e=eu.createEvent("MouseEvent");if(e.initMouseEvent)return e.initMouseEvent(t.type,t.bubbles,t.cancelable,t.view||iu,t.detail,t.screenX,t.screenY,t.clientX,t.clientY,t.ctrlKey,t.altKey,t.shiftKey,t.metaKey,t.button,t.relatedTarget),e}return ru(t.type)}function ru(t,e,i){const s=e||{x:0,y:0};if("function"==typeof iu.MouseEvent)return new iu.MouseEvent(t,{bubbles:!0,cancelable:!0,composed:!0,button:0,buttons:1,relatedTarget:i||ou,view:iu,detail:"click"===t?1:0,screenX:s.x,screenY:s.y,clientX:s.x,clientY:s.y});if(eu?.createEvent){const e=eu.createEvent("MouseEvent");if(e.initMouseEvent)return e.initMouseEvent(t,!0,!0,iu,"click"===t?1:0,s.x,s.y,s.x,s.y,!1,!1,
1!1,!1,0,null),e}return{type:t}}const au={addClass:function(t,e){t.classList?t.classList.add(e):t.className.indexOf(e)<0&&(t.className+=" "+e)},cloneMouseEvent:nu,cloneTouchEvent:function(t){const e=t=>{const e=[];for(let i=0;i<t.length;++i){const s=t.item(i);s&&e.push(s)}return e};if("function"==typeof iu.TouchEvent){const i=new iu.TouchEvent(t.type,{touches:e(t.touches),targetTouches:e(t.targetTouches),changedTouches:e(t.changedTouches),ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed,detail:t.detail,view:t.view});return t.defaultPrevented&&i.preventDefault(),i}const i=nu(t);return i.touches=t.touches,i.changedTouches=t.changedTouches,i.targetTouches=t.targetTouches,i},escapeStringForHTML:function(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/\//g,"&#x2F;")},getElement:function(t){return eu.getElementById(t)},getFakeMouseEvent:ru,getHeadingTagNameForElement:function(t){const e=t=>{const e=parseInt(t.slice(1),10);return"h"+Math.min(6,e+1)},i=t=>/^H[1-6]$/i.test(t),s=t=>{const o=(t=>{let e=t;for(;e=e.previousSibling;){const t=e.tagName||"";if(i(t))return t}return""})(t);if(o)return e(o);const n=t.parentElement;if(!n)return"h6";const r=n.tagName;return i(r)?e(r):s(n)};return s(t)},removeChildNodes:function(t){for(;t.lastChild;)t.removeChild(t.lastChild)},removeClass:function(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp(e,"g"),"")},removeElement:function(t){t&&t.parentNode&&t.parentNode.removeChild(t)},reverseChildNodes:function(t){let e=t.childNodes.length;for(;e--;)t.appendChild(t.childNodes[e])},simulatedEventTarget:ou,stripHTMLTagsFromString:function(t,e=!1){return"string"==typeof t?e?t.replace(/<\/?[^>]+(>|$)/g,""):t.replace(/<\/?(?!\s)[^>]+(>|$)/g,""):t},visuallyHideElement:function(t){su(t,{position:"absolute",width:"1px",height:"1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(1px, 1px, 1px, 1px)",marginTop:"-3px","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)",filter:"alpha(opacity=1)",opacity:.01})}},{format:lu}=ee,{getNestedProperty:hu,pick:cu}=C;var du;!function(t){function e(t,e,i){const s=(t,e)=>{const i=t.slice(e||0),s=i.indexOf("{"),o=i.indexOf("}");if(s>-1&&o>s)return{statement:i.substring(s+1,o),begin:e+s+1,end:e+o}},o=[];let n,r,a=0;do{n=s(t,a),r=t.substring(a,n&&n.begin-1),r.length&&o.push({value:r,type:"constant"}),n&&o.push({value:n.statement,type:"statement"}),a=n?n.end+1:a+1}while(n);return o.forEach(t=>{"statement"===t.type&&(t.value=function(t,e){const i=t.indexOf("#each("),s=t.indexOf("#plural("),o=t.indexOf("["),n=t.indexOf("]");let r,a;if(i>-1){const s=t.slice(i).indexOf(")")+i,o=t.substring(0,i),n=t.substring(s+1),l=t.substring(i+6,s).split(",");let h,c=Number(l[1]);if(a="",r=hu(l[0],e),r){c=isNaN(c)?r.length:c,h=c<0?r.length+c:Math.min(c,r.length);for(let t=0;t<h;++t)a+=o+r[t]+n}return a.length?a:""}if(s>-1){const i=t.slice(s).indexOf(")")+s,o=t.substring(s+8,i).split(",");switch(Number(hu(o[0],e))){case 0:a=cu(o[4],o[1]);break;case 1:a=cu(o[2],o[1]);break;case 2:a=cu(o[3],o[1]);break;default:a=o[1]}return a?(l=a).trim&&l.trim()||l.replace(/^\s+|\s+$/g,""):""}var l;if(o>-1){const i=t.substring(0,o),s=Number(t.substring(o+1,n));let a;return r=hu(i,e),!isNaN(s)&&r&&(s<0?(a=r[r.length+s],void 0===a&&(a=r[0])):(a=r[s],void 0===a&&(a=r[r.length-1]))),void 0!==a?a:""}return"{"+t+"}"}(t.value,e))}),lu(o.reduce((t,e)=>t+e.value,""),e,i)}function i(t,i){const s=t.split(".");let o=this.options.lang,n=0;for(;n<s.length;++n)o=o&&o[s[n]];return"string"==typeof o?e(o,i,this):""}t.compose=function(t){const e=t.prototype;e.langFormat||(e.langFormat=i)},t.i18nFormat=e}(du||(du={}));const pu=du,{doc:uu}=t,{stripHTMLTagsFromString:gu}=au,{defined:mu,find:fu,fireEvent:xu}=C;function yu(t){if(t.points&&t.points.length){const e=fu(t.points,t=>!!t.graphic);return e&&e.graphic&&e.graphic.element}}function bu(t){const e=yu(t);return e&&e.parentNode||t.graph&&t.graph.element||t.group&&t.group.element}const vu={fireEventOnWrappedOrUnwrappedElement:function t(e,i){const s=i.type,o=e.hcEvents;
1uu?.createEvent&&(e.dispatchEvent||e.fireEvent)?e.dispatchEvent?e.dispatchEvent(i):e.fireEvent(s,i):o&&o[s]?xu(e,s,i):e.element&&t(e.element,i)},getChartTitle:function(t){return gu(t.options.title.text||t.langFormat("accessibility.defaultChartTitle",{chart:t}),t.renderer.forExport)},getAxisDescription:function(t){return t&&(t.options.accessibility?.description||t.axisTitle?.textStr||t.options.id||t.categories&&"categories"||t.dateTime&&"Time"||"values")},getAxisRangeDescription:function(t){const e=t.options||{};return e.accessibility&&void 0!==e.accessibility.rangeDescription?e.accessibility.rangeDescription:t.categories?function(t){const e=t.chart;if(t.dataMax&&t.dataMin)return e.langFormat("accessibility.axis.rangeCategories",{chart:e,axis:t,numCategories:t.dataMax-t.dataMin+1});return""}(t):!t.dateTime||0!==t.min&&0!==t.dataMin?function(t){const e=t.chart,i=e.options,s=i&&i.accessibility&&i.accessibility.screenReaderSection.axisRangeDateFormat||"",o={min:t.dataMin||t.min||0,max:t.dataMax||t.max||0},n=function(i){return t.dateTime?e.time.dateFormat(s,o[i]):o[i].toString()};return e.langFormat("accessibility.axis.rangeFromTo",{chart:e,axis:t,rangeFrom
1:n("min"),rangeTo:n("max")})}(t):function(t){const e=t.chart,i={},s=t.dataMin||t.min||0,o=t.dataMax||t.max||0;let n="Seconds";i.Seconds=(o-s)/1e3,i.Minutes=i.Seconds/60,i.Hours=i.Minutes/60,i.Days=i.Hours/24,["Minutes","Hours","Days"].forEach(function(t){i[t]>2&&(n=t)});const r=i[n].toFixed("Seconds"!==n&&"Minutes"!==n?1:0);return e.langFormat("accessibility.axis.timeRange"+n,{chart:e,axis:t,range:r.replace(".0","")})}(t)},getPointFromXY:function(t,e,i){let s,o=t.length;for(;o--;)if(s=fu(t[o].points||[],function(t){return t.x===e&&t.y===i}),s)return s},getSeriesFirstPointElement:yu,getSeriesFromName:function(t,e){return e?(t.series||[]).filter(function(t){return t.name===e}):t.series},getSeriesA11yElement:bu,unhideChartElementFromAT:function t(e,i){i.setAttribute("aria-hidden",!1),i!==e.renderTo&&i.parentNode&&i.parentNode!==uu.body&&(Array.prototype.forEach.call(i.parentNode.childNodes,function(t){t.hasAttribute("aria-hidden")||t.setAttribute("aria-hidden",!0)}),t(e,i.parentNode))},hideSeriesFromAT:function(t){const e=bu(t);e&&e.setAttribute("aria-hidden",!0)},scrollAxisToPoint:function(t){const e=t.series.xAxis,i=t.series.yAxis,s=e&&e.scrollbar?e:i,o=s&&s.scrollbar;if(o&&mu(o.to)&&mu(o.from)){const e=o.to-o.from,i=function(t,e){if(!mu(t.dataMin)||!mu(t.dataMax))return 0;const i=t.toPixels(t.dataMin),s=t.toPixels(t.dataMax),o="xAxis"===t.coll?"x":"y";return(t.toPixels(e[o]||0)-i)/(s-i)}(s,t);o.updatePosition(i-e/2,i+e/2),xu(o,"changed",{from:o.from,to:o.to,trigger:"scrollbar",DOMEvent:null})}}},{doc:wu}=t,{removeElement:ku}=au;class Tu{constructor(){this.elements=[]}createElement(){const t=wu.createElement.apply(wu,arguments);return this.elements.push(t),t}removeElement(t){ku(t),this.elements.splice(this.elements.indexOf(t),1)}destroyCreatedElements(){this.elements.forEach(function(t){ku(t)}),this.elements=[]}}const{addEvent:Su}=C;class Mu{constructor(){this.eventRemovers=[]}addEvent(){const e=Su.apply(t,arguments);return this.eventRemovers.push({element:arguments[0],remover:e}),e}removeEvent(t){const e=this.eventRemovers.map(t=>t.remover).indexOf(t);this.eventRemovers[e].remover(),this.eventRemovers.splice(e,1)}removeAddedEvents(){this.eventRemovers.map(t=>t.remover).forEach(t=>t()),this.eventRemovers=[]}}const{fireEventOnWrappedOrUnwrappedElement:Au}=vu,{getFakeMouseEvent:Cu}=au;class Eu{destroy(){}getKeyboardNavigation(){return[]}init(){}onChartRender(){}onChartUpdate(){}initBase(t,e){this.chart=t,this.eventProvider=new Mu,this.domElementProvider=new Tu,this.proxyProvider=e,this.keyCodes={left:37,right:39,up:38,down:40,enter:13,space:32,esc:27,tab:9,pageUp:33,pageDown:34,end:35,home:36}}addEvent(t,e,i,s){return this.eventProvider.addEvent(t,e,i,s)}createElement(t,e){return this.domElementProvider.createElement(t,e)}fakeClickEvent(t){const e=Cu("click");Au(t,e)}destroyBase(){this.domElementProvider.destroyCreatedElements(),this.eventProvider.removeAddedEvents()}}const{find:Pu}=C;class Ou{constructor(t,e){this.chart=t,this.keyCodeMap=e.keyCodeMap||[],this.validate=e.validate,this.init=e.init,this.terminate=e.terminate,this.response={success:1,prev:2,next:3,noHandler:4,fail:5}}run(t){const e=t.which||t.keyCode;let i=this.response.noHandler;const s=Pu(this.keyCodeMap,function(t){return t[0].indexOf(e)>-1});return s?i=s[1].call(this,e,t):9===e&&(i=this.response[t.shiftKey?"prev":"next"]),i}}const{unhideChartElementFromAT:Lu,getChartTitle:Du}=vu,{doc:Nu}=t,{stripHTMLTagsFromString:Iu}=au;class Bu extends Eu{onChartUpdate(){this.handleSVGTitleElement(),this.setSVGContainerLabel(),this.setGraphicContainerAttrs(),this.setRenderToAttrs(),this.makeCreditsAccessible()}handleSVGTitleElement(){const t=this.chart,e="highcharts-title-"+t.index,i=Iu(t.langFormat("accessibility.svgContainerTitle",{chartTitle:Du(t)}));if(i.length){const s=this.svgTitleElement=this.svgTitleElement||Nu.createElementNS("http://www.w3.org/2000/svg","title");s.textContent=i,s.id=e,t.renderTo.insertBefore(s,t.renderTo.firstChild)}}setSVGContainerLabel(){const t=this.chart,e=t.langFormat("accessibility.svgContainerLabel",{chartTitle:Du(t)});t.renderer.box&&e.length&&t.renderer.box.setAttribute("aria-label",e)}setGraphicContainerAttrs(){const t=this.chart,e=t.langFormat("accessibility.graphicContainerLabel",{chartTitle:Du(t)});e.length&&t.container.setAttribute("aria-label",e)}setRenderToAttrs(){const t=this.chart,e="disabled"!==t.options.accessibility.landmarkVerbosity,i=t.langFormat("accessibility.chartContainerLabel",{title:Du(t),chart:t});i&&(t.renderTo.setAttribute("role",e?"region":"group"),t.renderTo.setAttribute("aria-label",i))}makeCreditsAccessible(){const t=this.chart,e=t.credits;e&&(e.textStr&&e.element.setAttribute("aria-label",t.langFormat("accessibility.credits",{creditsStr:Iu(e.textStr,t.renderer.forExport)})),Lu(t,e.element))}getKeyboardNavigation(){const t=this.chart;return new Ou(t,{keyCodeMap:[],validate:function(){return!0},init:function(){const e=t.accessibility;e&&e.keyboardNavigation.tabindexContainer.focus()}})}destroy(){this.chart.renderTo.setAttribute("aria-hidden",!0)}}const{addEvent:Ru,pick:Fu}=C;var zu;!function(t){const e=["x","y","transform","width","height","r","d","stroke-width"];function i(){const t=this.focusElement,e=this.options.accessibility.keyboardNavigation.focusBorder;t&&(t.removeFocusBorder(),e.enabled&&t.addFocusBorder(e.margin,{stroke:e.style.color,strokeWidth:e.style.lineWidth,r:e.style.borderRadius}))}function s(t,e){const i=this.options.accessibility.keyboardNavigation.focusBorder,s=e||t.element;
1s&&s.focus&&(s.hcEvents&&s.hcEvents.focusin||Ru(s,"focusin",function(){}),s.focus(),i.hideBrowserFocusOutline&&(s.style.outline="none")),this.focusElement&&this.focusElement.removeFocusBorder(),this.focusElement=t,Ru(this,"endResize",function(){this.renderFocusBorder()}),this.renderFocusBorder()}function o(t,i){this.focusBorder&&this.removeFocusBorder();const s=this.getBBox(),o=Fu(t,3),n=this.parentGroup,r=this.scaleX||n&&n.scaleX,a=this.scaleY||n&&n.scaleY,l=(r?!a:a)?Math.abs(r||a||1):(Math.abs(r||1)+Math.abs(a||1))/2,h=this.renderer.fontMetrics(this).h;s.x+=this.translateX?this.translateX:0,s.y+=this.translateY?this.translateY:0;let c=s.x-o,d=s.y-o,p=s.width+2*o,u=s.height+2*o;const g=!!this.text;if("text"===this.element.nodeName||g){const t=!!this.rotation,e=g?{x:t?1:0,y:0}:function(t){let e=0,i=0;return"middle"===t.attr("text-anchor")?e=i=.5:t.rotation?e=.25:i=.75,{x:e,y:i}}(this),i=+this.attr("x"),n=+this.attr("y");if(isNaN(i)||(c=i-s.width*e.x-o),!isNaN(n)){d=n-("start"===this.attr("text-anchor")?h:s.height)*e.y-o}if(g&&t){const t=p;p=u,u=t,isNaN(i)||(c=i-s.height*e.x-o),isNaN(n)||(d=n-s.width*e.y-o)}}this.focusBorder=this.renderer.rect(c,d,p,u,parseInt((i&&i.r||0).toString(),10)/l).addClass("highcharts-focus-border").attr({zIndex:99}).add(n),this.renderer.styledMode||this.focusBorder.attr({stroke:i&&i.stroke,"stroke-width":(i&&i.strokeWidth||0)/l}),function(t,...i){if(t.focusBorderUpdateHooks)return;t.focusBorderUpdateHooks={},e.forEach(e=>{const s=e+"Setter",o=t[s]||t._defaultSetter;t.focusBorderUpdateHooks[s]=o,t[s]=function(){const e=o.apply(t,arguments);return t.addFocusBorder.apply(t,i),e}})}(this,t,i),function(t){if(t.focusBorderDestroyHook)return;const e=t.destroy;t.destroy=function(){return t.focusBorder&&t.focusBorder.destroy&&t.focu
1sBorder.destroy(),e.apply(t,arguments)},t.focusBorderDestroyHook=e}(this)}function n(){var t;!function(t){if(!t.focusBorderUpdateHooks)return;Object.keys(t.focusBorderUpdateHooks).forEach(e=>{const i=t.focusBorderUpdateHooks[e];i===t._defaultSetter?delete t[e]:t[e]=i}),delete t.focusBorderUpdateHooks}(this),(t=this).focusBorderDestroyHook&&(t.destroy=t.focusBorderDestroyHook,delete t.focusBorderDestroyHook),this.focusBorder&&(this.focusBorder.destroy(),delete this.focusBorder)}t.compose=function(t,e){const r=t.prototype,a=e.prototype;r.renderFocusBorder||(r.renderFocusBorder=i,r.setFocusToElement=s),a.addFocusBorder||(a.addFocusBorder=o,a.removeFocusBorder=n)}}(zu||(zu={}));const Hu=zu,{doc:Wu}=t,{addClass:Gu,visuallyHideElement:Xu}=au,{attr:Yu}=C;class Uu{constructor(t,e){this.chart=t,this.domElementProvider=new Tu,this.announceRegion=this.addAnnounceRegion(e)}destroy(){this.domElementProvider.destroyCreatedElements()}announce(t){zt.setElementHTML(this.announceRegion,t),this.clearAnnouncementRegionTimer&&clearTimeout(this.clearAnnouncementRegionTimer),this.clearAnnouncementRegionTimer=setTimeout(()=>{this.announceRegion.innerHTML=zt.emptyHTML,delete this.clearAnnouncementRegionTimer},3e3)}addAnnounceRegion(t){const e=this.chart.announcerContainer||this.createAnnouncerContainer(),i=this.domElementProvider.createElement("div");return Yu(i,{"aria-hidden":!1,"aria-live":t,"aria-atomic":!0}),this.chart.styledMode?Gu(i,"highcharts-visually-hidden"):Xu(i),e.appendChild(i),i}createAnnouncerContainer(){const t=this.chart,e=Wu.createElement("div");return Yu(e,{"aria-hidden":!1,class:"highcharts-announcer-container"}),e.style.position="relative",t.renderTo.insertBefore(e,t.renderTo.firstChild),t.announcerContainer=e,e}}const{escapeStringForHTML:ju,stripHTMLTagsFromString:Vu}=au;function qu(t){return(t.annotations||[]).reduce((t,e)=>(e.options&&!1!==e.options.visible&&(t=t.concat(e.labels)),t),[])}function $u(t){return t.options&&t.options.accessibility&&t.options.accessibility.description||t.graphic&&t.graphic.text&&t.graphic.text.textStr||""}function Ku(t){return qu(t).map(e=>{const i=ju(Vu(function(t){const e=t.options&&t.options.accessibility&&t.options.accessibility.description;if(e)return e;const i=t.chart,s=$u(t),o=t.points,n=o.filter(t=>!!t.graphic).map(t=>{const e=t.accessibility&&t.accessibility.valueDescription||(t=>t.graphic&&t.graphic.element&&t.graphic.element.getAttribute("aria-label")||"")(t),i=t&&t.series.name||"";return(i?i+", ":"")+"data point "+e}).filter(t=>!!t),r=n.length,a="accessibility.screenReaderSection.annotations.description"+(r>1?"MultiplePoints":r?"SinglePoint":"NoPoints"),l={annotationText:s,annotation:t,numPoints:r,annotationPoint:n[0],additionalAnnotationPoints:n.slice(1)};return i.langFormat(a,l)}(e),t.renderer.forExport));return i?`<li>${i}</li>`:""})}const _u={getAnnotationsInfoHTML:function(t){const e=t.annotations;return e&&e.length?`<ul style="list-style-type: none">${Ku(t).join(" ")}</ul>`:""},getPointAnnotationTexts:function(t){const e=qu(t.series.chart).filter(e=>e.points.indexOf(t)>-1);return e.length?e.map(t=>`${$u(t)}`):[]}},{getAnnotationsInfoHTML:Zu}=_u,{getAxisDescription:Ju,getAxisRangeDescription:Qu,getChartTitle:tg,unhideChartElementFromAT:eg}=vu,{format:ig}=ee,{doc:sg}=t,{addClass:og,getElement:ng,getHeadingTagNameForElement:rg,stripHTMLTagsFromString:ag,visuallyHideElement:lg}=au,{attr:hg,pick:cg,replaceNested:dg}=C;function pg(t){return dg(t,[/<([\w\-.:!]+)\b[^<>]*>\s*<\/\1>/g,""])}class ug extends Eu{constructor(){super(...arguments),this.screenReaderSections={}}init(){const t=this.chart,e=this;this.initRegionsDefinitions(),this.addEvent(t,"afterGetTableAST",function(t){e.onDataTableCreated(t)}),this.addEvent(t,"afterViewData",function(t){t.wasHidden&&(e.dataTableDiv=t.element,setTimeout(function(){e.focusDataTable()},300))}),this.addEvent(t,"afterHideData",function(){e.viewDataTableButton&&e.viewDataTableButton.setAttribute("aria-expanded","false")}),t.exporting&&this.addEvent(t,"afterPrint",function(){e.updateAllScreenReaderSections()}),this.announcer=new Uu(t,"assertive")}initRegionsDefinitions(){const t=this,e=this.chart.options.accessibility;this.screenReaderSections={before:{element:null,buildContent:function(i){const s=e.screenReaderSection.beforeChartFormatter;return s?s(i):t.defaultBeforeChartFormatter(i)},insertIntoDOM:function(t,e){e.renderTo.insertBefore(t,e.renderTo.firstChild)},afterInserted:function(){void 0!==t.sonifyButtonId&&t.initSonifyButton(t.sonifyButtonId),void 0!==t.dataTableButtonId&&t.initDataTableButton(t.dataTableButtonId)}},after:{element:null,buildContent:function(i){const s=e.screenReaderSection.afterChartFormatter;return s?s(i):t.defaultAfterChartFormatter()},insertIntoDOM:function(t,e){e.renderTo.insertBefore(t,e.container.nextSibling)},afterInserted:function(){t.chart.accessibility&&e.keyboardNavigation.enabled&&t.chart.accessibility.keyboardNavigation.updateExitAnchor()}}}}onChartRender(){this.linkedDescriptionElement=this.getLinkedDescriptionElement(),this.setLinkedDescriptionAttrs(),this.updateAllScreenReaderSections()}updateAllScreenReaderSections(){const t=this;
1Object.keys(this.screenReaderSections).forEach(function(e){t.updateScreenReaderSection(e)})}getLinkedDescriptionElement(){const t=this.chart.options.accessibility.linkedDescription;if(!t)return;if("string"!=typeof t)return t;const e=ig(t,this.chart),i=sg.querySelectorAll(e);return 1===i.length?i[0]:void 0}setLinkedDescriptionAttrs(){const t=this.linkedDescriptionElement;t&&(t.setAttribute("aria-hidden","true"),og(t,"highcharts-linked-description"))}updateScreenReaderSection(t){const e=this.chart,i=this.screenReaderSections[t],s=i.buildContent(e),o=i.element=i.element||this.createElement("div"),n=o.firstChild||this.createElement("div");s?(this.setScreenReaderSectionAttribs(o,t),zt.setElementHTML(n,s),o.appendChild(n),i.insertIntoDOM(o,e),e.styledMode?og(n,"highcharts-visually-hidden"):lg(n),eg(e,n),i.afterInserted&&i.afterInserted()):(o.parentNode&&o.parentNode.removeChild(o),i.element=null)}setScreenReaderSectionAttribs(t,e){const i=this.chart,s=i.langFormat("accessibility.screenReaderSection."+e+"RegionLabel",{chart:i,chartTitle:tg(i)}),o=`highcharts-screen-reader-region-${e}-${i.index}`;hg(t,{id:o,"aria-label":s||void 0}),t.style.position="relative",s&&t.setAttribute("role","all"===i.options.accessibility.landmarkVerbosity?"region":"group")}defaultBeforeChartFormatter(){const t=this.chart,e=t.options.accessibility.screenReaderSection.beforeChartFormat;if(!e)return"";const i=this.getAxesDescription(),s=t.sonify&&t.options.sonification&&t.options.sonification.enabled,o="highcharts-a11y-sonify-data-btn-"+t.index,n="hc-linkto-highcharts-data-table-"+t.index,r=Zu(t),a=t.langFormat("accessibility.screenReaderSection.annotations.heading",{chart:t}),l={headingTagName:rg(t.renderTo),chartTitle:tg(t),typeDescription:this.getTypeDescriptionText(),chartSubtitle:this.getSubtitleText(),chartLongdesc:this.getLongdescText(),xAxisDescription:i.xAxis,yAxisDescription:i.yAxis,playAsSoundButton:s?this.getSonifyButtonText(o):"",viewTableButton:t.exporting?.getCSV?this.getDataTableButtonText(n):"",annotationsTitle:r?a:"",annotationsList:r},h=pu.i18nFormat(e,l,t);return this.dataTableButtonId=n,this.sonifyButtonId=o,pg(h)}defaultAfterChartFormatter(){const t=this.chart,e=t.options.accessibility.screenReaderSection.afterChartFormat;if(!e)return"";const i={endOfChartMarker:this.getEndOfChartMarkerText()};return pg(pu.i18nFormat(e,i,t))}getLinkedDescription(){const t=this.linkedDescriptionElement,e=t&&t.innerHTML||"";return ag(e,this.chart.renderer.forExport)}getLongdescText(){const t=this.chart.options,e=t.caption,i=e&&e.text,s=this.getLinkedDescription();return t.accessibility.description||s||i||""}getTypeDescriptionText(){const t=this.chart;return t.types?t.options.accessibility.typeDescription||function(t,e){const i=e[0],s=t.series&&t.series[0]||{},o=t.mapView&&t.mapView.geoMap&&t.mapView.geoMap.title,n={numSeries:t.series.length,numPoints:s.points&&s.points.length,chart:t,mapTitle:o};return i?"map"===i||"tiledwebmap"===i?function(t,e){return e.mapTitle?t.langFormat("accessibility.chartTypes.mapTypeDescription",e):t.langFormat("accessibility.chartTypes.unknownMap",e)}(t,n):t.types.length>1?function(t,e){return t.langFormat("accessibility.chartTypes.combinationChart",e)}(t,n):function(t,e,i){const s=e[0],o=t.langFormat("accessibility.seriesTypeDescriptions."+s,i),n=t.series&&t.series.length<2?"Single":"Multiple";return(t.langFormat("accessibility.chartTypes."+s+n,i)||t.langFormat("accessibility.chartTypes.default"+n,i))+(o?" "+o:"")}(t,e,n):function(t,e){return t.langFormat("accessibility.chartTypes.emptyChart",e)}(t,n)}(t,t.types):""}getDataTableButtonText(t){const e=this.chart;return'<button id="'+t+'">'+e.langFormat("accessibility.table.viewAsDataTableButtonText",{chart:e,chartTitle:tg(e)})+"</button>"}getSonifyButtonText(t){const e=this.chart;if(e.options.sonification&&!1===e.options.sonification.enabled)return"";return'<button id="'+t+'">'+e.langFormat("accessibility.sonification.playAsSoundButtonText",{chart:e,chartTitle:tg(e)})+"</button>"}getSubtitleText(){const t=this.chart.options.subtitle;return ag(t&&t.text||"",this.chart.renderer.forExport)}getEndOfChartMarkerText(){const t=`highcharts-end-of-chart-marker-${this.chart.index}`,e=ng(t);if(e)return e.outerHTML;const i=this.chart,s=i.langFormat("accessibility.screenReaderSection.endOfChartMarker",{chart:i});return'<div id="'+("highcharts-end-of-chart-marker-"+i.index)+'">'+s+"</div>"}onDataTableCreated(t){const e=this.chart;if(e.options.accessibility.enabled){this.viewDataTableButton&&this.viewDataTableButton.setAttribute("aria-expanded","true");const i=t.tree.attributes||{};i.tabindex=-1,i.summary=function(t){return t.langFormat("accessibility.table.tableSummary",{chart:t})}(e),t.tree.attributes=i}}focusDataTable(){const t=this.dataTableDiv,e=t&&t.getElementsByTagName("table")[0];e&&e.focus&&e.focus()}initSonifyButton(t){const e=this.sonifyButton=ng(t),i=this.chart,s=t=>{e&&(e.setAttribute("aria-hidden","true"),e.setAttribute("aria-label","")),t.preventDefault(),t.stopPropagation();const s=i.langFormat("accessibility.sonification.playAsSoundClickAnnouncement",{chart:i});this.announcer.announce(s),setTimeout(()=>{e&&(e.removeAttribute("aria-hidden"),e.removeAttribute("aria-label")),i.sonify&&i.sonify()},1e3)};e&&i&&(e.setAttribute("tabindex",-1),e.onclick=function(t){(i.options.accessibility&&i.options.accessibility.screenReaderSection.onPlayAsSoundClick||s).call(this,t,i)})}initDataTableButton(t){const e=this.viewDataTableButton=ng(t),i=this.chart,s=t.replace("hc-linkto-","");e&&(hg(e,{tabindex:-1,"aria-expanded":!!ng(s)}),e.onclick=i.options.accessibility.screenReaderSection.onViewDataTableClick||function(){i.exporting?.viewData()})}getAxesDescription(){const t=this.chart,e=function(e,i){const s=t[e];return s.length>1||s[0]&&cg(s[0].options.accessibility&&s[0].options.accessibility.enabled,i)},i=!!t.types&&t.types.indexOf("map")<0&&t.types.indexOf("treemap")<0&&t.types.indexOf("tilemap")<0,s=!!t.hasCartesianSeries,o=e("xAxis",!t.angular&&s&&i),n=e("yAxis",s&&i),r
1={};return o&&(r.xAxis=this.getAxisDescriptionText("xAxis")),n&&(r.yAxis=this.getAxisDescriptionText("yAxis")),r}getAxisDescriptionText(t){const e=this.chart,i=e[t];return e.langFormat("accessibility.axis."+t+"Description"+(i.length>1?"Plural":"Singular"),{chart:e,names:i.map(function(t){return Ju(t)}),ranges:i.map(function(t){return Qu(t)}),numAxes:i.length})}destroy(){this.announcer&&this.announcer.destroy()}}const{attr:gg}=C,{getChartTitle:mg,unhideChartElementFromAT:fg}=vu,{getFakeMouseEvent:xg}=au;function yg(t){return t.exporting?.svgElements?.[0]}class bg extends Eu{init(){const t=this.chart,e=this;this.addEvent(t,"exportMenuShown",function(){e.onMenuShown()}),this.addEvent(t,"exportMenuHidden",function(){e.onMenuHidden()}),this.createProxyGroup()}onMenuHidden(){const t=this.chart.exporting?.contextMenuEl;t&&t.setAttribute("aria-hidden","true"),this.setExportButtonExpandedState("false")}onMenuShown(){const t=this.chart,e=t.exporting?.contextMenuEl;e&&(this.addAccessibleContextMenuAttribs(),fg(t,e)),this.setExportButtonExpandedState("true")}setExportButtonExpandedState(t){this.exportButtonProxy&&this.exportButtonProxy.innerElement.setAttribute("aria-expanded",t)}onChartRender(){const t=this.chart,e=t.focusElement,i=t.accessibility;this.proxyProvider.clearGroup("chartMenu"),this.proxyMenuButton(),this.exportButtonProxy&&e&&e===t.exporting?.group&&(e.focusBorder?t.setFocusToElement(e,this.exportButtonProxy.innerElement):i&&i.keyboardNavigation.tabindexContainer.focus())}proxyMenuButton(){const t=this.chart,e=this.proxyProvider,i=yg(t);(function(t){const e=t.options.exporting,i=yg(t);return!!(e&&!1!==e.enabled&&e.accessibility&&e.accessibility.enabled&&i&&i.element)})(t)&&i&&(this.exportButtonProxy=e.addProxyElement("chartMenu",{click:i},"button",{"aria-label":t.langFormat("accessibility.exporting.menuButtonLabel",{chart:t,chartTitle:mg(t)}),"aria-expanded":!1,title:t.options.lang.contextButtonTitle||null}))}createProxyGroup(){this.chart&&this.proxyProvider&&this.proxyProvider.addGroup("chartMenu")}addAccessibleContextMenuAttribs(){const t=this.chart,e=t.exporting?.divElements;if(e&&e.length){e.forEach(t=>{t&&("LI"!==t.tagName||t.children&&t.children.length?t.setAttribute("aria-hidden","true"):t.setAttribute("tabindex",-1))});const i=e[0]&&e[0].parentNode;i&&gg(i,{"aria-hidden":void 0,"aria-label":t.langFormat("accessibility.exporting.chartMenuLabel",{chart:t}),role:"list"})}}getKeyboardNavigation(){const t=this.keyCodes,e=this.chart,i=this;return new Ou(e,{keyCodeMap:[[[t.left,t.up],function(){return i.onKbdPrevious(this)}],[[t.right,t.down],function(){return i.onKbdNext(this)}],[[t.enter,t.space],function(){return i.onKbdClick(this)}]],validate:function(){return!!e.exporting&&!1!==e.options.exporting?.buttons?.contextButton.enabled&&!1!==e.options.exporting.enabled&&!1!==(e.options.exporting.accessibility?.enabled||!1)},init:function(){const t=i.exportButtonProxy,s=i.chart.exporting?.group;t&&s&&e.setFocusToElement(s,t.innerElement)},terminate:function(){e.hideExportMenu()}})}onKbdPrevious(t){const e=this.chart,i=e.options.accessibility,s=t.response;let o=e.highlightedExportItemIx||0;for(;o--;)if(e.highlightExportItem(o))return s.success;return i.keyboardNavigation.wrapAround?(e.highlightLastExportItem(),s.success):s.prev}onKbdNext(t){const e=this.chart,i=e.options.accessibility,s=t.response;for(let o=(e.highlightedExportItemIx||0)+1;o<(e.exporting?.divElements?.length||0);++o)if(e.highlightExportItem(o))return s.success;return i.keyboardNavigation.wrapAround?(e.highlightExportItem(0),s.success):s.next}onKbdClick(t){const e=this.chart,i=void 0!==e.highlightedExportItemIx&&e.exporting?.divElements?.[e.highlightedExportItemIx],s=yg(e)?.element;return e.exporting?.openMenu?i&&this.fakeClickEvent(i):(s&&this.fakeClickEvent(s),e.highlightExportItem(0)),t.response.success}}!function(){function t(){const t=yg(this);if(t){const e=t.element;e.onclick&&(e.onclick=function(){xg("click")})}}function e(){const t=this,e=t.exporting?.divElements;e&&t.exporting?.contextMenuEl&&t.exporting?.openMenu&&(e.forEach(t=>{t&&"highcharts-menu-item"===t.className&&t.onmouseout&&t.onmouseout(xg("mouseout"))}
1),t.highlightedExportItemIx=0,t.exporting.contextMenuEl.hideMenu(),t.container.focus())}function i(t){const e=this.exporting?.divElements?.[t],i=void 0!==this.highlightedExportItemIx&&this.exporting?.divElements?.[this.highlightedExportItemIx];if(e&&"LI"===e.tagName&&(!e.children||!e.children.length)){const s=!!(this.renderTo.getElementsByTagName("g")[0]||{}).focus;return e.focus&&s&&e.focus(),i&&i.onmouseout&&i.onmouseout(xg("mouseout")),e.onmouseover&&e.onmouseover(xg("mouseover")),this.highlightedExportItemIx=t,!0}return!1}function s(){const t=this;if(t.exporting?.divElements){let e=t.exporting?.divElements.length;for(;e--;)if(t.highlightExportItem(e))return!0}return!1}(bg||(bg={})).compose=function(o){const n=o.prototype;n.hideExportMenu||(n.hideExportMenu=e,n.highlightExportItem=i,n.highlightLastExportItem=s,n.showExportMenu=t)}}();const vg=bg,{doc:wg,win:kg}=t,{addEvent:Tg,defined:Sg,fireEvent:Mg}=C,{getElement:Ag,simulatedEventTarget:Cg}=au;class Eg{constructor(t,e){this.currentModuleIx=NaN,this.modules=[],this.init(t,e)}init(t,e){const i=this.eventProvider=new Mu;this.chart=t,this.components=e,this.modules=[],this.currentModuleIx=0,this.update(),i.addEvent(this.tabindexContainer,"keydown",t=>this.onKeydown(t)),i.addEvent(this.tabindexContainer,"focus",t=>this.onFocus(t)),["mouseup","touchend"].forEach(t=>i.addEvent(wg,t,t=>this.onMouseUp(t))),["mousedown","touchstart"].forEach(e=>i.addEvent(t.renderTo,e,()=>{this.isClickingChart=!0}))}update(t){const e=this.chart.options.accessibility,i=e&&e.keyboardNavigation,s=this.components;this.updateContainerTabindex(),i&&i.enabled&&t&&t.length?(this.modules=t.reduce(function(t,e){const i=s[e].getKeyboardNavigation();return t.concat(i)},[]),this.updateExitAnchor()):(this.modules=[],this.currentModuleIx=0,this.removeExitAnchor())}updateExitAnchor(){const t=`highcharts-end-of-chart-marker-${this.chart.index}`,e=Ag(t);this.removeExitAnchor(),e?(this.makeElementAnExitAnchor(e),this.exitAnchor=e):this.createExitAnchor()}move(t){const e=this.modules&&this.modules[this.currentModuleIx];e&&e.terminate&&e.terminate(t),this.chart.focusElement&&this.chart.focusElement.removeFocusBorder(),this.currentModuleIx+=t;const i=this.modules&&this.modules[this.currentModuleIx];if(i){if(i.validate&&!i.validate())return this.move(t);if(i.init)return i.init(t),!0}return this.currentModuleIx=0,this.exiting=!0,t>0?this.exitAnchor&&this.exitAnchor.focus():this.tabindexContainer.focus(),!1}onFocus(t){const e=this.chart,i=t.relatedTarget&&e.container.contains(t.relatedTarget),s=e.options.accessibility,o=s&&s.keyboardNavigation;if(o&&o.enabled&&!this.exiting&&!this.tabbingInBackwards&&!this.isClickingChart&&!i){const t=this.getFirstValidModuleIx();null!==t&&(this.currentModuleIx=t,this.modules[t].init(1))}this.keyboardReset=!1,this.exiting=!1}onMouseUp(t){if(delete this.isClickingChart,!this.keyboardReset&&t.relatedTarget!==Cg){const e=this.chart;if(!t.target||!e.container.contains(t.target)){const t=this.modules&&this.modules[this.currentModuleIx||0];t&&t.terminate&&t.terminate(),this.currentModuleIx=0}e.focusElement&&(e.focusElement.removeFocusBorder(),delete e.focusElement),this.keyboardReset=!0}}onKeydown(t){const e=t||kg.event,i=this.modules&&this.modules.length&&this.modules[this.currentModuleIx];let s;const o=e.target;if((!o||"INPUT"!==o.nodeName||o.classList.contains("highcharts-a11y-proxy-element"))&&(this.keyboardReset=!1,this.exiting=!1,i)){const t=i.run(e);t===i.response.success?s=!0:t===i.response.prev?s=this.move(-1):t===i.response.next&&(s=this.move(1)),s&&(e.preventDefault(),e.stopPropagation())}}updateContainerTabindex(){const t=this.chart.options.accessibility,e=t&&t.keyboardNavigation,i=!(e&&!1===e.enabled),s=this.chart,o=s.container;let n;s.renderTo.hasAttribute("tabindex")?(o.removeAttribute("tabindex"),n=s.renderTo):n=o,this.tabindexContainer=n;const r=n.getAttribute("tabindex");i&&!r?n.setAttribute("tabindex","0"):i||s.container.removeAttribute("tabindex")}createExitAnchor(){const t=this.chart,e=this.exitAnchor=wg.createElement("div");t.renderTo.appendChild(e),this.makeElementAnExitAnchor(e)}makeElementAnExitAnchor(t){const e=this.tabindexContainer.getAttribute("tabindex")||0;t.setAttribute("class","highcharts-exit-anchor"),t.setAttribute("tabindex",e),t.setAttribute("aria-hidden",!1),this.addExitAnchorEventsToEl(t)}removeExitAnchor(){if(this.exitAnchor){const t=this.eventProvider.eventRemovers.find(t=>t.element===this.exitAnchor);t&&Sg(t.remover)&&this.eventProvider.removeEvent(t.remover),this.exitAnchor.parentNode&&this.exitAnchor.parentNode.removeChild(this.exitAnchor),delete this.exitAnchor}}addExitAnchorEventsToEl(t){const e=this.chart,i=this;this.eventProvider.addEvent(t,"focus",function(t){const s=t||kg.event,o=!(s.relatedTarget&&e.container.contains(s.relatedTarget)||i.exiting);
1if(e.focusElement&&delete e.focusElement,o){if(i.tabbingInBackwards=!0,i.tabindexContainer.focus(),delete i.tabbingInBackwards,s.preventDefault(),i.modules&&i.modules.length){i.currentModuleIx=i.modules.length-1;const t=i.modules[i.currentModuleIx];t&&t.validate&&!t.validate()?i.move(-1):t&&t.init(-1)}}else i.exiting=!1})}getFirstValidModuleIx(){const t=this.modules.length;for(let e=0;e<t;++e){const t=this.modules[e];if(!t.validate||t.validate())return e}return null}destroy(){this.removeExitAnchor(),this.eventProvider.removeAddedEvents(),this.chart.container.removeAttribute("tabindex")}}!function(){function e(){const t=this;Mg(this,"dismissPopupContent",{},function(){t.tooltip&&t.tooltip.hide(0),t.hideExportMenu()})}function i(e){27===(e.which||e.keyCode)&&t.charts&&t.charts.forEach(t=>{t&&t.dismissPopupContent&&t.dismissPopupContent()})}(Eg||(Eg={})).compose=function(t){vg.compose(t);const s=t.prototype;return s.dismissPopupContent||(s.dismissPopupContent=e,wg&&Tg(wg,"keydown",i)),t}}();const Pg=Eg,{animObject:Og}=St,{doc:Lg}=t,{addEvent:Dg,fireEvent:Ng,isNumber:Ig,pick:Bg,syncTimeout:Rg}=C,{getChartTitle:Fg}=vu,{stripHTMLTagsFromString:zg,addClass:Hg,removeClass:Wg}=au;function Gg(t){const e=t.legend&&t.legend.allItems,i=t.options.legend.accessibility||{},s=t.colorAxis&&t.colorAxis.some(t=>!t.dataClasses||!t.dataClasses.length);return!(!e||!e.length||s||!1===i.enabled)}function Xg(t,e){const i=e.legendItem||{};e.setState(t?"hover":"",!0);for(const s of["group","label","symbol"]){const e=i[s],o=e&&e.element||e;o&&Ng(o,t?"mouseover":"mouseout")}}class Yg extends Eu{constructor(){super(...arguments),this.highlightedLegendItemIx=NaN,this.proxyGroup=null}init(){const t=this;this.recreateProxies(),this.addEvent(ua,"afterScroll",function(){this.chart===t.chart&&(t.proxyProvider.updateGroupProxyElementPositions("legend"),t.updateLegendItemProxyVisibility(),t.highlightedLegendItemIx>-1&&this.chart.highlightLegendItem(t.highlightedLegendItemIx))}),this.addEvent(ua,"afterPositionItem",function(e){this.chart===t.chart&&this.chart.renderer&&t.updateProxyPositionForItem(e.item)}),this.addEvent(ua,"afterRender",function(){this.chart===t.chart&&this.chart.renderer&&t.recreateProxies()&&Rg(()=>t.proxyProvider.updateGroupProxyElementPositions("legend"),Og(Bg(this.chart.renderer.globalAnimation,!0)).duration)})}updateLegendItemProxyVisibility(){const t=this.chart,e=t.legend,i=e.allItems||[],s=e.currentPage||1,o=e.clipHeight||0;let n;i.forEach(i=>{if(i.a11yProxyElement){const r=e.pages&&e.pages.length,a=i.a11yProxyElement.element;let l=!1;if(n=i.legendItem||{},r){const t=n.pageIx||0;l=(n.y||0)+(n.label?Math.round(n.label.getBBox().height):0)-e.pages[t]>o||t!==s-1}l?t.styledMode?Hg(a,"highcharts-a11y-invisible"):a.style.visibility="hidden":(Wg(a,"highcharts-a11y-invisible"),a.style.visibility="")}})}onChartRender(){Gg(this.chart)||this.removeProxies()}highlightAdjacentLegendPage(t){const e=this.chart,i=e.legend,s=(i.currentPage||1)+t,o=i.pages||[];if(s>0&&s<=o.length){let t,o=0;for(const n of i.allItems)((n.legendItem||{}).pageIx||0)+1===s&&(t=e.highlightLegendItem(o),t&&(this.highlightedLegendItemIx=o)),++o}}updateProxyPositionForItem(t){t.a11yProxyElement&&t.a11yProxyElement.refreshPosition()}recreateProxies(){const t=Lg.activeElement,e=this.proxyGroup,i=t&&e&&e.contains(t);return this.removeProxies(),!!Gg(this.chart)&&(this.addLegendProxyGroup(),this.proxyLegendItems(),this.updateLegendItemProxyVisibility(),this.updateLegendTitle(),i&&this.chart.highlightLegendItem(this.highlightedLegendItemIx),!0)}removeProxies(){this.proxyProvider.removeGroup("legend")}updateLegendTitle(){const t=this.chart,e=zg((t.legend&&t.legend.options.title&&t.legend.options.title.text||"").replace(/<br ?\/?>/g," "),t.renderer.forExport),i=t.langFormat("accessibility.legend.legendLabel"+(e?"":"NoTitle"),{chart:t,legendTitle:e,chartTitle:Fg(t)});this.proxyProvider.updateGroupAttrs("legend",{"aria-label":i})}addLegendProxyGroup(){const t="all"===this.chart.options.accessibility.landmarkVerbosity?"region":null;this.proxyGroup=this.proxyProvider.addGroup("legend","ul",{"aria-label":"_placeholder_",role:t})}proxyLegendItems(){const t=this;let e;((this.chart.legend||{}
1).allItems||[]).forEach(i=>{e=i.legendItem||{},e.label&&e.label.element&&t.proxyLegendItem(i)})}proxyLegendItem(t){const e=t.legendItem||{},i=t.legendItem?.label,s=i?.element,o=Boolean("ellipsis"===e.label?.styles?.textOverflow);if(!e.label||!e.group)return;const n=this.chart.langFormat("accessibility.legend.legendItem",{chart:this.chart,itemName:zg(t.name,this.chart.renderer.forExport),item:t}),r={tabindex:-1,"aria-pressed":t.visible,"aria-label":n,title:""};o&&-1!==(s.textContent||"").indexOf("…")&&(r.title=i?.textStr);const a=e.group.div?e.label:e.group;t.a11yProxyElement=this.proxyProvider.addProxyElement("legend",{click:e.label,visual:a.element},"button",r)}getKeyboardNavigation(){const t=this.keyCodes,e=this,i=this.chart;return new Ou(i,{keyCodeMap:[[[t.left,t.right,t.up,t.down],function(t){return e.onKbdArrowKey(this,t)}],[[t.enter,t.space],function(){return e.onKbdClick(this)}],[[t.pageDown,t.pageUp],function(i){const s=i===t.pageDown?1:-1;return e.highlightAdjacentLegendPage(s),this.response.success}]],validate:function(){return e.shouldHaveLegendNavigation()},init:function(){i.highlightLegendItem(0),e.highlightedLegendItemIx=0},terminate:function(){e.highlightedLegendItemIx=-1,i.legend.allItems.forEach(t=>Xg(!1,t))}})}onKbdArrowKey(t,e){const{keyCodes:{left:i,up:s},highlightedLegendItemIx:o,chart:n}=this,r=n.legend.allItems.length,a=n.options.accessibility.keyboardNavigation.wrapAround,l=e===i||e===s?-1:1;return n.highlightLegendItem(o+l)?this.highlightedLegendItemIx+=l:a&&r>1&&(this.highlightedLegendItemIx=l>0?0:r-1,n.highlightLegendItem(this.highlightedLegendItemIx)),t.response.success}onKbdClick(t){const e=this.chart.legend.allItems[this.highlightedLegendItemIx];return e&&e.a11yProxyElement&&e.a11yProxyElement.click(),t.response.success}shouldHaveLegendNavigation(){if(!Gg(this.chart))return!1;const t=this.chart,e=(t.options.legend||{}).accessibility||{};return!!(t.legend.display&&e.keyboardNavigation&&e.keyboardNavigation.enabled)}destroy(){this.removeProxies()}}!function(){function t(t){const e=this.legend.allItems,i=this.accessibility&&this.accessibility.components.legend.highlightedLegendItemIx,s=e[t],o=s?.legendItem||{};if(s){Ig(i)&&e[i]&&Xg(!1,e[i]),function(t,e){const i=(t.allItems[e].legendItem||{}).pageIx,s=t.currentPage;void 0!==i&&i+1!==s&&t.scroll(1+i-s)}(this.legend,t);const n=o.label,r=s.a11yProxyElement&&s.a11yProxyElement.innerElement;return n&&n.element&&r&&this.setFocusToElement(n,r),Xg(!0,s),!0}return!1}function e(t){const e=this.chart.options.accessibility,i=t.item;e.enabled&&i&&i.a11yProxyElement&&i.a11yProxyElement.innerElement.setAttribute("aria-pressed",t.visible?"true":"false")}(Yg||(Yg={})).compose=function(i,s){const o=i.prototype;o.highlightLegendItem||(o.highlightLegendItem=t,Dg(s,"afterColorizeItem",e))}}();const Ug=Yg,{isTouchDevice:jg}=t,{addEvent:Vg,merge:qg,pick:$g}=C,Kg=[];let _g;function Zg(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function Jg(){const t=this.legend,e=this.navigator;let i,s,o;if(e){i=t&&t.options,s=e.xAxis,o=e.yAxis;const{scrollbarHeight:n,scrollButtonSize:r}=e;this.inverted?(e.left=e.opposite?this.chartWidth-n-e.height:this.spacing[3]+n,e.top=this.plotTop+r):(e.left=$g(s.left,this.plotLeft+r),e.top=e.navigatorOptions.top||this.chartHeight-e.height-n-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(i&&"bottom"===i.verticalAlign&&"proximate"!==i.layout&&i.enabled&&!i.floating?t.legendHeight+$g(i.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),s&&o&&(this.inverted?s.options.left=o.options.left=e.left:s.options.top=o.options.top=e.top,s.setAxisSize(),o.setAxisSize())}}function Qg(t){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new _g(this),$g(t.redraw,!0)&&this.redraw(t.animation))}function tm(){const t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new _g(this))}function em(){const t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!jg&&"x"===this.zooming.type||jg&&"x"===this.zooming.pinchType))return!1}function im(t){const e=t.navigator;if(e&&t.xAxis[0]){const i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function sm(t){const e=t.options.navigator||{},i=t.options.scrollbar||{};this.navigator||this.scroller||!e.enabled&&!i.enabled||(qg(!0,this.options.navigator,e),qg(!0,this.options.scrollbar,
1i),delete t.options.navigator,delete t.options.scrollbar)}const om={compose:function(t,e){if(C.pushUnique(Kg,t)){const i=t.prototype;_g=e,i.callbacks.push(im),Vg(t,"afterAddSeries",Zg),Vg(t,"afterSetChartSize",Jg),Vg(t,"afterUpdate",Qg),Vg(t,"beforeRender",tm),Vg(t,"beforeShowResetZoom",em),Vg(t,"update",sm)}}},{isTouchDevice:nm}=t,{addEvent:rm,correctFloat:am,defined:lm,isNumber:hm,pick:cm}=C;function dm(){const t=this;t.navigatorAxis||(t.navigatorAxis=new um(t))}function pm(t){const e=this,i=e.chart,s=i.options,o=s.navigator,n=e.navigatorAxis,r=i.zooming.pinchType,a=s.rangeSelector,l=i.zooming.type;let h;if(e.isXAxis&&(o?.enabled||a?.enabled))if("y"===l&&"zoom"===t.trigger)h=!1;else if(("zoom"===t.trigger&&"xy"===l||nm&&"xy"===r)&&e.options.range){const i=n.previousZoom;lm(t.min)?n.previousZoom=[e.min,e.max]:i&&(t.min=i[0],t.max=i[1],n.previousZoom=void 0)}void 0!==h&&t.preventDefault()}class um{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),rm(t,"init",dm),rm(t,"setExtremes",pm))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){const o=this.axis,n=(o.pointRange||0)/2;let r=cm(i,o.translate(t,!0,!o.horiz)),a=cm(s,o.translate(e,!0,!o.horiz));return lm(i)||(r=am(r+n)),lm(s)||(a=am(a-n)),hm(r)&&hm(a)||(r=a=void 0),{min:r,max:a}}}const{parse:gm}=lt,{seriesTypes:mm}=cr,fm={height:40,margin:22,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:gm("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===mm.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["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,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:void 0},tickLength:0,tickWidth:0}},{relativeLength:xm}=C;const ym={"navigator-handle":function(t,e,i,s,o={}){const n=o.width?o.width/2:i,r=xm(o.borderRadius||0,Math.min(2*n,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...si.rect(-n-1,.5,2*n+1,s,{r:r})]}},{defined:bm}=C;const vm={setFixedRange:function(t){const e=this.xAxis[0];bm(e.dataMax)&&bm(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}},{defaultOptions:wm}=Q,{composed:km}=t,{getRendererType:Tm}=se,{setFixedRange:Sm}=vm,{addEvent:Mm,extend:Am,pushUnique:Cm}=C;function Em(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}const Pm={compose:function(t,e,i){um.compose(e),Cm(km,"Navigator")&&(t.prototype.setFixedRange=Sm,Am(Tm().prototype.symbols,ym),Am(wm,{navigator:fm}),Mm(i,"afterUpdate",Em))}},{composed:Om}=t,{addEvent:Lm,correctFloat:Dm,defined:Nm,pick:Im,pushUnique:Bm}=C;var Rm;!function(){let t;function e(t){const e=Im(t.options?.min,t.min),i=Im(t.options?.max,t.max);return{axisMin:e,axisMax:i,scrollMin:Nm(t.dataMin)?Math.min(e,t.min??1/0,t.dataMin,t.threshold??1/0):e,scrollMax:t.treeGrid?.adjustedMax??(Nm(t.dataMax)?Math.max(i,t.max??-1/0,t.dataMax,t.threshold??-1/0):i)}}function i(){const t=this,e=t.scrollbar,i=e&&!e.options.opposite,s=t.horiz?2:i?3:1;e&&(t.chart.scrollbarsOffsets=[0,0],t.chart.axisOffset[s]+=e.size+(e.options.margin||0))}function s(){const i=this;i.options?.scrollbar?.enabled&&(i.options.scrollbar.vertical=!i.horiz,i.options.startOnTick=i.options.endOnTick=!1,i.scrollbar=new t(i.chart.renderer,i.options.scrollbar,
1i.chart),Lm(i.scrollbar,"changed",function(t){const{axisMin:s,axisMax:o,scrollMin:n,scrollMax:r}=e(i),a=i.toPixels(n),l=i.toPixels(r)-a;let h,c;if(Nm(s)&&Nm(o))if(i.horiz&&!i.reversed||!i.horiz&&i.reversed?(h=Math.min(r,i.toValue(a+l*this.to)),c=Math.max(n,i.toValue(a+l*this.from))):(h=Math.min(r,i.toValue(a+l*(1-this.from))),c=Math.max(n,i.toValue(a+l*(1-this.to)))),this.shouldUpdateExtremes(t.DOMType)){const e="mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&void 0;i.setExtremes(Dm(c),Dm(h),!0,e,t)}else this.setRange(this.from,this.to)}))}function o(){const t=this,{scrollMin:i,scrollMax:s}=e(t),o=t.scrollbar,n=(t.axisTitleMargin||0)+(t.titleOffset||0),r=t.chart.scrollbarsOffsets,a=t.options.margin||0;let l,h,c;if(o&&r){if(t.horiz)t.opposite||(r[1]+=n),o.position(t.left,t.top+t.height+2+r[1]-(t.opposite?a:0),t.width,t.height),t.opposite||(r[1]+=a),l=1;else{let e;t.opposite&&(r[0]+=n),e=o.options.opposite?t.left+t.width+2+r[0]-(t.opposite?0:a):t.opposite?0:a,o.position(e,t.top,t.width,t.height),t.opposite&&(r[0]+=a),l=0}if(r[l]+=o.size+(o.options.margin||0),isNaN(i)||isNaN(s)||!Nm(t.min)||!Nm(t.max)||Nm(t.dataMin)&&t.dataMin===t.dataMax)o.setRange(0,1);else if(t.min===t.max){const e=t.pointRange/(t.dataMax+1);h=e*t.min,c=e*(t.max+1),o.setRange(h,c)}else h=(t.toPixels(t.min)-t.toPixels(i))/(t.toPixels(s)-t.toPixels(i)),c=(t.toPixels(t.max)-t.toPixels(i))/(t.toPixels(s)-t.toPixels(i)),t.horiz&&!t.reversed||!t.horiz&&t.reversed?o.setRange(h,c):o.setRange(1-c,1-h)}}(Rm||(Rm={})).compose=function(e,n){Bm(Om,"Axis.Scrollbar")&&(t=n,Lm(e,"afterGetOffset",i),Lm(e,"afterInit",s),Lm(e,"afterRender",o))}}();const Fm=Rm,zm={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:Hm}=Q,{composed:Wm}=t,{addEvent:Gm,correctFloat:Xm,crisp:Ym,defined:Um,destroyObjectProperties:jm,extend:Vm,fireEvent:qm,merge:$m,pick:Km,pushUnique:_m,removeEvent:Zm}=C;class Jm{static compose(t){Fm.compose(t,Jm),_m(Wm,"Scrollbar")&&Vm(Hm,{scrollbar:zm})}static swapXY(t,e){return e&&t.forEach(t=>{const e=t.length;let i;for(let s=0;s<e;s+=2)i=t[s+1],"number"==typeof i&&(t[s+1]=t[s+2],t[s+2]=i)}),t}constructor(t,e,i){this._events=[],this.chartX=0,this.chartY=0,this.from=0,this.scrollbarButtons=[],this.scrollbarLeft=0,this.scrollbarStrokeWidth=1,this.scrollbarTop=0,this.size=0,this.to=0,this.trackBorderWidth=1,this.x=0,this.y=0,this.init(t,e,i)}addEvents(){const t=this.options.inverted?[1,0]:[0,1],e=this.scrollbarButtons,i=this.scrollbarGroup.element,s=this.track.element,o=this.mouseDownHandler.bind(this),n=this.mouseMoveHandler.bind(this),r=this.mouseUpHandler.bind(this),a=[[e[t[0]].element,"click",this.buttonToMinClick.bind(this)],[e[t[1]].element,"click",this.buttonToMaxClick.bind(this)],[s,"click",this.trackClick.bind(this)],[i,"mousedown",o],[i.ownerDocument,"mousemove",n],[i.ownerDocument,"mouseup",r],[i,"touchstart",o],[i.ownerDocument,"touchmove",n],[i.ownerDocument,"touchend",r]];a.forEach(function(t){Gm.apply(null,t)}),this._events=a}buttonToMaxClick(t){const e=this,i=(e.to-e.from)*Km(e.options.step,.2);e.updatePosition(e.from+i,e.to+i),qm(e,"changed",{from:e.from,to:e.to,trigger:"scrollbar",DOMEvent:t})}buttonToMinClick(t){const e=this,i=Xm(e.to-e.from)*Km(e.options.step,.2);e.updatePosition(Xm(e.from-i),Xm(e.to-i)),qm(e,"changed",{from:e.from,to:e.to,trigger:"scrollbar",DOMEvent:t})}cursorToScrollbarPosition(t){const e=this,i=e.options,s=i.minWidth>e.calculatedWidth?i.minWidth:0;return{chartX:(t.chartX-e.x-e.xOffset)/(e.barWidth-s),chartY:(t.chartY-e.y-e.yOffset)/(e.barWidth-s)}}destroy(){const t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,jm(e.scrollbarButtons))}drawScrollbarButton(t){const e=this,i=e.renderer,s=e.scrollbarButtons,o=e.options,n=e.size,r=i.g().add(e.group);if(s.push(r),o.buttonsEnabled){const a=i.rect().addClass("highcharts-scrollbar-button").add(r);e.chart.styledMode||a.attr({stroke:o.buttonBorderColor,"stroke-width":o.buttonBorderWidth,fill:o.buttonBackgroun
1dColor}),a.attr(a.crisp({x:-.5,y:-.5,width:n,height:n,r:o.buttonBorderRadius},a.strokeWidth()));const l=i.path(Jm.swapXY([["M",n/2+(t?-1:1),n/2-3],["L",n/2+(t?-1:1),n/2+3],["L",n/2+(t?2:-2),n/2]],o.vertical)).addClass("highcharts-scrollbar-arrow").add(s[t]);e.chart.styledMode||l.attr({fill:o.buttonArrowColor})}}init(t,e,i){const s=this;s.scrollbarButtons=[],s.renderer=t,s.userOptions=e,s.options=$m(zm,Hm.scrollbar,e),s.options.margin=Km(s.options.margin,10),s.chart=i,s.size=Km(s.options.size,s.options.height),e.enabled&&(s.render(),s.addEvents())}mouseDownHandler(t){const e=this,i=e.chart.pointer?.normalize(t)||t,s=e.cursorToScrollbarPosition(i);e.chartX=s.chartX,e.chartY=s.chartY,e.initPositions=[e.from,e.to],e.grabbedCenter=!0}mouseMoveHandler(t){const e=this,i=e.chart.pointer?.normalize(t)||t,s=e.options.vertical?"chartY":"chartX",o=e.initPositions||[];let n,r,a;!e.grabbedCenter||t.touches&&0===t.touches[0][s]||(r=e.cursorToScrollbarPosition(i)[s],n=e[s],a=r-n,e.hasDragged=!0,e.updatePosition(o[0]+a,o[1]+a),e.hasDragged&&qm(e,"changed",{from:e.from,to:e.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){const e=this;e.hasDragged&&qm(e,"changed",{from:e.from,to:e.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),e.grabbedCenter=e.hasDragged=e.chartX=e.chartY=null}position(t,e,i,s){const o=this,n=o.options,{buttonsEnabled:r,margin:a=0,vertical:l}=n,h=o.rendered?"animate":"attr";let c=s,d=0;o.group.show(),o.x=t,o.y=e+this.trackBorderWidth,o.width=i,o.height=s,o.xOffset=c,o.yOffset=d,l?(o.width=o.yOffset=i=d=o.size,o.xOffset=c=0,o.yOffset=d=r?o.size:0,o.barWidth=s-(r?2*i:0),o.x=t+=a):(o.height=s=o.size,o.xOffset=c=r?o.size:0,o.barWidth=i-(r?2*s:0),o.y=o.y+a),o.group[h]({translateX:t,translateY:o.y}),o.track[h]({width:i,height:s}),o.scrollbarButtons[1][h]({translateX:l?0:i-c,translateY:l?s-d:0})}removeEvents(){this._events.forEach(function(t){Zm.apply(null,t)}),this._events.length=0}render(){const t=this,e=t.renderer,i=t.options,s=t.size,o=t.chart.styledMode,n=e.g("scrollbar").attr({zIndex:i.zIndex}).hide().add();t.group=n,t.track=e.rect().addClass("highcharts-scrollbar-track").attr({r:i.trackBorderRadius||0,height:s,width:s}).add(n),o||t.track.attr({fill:i.trackBackgroundColor,stroke:i.trackBorderColor,"stroke-width":i.trackBorderWidth});const r=t.trackBorderWidth=t.track.strokeWidth();t.track.attr({x:-Ym(0,r),y:-Ym(0,r)}),t.scrollbarGroup=e.g().add(n),t.scrollbar=e.rect().addClass("highcharts-scrollbar-thumb").attr({height:s-r,width:s-r,r:i.barBorderRadius||0}).add(t.scrollbarGroup),t.scrollbarRifles=e.path(Jm.swapXY([["M",-3,s/4],["L",-3,2*s/3],["M",0,s/4],["L",0,2*s/3],["M",3,s/4],["L",3,2*s/3]],i.vertical)).addClass("highcharts-scrollbar-rifles").add(t.scrollbarGroup),o||(t.scrollbar.attr({fill:i.barBackgroundColor,stroke:i.barBorderColor,"stroke-width":i.barBorderWidth}),t.scrollbarRifles.attr({stroke:i.rifleColor,"stroke-width":1})),t.scrollbarStrokeWidth=t.scrollbar.strokeWidth(),t.scrollbarGroup.translate(-Ym(0,t.scrollbarStrokeWidth),-Ym(0,t.scrollbarStrokeWidth)),t.drawScrollbarButton(0),t.drawScrollbarButton(1)}setRange(t,e){const i=this,s=i.options,o=s.vertical,n=s.minWidth,r=i.barWidth,a=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!Um(r))return;const l=r*Math.min(e,1);let h,c;t=Math.max(t,0),h=Math.ceil(r*t),i.calculatedWidth=c=Xm(l-h),c<n&&(h=(r-n+c)*t,c=n);const d=Math.floor(h+i.xOffset+i.yOffset),p=c/2-.5;i.from=t,i.to=e,o?(i.scrollbarGroup[a]({translateY:d}),i.scrollbar[a]({height:c}),i.scrollbarRifles[a]({translateY:p}),i.scrollbarTop=d,i.scrollbarLeft=0):(i.scrollbarGroup[a]({translateX:d}),i.scrollbar[a]({width:c}),i.scrollbarRifles[a]({translateX:p}),i.scrollbarLeft=d,i.scrollbarTop=0),c<=12?i.scrollbarRifles.hide():i.scrollbarRifles.show(),!1===s.show
1Full&&(t<=0&&e>=1?i.group.hide():i.group.show()),i.rendered=!0}shouldUpdateExtremes(e){return Km(this.options.liveRedraw,t.svg&&!t.isTouchDevice&&!this.chart.boosted)||"mouseup"===e||"touchend"===e||!Um(e)}trackClick(t){const e=this,i=e.chart.pointer?.normalize(t)||t,s=e.to-e.from,o=e.y+e.scrollbarTop,n=e.x+e.scrollbarLeft;e.options.vertical&&i.chartY>o||!e.options.vertical&&i.chartX>n?e.updatePosition(e.from+s,e.to+s):e.updatePosition(e.from-s,e.to-s),qm(e,"changed",{from:e.from,to:e.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,$m(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=Xm(1-Xm(e-t)),e=1),t<0&&(e=Xm(e-t),t=0),this.from=t,this.to=e}}Jm.defaultOptions=zm;const{defaultOptions:Qm}=Q,{isTouchDevice:tf}=t,{prototype:{symbols:ef}}=Ui,{addEvent:sf,clamp:of,correctFloat:nf,defined:rf,destroyObjectProperties:af,erase:lf,extend:hf,find:cf,fireEvent:df,isArray:pf,isNumber:uf,merge:gf,pick:mf,removeEvent:ff,splat:xf}=C;function yf(t,...e){const i=[].filter.call(e,uf);if(i.length)return Math[t].apply(0,i)}class bf{static compose(t,e,i){om.compose(t,bf),Pm.compose(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){const o=this,n=o.navigatorOptions.handles.height;o.handles[e][s](i?{translateX:Math.round(o.left+o.height/2),translateY:Math.round(o.top+parseInt(t,10)+.5-n)}:{translateX:Math.round(o.left+parseInt(t,10)),translateY:Math.round(o.top+o.height/2-n/2-1)})}drawOutline(t,e,i,s){const o=this,n=o.navigatorOptions.maskInside,r=o.outline.strokeWidth(),a=r/2,l=r%2/2,h=o.scrollButtonSize,c=o.size,d=o.top,p=o.height,u=d-a,g=d+p;let m,f,x=o.left;i?(m=d+e+l,f=[["M",x+p,d-h-l],["L",x+p,m],["L",x,m],["M",x,e=d+t+l],["L",x+p,e],["L",x+p,d+c+h]],n&&f.push(["M",x+p,m-a],["L",x+p,e+a])):(x-=h,f=[["M",x,u],["L",t+=x+h-l,u],["L",t,g],["M",e+=x+h-l,g],["L",e,u],["L",x+c+2*h,u]],n&&f.push(["M",t-a,u],["L",e+a,u])),o.outline[s]({d:f})}drawMasks(t,e,i,s){const o=this,n=o.left,r=o.top,a=o.height;let l,h,c,d;i?(c=[n,n,n],d=[r,r+t,r+e],h=[a,a,a],l=[t,e-t,o.size-e]):(c=[n,n+t,n+e],d=[r,r,r],h=[t,e-t,o.size-e],l=[a,a,a]),o.shades.forEach((t,e)=>{t[s]({x:c[e],y:d[e],width:h[e],height:l[e]})})}renderElements(){const t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,n=s.renderer,r={cursor:o?"ns-resize":"ew-resize"},a=t.navigatorGroup??(t.navigatorGroup=n.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,o)=>{const l=t.shades[o]??(t.shades[o]=n.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(a));s.styledMode||(l.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===o&&l.css(r))}),t.outline||(t.outline=n.path().addClass("highcharts-navigator-outline").add(a)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){const i=e.handles,{height:o,width:l}=i;[0,1].forEach(e=>{const h=i.symbols[e];if(t.handles[e]&&t.handles[e].symbolUrl===h){if(!t.handles[e].isImg&&t.handles[e].symbolName!==h){const i=ef[h].call(ef,-l/2-1,0,l,o);t.handles[e].attr({d:i}),t.handles[e].symbolName=h}}else t.handles[e]?.destroy(),t.handles[e]=n.symbol(h,-l/2-1,0,l,o,i),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(a),t.addMouseEvents();s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-l/2),rotationOriginY:(o+l)/2}),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth,width:i.width,height:i.height,x:-l/2-1,y:0}).css(r)})}}update(t,e=!1){const i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(gf(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),rf(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{ff(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(sf(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;const e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){const o=this,n=o.chart,r=o.xAxis,a=r.pointRange||0,l=r.navigatorAxis.fake?n.xAxis[0]:r,h=o.navigatorEnabled,c=o.rendered,d=n.inverted,p=n.xAxis[0].minRange,u=n.xAxis[0].options.maxRange,g=o.scrollButtonSize;let m,f,x,y,b,v=o.scrollbarHeight;if(this.hasDragged&&!rf(i))return;if(this.isDirty&&this.renderElements(),t=nf(t-a/2),e=nf(e+a/2),!uf(t)||!uf(e)){if(!c)return;i=0,s=mf(r.width,l.width)}o.left=mf(r.left,n.plotLeft+g+(d?n.plotWidth:0));let w=o.size=y=mf(r.len,(d?n.plotHeight:n.plotWidth)-2*g);m=d?v:y+2*g,i=mf(i,r.toPixels(t,!0)),s=mf(s,r.toPixels(e,!0)),uf(i)&&Math.abs(i)!==1/0||(i=0,s=m);const k=r.toValue(i,!0),T=r.toValue(s,!0),S=Math.abs(nf(T-k));S<p?this.grabbedLeft?i=r.toPixels(T-p-a,!0):this.grabbedRight&&(s=r.toPixels(k+p+a,!0)):rf(u)&&nf(S-a)>u&&(this.grabbedLeft?i=r.toPixels(T-u-a,!0):this.grabbedRight&&(s=r.toPixels(k+u+a,!0))),o.zoomedMax=of(Math.max(i,s),0,w),o.zoomedMin=of(o.fixedWidth?o.zoomedMax-o.fixedWidth:Math.min(i,s),0,w),o.range=o.zoomedMax-o.zoomedMin,w=Math.round(o.zoomedMax);const M=Math.round(o.zoomedMin);h&&(o.navigatorGroup.attr({visibility:"inherit"}),b=c&&!o.hasDragged?"animate":"attr",o.drawMasks(M,w,d,b),o.drawOutline(M,w,d,b),o.navigatorOptions.handles.enabled&&(o.drawHandle(M,0,d,b),o.drawHandle(w,1,d,b))),o.scrollbar&&(d?(x=o.top-g,f=o.left-v+(h||!l.opposite?0:(l.titleOffset||0)+l.axisTitleMargin),v=y+2*g):(x=o.top+(h?o.height:-v),f=o.left-g),o.scrollbar.position(f,x,m,v),o.scrollbar.setRange(o.zoomedMin/(y||1),o.zoomedMax/(y||1))),o.rendered=!0,this.isDirty=!1,df(this,"afterRe
1nder")}addMouseEvents(){const t=this,e=t.chart,i=e.container;let s,o,n=[];t.mouseMoveHandler=s=function(e){t.onMouseMove(e)},t.mouseUpHandler=o=function(e){t.onMouseUp(e)},n=t.getPartsEvents("mousedown"),n.push(sf(e.renderTo,"mousemove",s),sf(i.ownerDocument,"mouseup",o),sf(e.renderTo,"touchmove",s),sf(i.ownerDocument,"touchend",o)),n.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=n,t.series&&t.series[0]&&n.push(sf(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){const e=this,i=[];return["shades","handles"].forEach(function(s){e[s].forEach(function(o,n){i.push(sf(o.element,t,function(t){e[s+"Mousedown"](t,n)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;const i=this,s=i.chart,o=i.xAxis,n=i.zoomedMin,r=i.size,a=i.range;let l,h,c,d,p=i.left,u=t.chartX;s.inverted&&(u=t.chartY,p=i.top),1===e?(i.grabbedCenter=u,i.fixedWidth=a,i.dragOffset=u-n):(d=u-p-a/2,0===e?d=Math.max(0,d):2===e&&d+a>=r&&(d=r-a,i.reversedExtremes?(d-=a,h=i.getUnionExtremes().dataMin):l=i.getUnionExtremes().dataMax),d!==n&&(i.fixedWidth=a,c=o.navigatorAxis.toFixedRange(d,d+a,h,l),rf(c.min)&&df(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;const i=this,s=i.chart,o=s.xAxis[0],n=i.reversedExtremes;0===e?(i.grabbedLeft=!0,i.otherHandlePos=i.zoomedMax,i.fixedExtreme=n?o.min:o.max):(i.grabbedRight=!0,i.otherHandlePos=i.zoomedMin,i.fixedExtreme=n?o.max:o.min),s.setFixedRange(void 0)}onMouseMove(t){const e=this,i=e.chart,s=e.navigatorSize,o=e.range,n=e.dragOffset,r=i.inverted;let a,l=e.left;t.touches&&0===t.touches[0].pageX||(a=(t=i.pointer?.normalize(t)||t).chartX,r&&(l=e.top,a=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,a-l,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,a-l)):e.grabbedCenter&&(e.hasDragged=!0,a<n?a=n:a>s+n-o&&(a=s+n-o),e.render(0,0,a-n,a-n+o)),e.hasDragged&&e.scrollbar&&mf(e.scrollbar.options.liveRedraw,!tf&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){const e=this,i=e.chart,s=e.xAxis,o=e.scrollbar,n=t.DOMEvent||t,r=i.inverted,a=e.rendered&&!e.hasDragged?"animate":"attr";let l,h,c,d,p,u;(!e.hasDragged||o&&o.hasDragged)&&"scrollbar"!==t.trigger||(c=e.getUnionExtremes(),e.zoomedMin===e.otherHandlePos?d=e.fixedExtreme:e.zoomedMax===e.otherHandlePos&&(p=e.fixedExtreme),e.zoomedMax===e.size&&(p=e.reversedExtremes?c.dataMin:c.dataMax),0===e.zoomedMin&&(d=e.reversedExtremes?c.dataMax:c.dataMin),u=s.navigatorAxis.toFixedRange(e.zoomedMin,e.zoomedMax,d,p),rf(u.min)&&df(this,"setRange",{min:Math.min(u.min,u.max),max:Math.max(u.min,u.max),redraw:!0,animation:!e.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:n}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(e.grabbedLeft=e.grabbedRight=e.grabbedCenter=e.fixedWidth=e.fixedExtreme=e.otherHandlePos=e.hasDragged=e.dragOffset=null),e.navigatorEnabled&&uf(e.zoomedMin)&&uf(e.zoomedMax)&&(h=Math.round(e.zoomedMin),l=Math.round(e.zoomedMax),e.shades&&e.drawMasks(h,l,r,a),e.outline&&e.drawOutline(h,l,r,a),e.navigatorOptions.handles.enabled&&Object.keys(e.handles).length===e.handles.length&&(e.drawHandle(h,0,r,a),e.drawHandle(l,1,r,a))
vendor: 4,949 bytes, line 1
1)}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){const t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){ff(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&ff(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){const e=t.options,i=e.navigator||{},s=i.enabled,o=e.scrollbar||{},n=o.enabled,r=s&&i.height||0,a=n&&o.height||0,l=o.buttonsEnabled&&a||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=r,this.scrollbarHeight=a,this.scrollButtonSize=l,this.scrollbarEnabled=n,this.navigatorEnabled=s,this.navigatorOptions=i,this.scrollbarOptions=o,this.setOpposite();const h=this,c=h.baseSeries,d=t.xAxis.length,p=t.yAxis.length,u=c&&c[0]&&c[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,h.navigatorEnabled){const e=this.getXAxisOffsets();h.xAxis=new oo(t,gf({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:d,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:r}:{offsets:e,height:r}),"xAxis"),h.yAxis=new oo(t,gf(i.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:mf(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:r}:{height:r}),"yAxis"),c||i.series.data?h.updateNavigatorSeries(!1):0===t.series.length&&(h.unbindRedraw=sf(t,"beforeRedraw",function(){t.series.length>0&&!h.series&&(h.setBaseSeries(),h.unbindRedraw())})),h.reversedExtremes=t.inverted&&!h.xAxis.reversed||!t.inverted&&h.xAxis.reversed,h.renderElements(),h.addMouseEvents()}else h.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){const s=t.xAxis[0],o=s.getExtremes(),n=s.len-2*l,r=yf("min",s.options.min,o.dataMin),a=yf("max",s.options.max,o.dataMax)-r;return i?e*a/n+r:n*(e-r)/a},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},h.xAxis.navigatorAxis.axis=h.xAxis,h.xAxis.navigatorAxis.toFixedRange=um.prototype.toFixedRange.bind(h.xAxis.navigatorAxis);if(t.options.scrollbar?.enabled){const e=gf(t.options.scrollbar,{vertical:t.inverted});uf(e.margin)||(e.margin=t.inverted?-3:3),t.scrollbar=h.scrollbar=new Jm(t.renderer,e,t),sf(h.scrollbar,"changed",function(t){const e=h.size,i=e*this.to,s=e*this.from;h.hasDragged=h.scrollbar.hasDragged,h.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){h.onMouseUp(t)})})}h.addBaseSeriesEvents(),h.addChartEvents()}setOpposite(){const t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=mf(t.opposite,Boolean(!e&&i.inverted))}getUnionExtremes(t){const e=this.chart.xAxis[0],i=this.chart.time,s=this.xAxis,o=s.options,n=e.options;let r;return t&&null===e.dataMin||(r={dataMin:mf(i.parse(o?.min),yf("min",i.parse(n.min),e.dataMin,s.dataMin,s.min)),dataMax:mf(i.parse(o?.max),yf("max",i.parse(n.max),e.dataMax,s.dataMax,s.max))}),r}setBaseSeries(t,e){const i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?cf(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{e.options.isInternal||!e.options.showInNavigator&&(i!==t&&e.options.id!==t||!1===e.options.showInNavigator)||s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){const i=this,s=i.chart,o=i.baseSeries,n={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},r=i.series=(i.series||[]).filter(t=>{const e=t.baseSeries;return!(o.indexOf(e)<0)||(e&&(ff(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)});let a,l,h,c=i.navigatorOptions.series;o&&o.length&&o.forEach(t=>{const d=t.navigatorSeries,p=hf({color:t.color,visible:t.visible},pf(c)?Qm.navigator.series:c);if(d&&!1===i.navigatorOptions.adaptToUpdatedData)return;n.name="Navigator "+o.length,a=t.options||{},h=a.navigatorOptions||{},p.dataLabels=xf(p.dataLabels),l=gf(a,n,p,h),l.pointRange=mf(p.pointRange,h.pointRange,Qm.plotOptions[l.type||"line"].pointRange);const u=h.data||p.data;i.hasNavigatorData=i.hasNavigatorData||!!u,l.data=u||a.data?.slice(0),d&&d.options?d.update(l,e):(t.navigatorSeries=s.initSeries(l),s.setSortedData(),t.navigatorSeries.baseSeries=t,r.push(t.navigatorSeries))}),(!c.data||o&&o.length)&&!pf(c)||(i.hasNavigatorData=!1,c=xf(c),c.forEac
1h((t,e)=>{n.name="Navigator "+(r.length+1),l=gf(Qm.navigator.series,{color:s.series[e]&&!s.series[e].options.isInternal&&s.series[e].color||s.options.colors[e]||s.options.colors[0]},n,t),l.data=t.data,l.data&&(i.hasNavigatorData=!0,r.push(s.initSeries(l)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){const t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(sf(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(sf(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(sf(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(sf(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push(sf(i,"remove",function(){e&&lf(e,i),this.navigatorSeries&&t.series&&(lf(t.series,this.navigatorSeries),rf(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){const t=this.xAxis;if(void 0!==t.getExtremes){const e=this.getUnionExtremes(!0);!e||e.dataMin===t.min&&e.dataMax===t.max||(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){const t=this,e=t.chart.navigator,i=t.getExtremes(),s=i.min,o=i.max,n=i.dataMin,r=i.dataMax,a=o-s,l=e.stickToMin,h=e.stickToMax,c=mf(t.ordinal?.convertOverscroll(t.options.overscroll),0),d=e.series&&e.series[0],p=!!t.setExtremes;let u,g;t.eventArgs&&"rangeSelectorButton"===t.eventArgs.trigger||(l&&(g=n,u=g+a),h&&(u=r+c,l||(g=Math.max(n,u-a,e.getBaseSeriesMin(d&&d.xData?d.xData[0]:-Number.MAX_VALUE)))),p&&(l||h)&&uf(g)&&(t.min=t.userMin=g,t.max=t.userMax=u)),e.stickToMin=e.stickToMax=null}updatedDataHandler(){const t=this.chart.navigator,e=this,i=this.navigatorSeries,s=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=mf(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,s),t.stickToMin=t.shouldStickToMin(e,t),i&&!t.hasNavigatorData&&(i.options.pointStart=e.getColumn("x")[0],i.setData(e.options.data,!1,null,!1))}shouldStickToMin(t,e){const i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,o=s.max,n=s.min,r=s.options.range;let a=!0;return a=!(!uf(o)||!uf(n))&&(r&&o-i>0?o-i<r:n<=i),a}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push(sf(this.chart,"redraw",function(){const t=this.navigator,e=t&&(t.baseSeries&&t.baseSeries[0]&&t.baseSeries[0].xAxis||this.xAxis[0]);e&&t.render(e.min,e.max)}),sf(this.chart,"getMargins",function(){const t=this,e=t.navigator;let i=e.opposite?"plotTop":"marginBottom";t.inverted&&(i=e.opposite?"marginRight":"plotLeft"),t[i]=(t[i]||0)+(e.navigatorEnabled||!t.inverted?e.height+(this.scrollbar?.options.margin||0)+e.scrollbarHeight:0)+(e.navigatorOptions.margin||0)}),sf(bf,"setRange",function(t){this.chart.xAxis[0].setExtremes(t.min,t.max,t.redraw,t.animation,t.eventArguments)}))}destroy(){this.removeEvents(),this.xAxis&&(lf(this.chart.xAxis,this.xAxis),lf(this.chart.axes,this.xAxis)),this.yAxis&&(lf(this.chart.yAxis,this.yAxis),lf(this.chart.axes,this.yAxis)),(this.series||[]).forEach(t=>{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{af(t)}),this.baseSeries.forEach(t=>{t.navigatorSeries=void 0}),this.navigatorEnabled=!1}}const{animObject:vf}=St,{format:wf}=ee,{clamp:kf,pick:Tf,syncTimeout:Sf}=C,{getFakeMouseEvent:Mf}=au,{getAxisRangeDescription:Af,fireEventOnWrappedOrUnwrappedElement:Cf}=vu;class Ef extends Eu{init(){const t=this.chart,e=this;this.announcer=new Uu(t,"polite"),this.addEvent(bf,"afterRender",function(){this.chart===e.chart&&this.chart.renderer&&Sf(()=>{e.proxyProvider.updateGroupProxyElementPositions("navigator"),e.updateHandleValues()},vf(Tf(this.chart.renderer.globalAnimation,!0)).duration)})}onChartUpdate(){const t=this.chart,e=t.options,i=e.navigator;if(i.enabled&&i.accessibility?.enabled){const i=e.accessibility.landmarkVerbosity,s=e.lang.accessibility?.navigator.groupLabel;this.proxyProvider.removeGroup("navigator"),this.proxyProvider.addGroup("navigator","div",{role:"all"===i?"region":"group","aria-label":wf(s,{chart:t},t)});const o=e.lang.accessibility?.navigator.handleLabel;
1[0,1].forEach(e=>{const i=this.getHandleByIx(e);if(i){const s=this.proxyProvider.addProxyElement("navigator",{click:i},"input",{type:"range","aria-label":wf(o,{handleIx:e,chart:t},t)});this[e?"maxHandleProxy":"minHandleProxy"]=s.innerElement,s.innerElement.style.pointerEvents="none",s.innerElement.oninput=()=>this.updateNavigator()}}),this.updateHandleValues()}else this.proxyProvider.removeGroup("navigator")}getNavigatorHandleNavigation(t){const e=this,i=this.chart,s=t?this.maxHandleProxy:this.minHandleProxy,o=this.keyCodes;return new Ou(i,{keyCodeMap:[[[o.left,o.right,o.up,o.down],function(n){if(s){const r=n===o.left||n===o.up?-1:1;s.value=""+kf(parseFloat(s.value)+r,0,100),e.updateNavigator(()=>{const o=e.getHandleByIx(t);o&&i.setFocusToElement(o,s)})}return this.response.success}]],init:()=>{i.setFocusToElement(this.getHandleByIx(t),s)},validate:()=>!!(this.getHandleByIx(t)&&s&&i.options.navigator.accessibility?.enabled)})}getKeyboardNavigation(){return[this.getNavigatorHandleNavigation(0),this.getNavigatorHandleNavigation(1)]}destroy(){this.updateNavigatorThrottleTimer&&clearTimeout(this.updateNavigatorThrottleTimer),this.proxyProvider.removeGroup("navigator"),this.announcer&&this.announcer.destroy()}updateHandleValues(){const t=this.chart.navigator;if(t&&this.minHandleProxy&&this.maxHandleProxy){const e=t.size;this.minHandleProxy.value=""+Math.round(t.zoomedMin/e*100),this.maxHandleProxy.value=""+Math.round(t.zoomedMax/e*100)}}getHandleByIx(t){const e=this.chart.navigator;return e&&e.handles&&e.handles[t]}updateNavigator(t){this.updateNavigatorThrottleTimer&&clearTimeout(this.updateNavigatorThrottleTimer),this.updateNavigatorThrottleTimer=setTimeout((t=>{const e=this.chart,{navigator:i,pointer:s}=e,o=this.chart.accessibility?.keyboardNavigation;if(i&&s&&this.minHandleProxy&&this.maxHandleProxy){const n=s.getChartPosition(),r=parseFloat(this.minHandleProxy.value)/100*i.size,a=parseFloat(this.maxHandleProxy.value)/100*i.size;[[0,"mousedown",i.zoomedMin],[0,"mousemove",r],[0,"mouseup",r],[1,"mousedown",i.zoomedMax],[1,"mousemove",a],[1,"mouseup",a]].forEach(([t,e,s])=>{const o=this.getHandleByIx(t)?.element;o&&Cf(o,Mf(e,{x:n.left+i.left+s,y:n.top+i.top},o))}),o&&(o.keyboardReset=!1),t&&t();const l=e.options.lang.accessibility?.navigator.changeAnnouncement,h=Af(e.xAxis[0]);this.announcer.announce(wf(l,{axisRangeDescription:h,chart:e},e))}}).bind(this,t),20)}}const{getPointAnnotationTexts:Pf}=_u,{getAxisDescription:Of,getSeriesFirstPointElement:Lf,getSeriesA11yElement:Df,unhideChartElementFromAT:Nf}=vu,{format:If,numberFormat:Bf}=ee,{reverseChildNodes:Rf,stripHTMLTagsFromString:Ff}=au,{find:zf,isNumber:Hf,isString:Wf,pick:Gf,defined:Xf}=C;function Yf(t){const e=t.series,i=function(t){const e=t.index;if(!t.series||!t.series.data||!Xf(e))return null;const i=t.series.options?.nullInteraction;return zf(t.series.data,function(t){return!!(t&&void 0!==t.index&&(i||t.index>e)&&t.graphic&&t.graphic.element)})||null}(t),s=i&&i.graphic,o=s?s.parentGroup:e.graph||e.group,n=function(t,e){const i=t.series.chart.renderer.rect(e.x,e.y,1,1);return i.attr({class:"highcharts-a11y-mock-point",fill:"none",opacity:0,"fill-opacity":0,"stroke-opacity":0}),i}(t,i?{x:Gf(t.plotX,i.plotX,0),y:Gf(t.plotY,i.plotY,0)}:{x:Gf(t.plotX,0),y:Gf(t.plotY,0)});if(o&&o.element)return t.graphic=n,t.hasMockGraphic=!0,n.add(o),o.element.insertBefore(n.element,s?s.element:null),n.element}function Uf(t){const e=t.chart.options.accessibility.series.pointDescriptionEnabledThreshold;return!!(!1!==e&&t.points&&t.points.length>=+e)}function jf(t,e){const i=t.series,s=i.chart,o=s.options.accessibility.point||{},n=i.options.accessibility&&i.options.accessibility.point||{},r=i.tooltipOptions||{},a=s.options.lang;return Hf(e)?Bf(e,n.valueDecimals||o.valueDecimals||r.valueDecimals||-1,a.decimalPoint,a.accessibility.thousandsSep||a.thousandsSep):e}function Vf(t,e){const i=t[e];return t.chart.langFormat("accessibility.series."+e+"Description",{name:Of(i),series:t})}function qf(t,e,i){const s=e||"",o=i||"";return t.series.pointArrayMap.reduce(function(e,i){const n=function(e){const i=jf(t,Gf(t[e],t.options[e]));return void 0!==i?e+": "+s+i+o:i}(i);return n?e+(e.length?", ":"")+n:e},"")}function $f(t){const e=t.series,i=e.chart.options.accessibility.point||{},s=e.chart.options.accessibility&&e.chart.options.accessibility.point||{},o=e.tooltipOptions||{},n=s.valuePrefix||i.valuePrefix||o.valuePrefix||"",r=s.valueSuffix||i.valueSuffix||o.valueSuffix||"",a=jf(t,t[void 0!==t.value?"value":"y"]);return t.isNull?e.chart.langFormat("accessibility.series.nullPointValue",{point:t}):e.pointArrayMap?qf(t,n,r):n+a+r}function Kf(t){const e=t.series,i=e.chart,s=e.options.accessibility,o=s&&s.point&&s.point.valueDescriptionFormat||i.options.accessibility.point.valueDescriptionFormat,n=Gf(e.xAxis&&e.xAxis.options.accessibility&&e.xAxis.options.accessibility.enabled,!i.angular&&"flowmap"!==e.type),r=n?function(t){const e=function(t){const e=t.series,i=e.chart,s=e.options.accessibility&&e.options.accessibility.point||{},o=i.options.accessibility.point||{},n=e.xAxis&&e.xAxis.dateTime;if(n){const e=n.getXDateFormat(t.x||0,i.options.tooltip.dateTimeLabelFormats),r=s.dateFormatter&&s.dateFormatter(t)||o.dateFormatter&&o.dateFormatter(t)||s.dateFormat||o.dateFormat||e;return i.time.dateFormat(r,t.x||0,void 0)}}(t),i=(t.series.xAxis||{}).categories&&Xf(t.category)&&(""+t.category).replace("<br/>
1"," "),s=Xf(t.id)&&(""+t.id).indexOf("highcharts-")<0,o="x, "+t.x;return t.name||e||i||(s?t.id:o)}(t):"",a={point:t,index:Xf(t.index)?t.index+1:"",xDescription:r,value:$f(t),separator:n?", ":""};return If(o,a,i)}function _f(t){const e=t.series,i=e.chart.series.length>1||e.options.name,s=Kf(t),o=t.options&&t.options.accessibility&&t.options.accessibility.description,n=o?" "+o:"",r=i?" "+e.name+".":"",a=function(t){const e=t.series.chart,i=Pf(t),s={point:t,annotations:i};return i.length?e.langFormat("accessibility.series.pointAnnotationsDescription",s):""}(t),l=a?" "+a:"";return t.accessibility=t.accessibility||{},t.accessibility.valueDescription=s,s+n+r+l}function Zf(t){const e=function(t){const e=t.options.accessibility||{};return!Uf(t)&&!e.exposeAsGroupOnly}(t),i=function(t){const e=t.chart.options.accessibility.keyboardNavigation.seriesNavigation;return!(!t.points||!(t.points.length<+e.pointNavigationEnabledThreshold||!1===e.pointNavigationEnabledThreshold))}(t),s=t.chart.options.accessibility.point.describeNull;(e||i)&&t.points.forEach(i=>{const o=i.graphic&&i.graphic.element||function(t){const e=t.series,i=e&&e.chart,s=e&&e.is("sunburst"),o=t.isNull,n=i&&i.options.accessibility.point.describeNull;return o&&!s&&n}(i)&&Yf(i),n=i.options&&i.options.accessibility&&!1===i.options.accessibility.enabled;if(o){if(i.isNull&&!s)return void o.setAttribute("aria-hidden",!0);o.setAttribute("tabindex","-1"),t.chart.styledMode||(o.style.outline="none"),e&&!n?function(t,e){const i=t.series,s=i.options.accessibility?.point||{},o=i.chart.options.accessibility.point||{},n=Ff(Wf(s.descriptionFormat)&&If(s.descriptionFormat,t,i.chart)||s.descriptionFormatter?.(t)||Wf(o.descriptionFormat)&&If(o.descriptionFormat,t,i.chart)||o.descriptionFormatter?.(t)||_f(t),i.chart.renderer.forExport);e.setAttribute("role","img"),e.setAttribute("aria-label",n)}(i,o):o.setAttribute("aria-hidden",!0)}})}function Jf(t){const e=t.chart,i=e.types||[],s=function(t){const e=(t.options.accessibility||{}).description;return e&&t.chart.langFormat("accessibility.series.description",{description:e,series:t})||""}(t),o=function(i){return e[i]&&e[i].length>1&&t[i]},n=t.index+1,r=Vf(t,"xAxis"),a=Vf(t,"yAxis"),l={seriesNumber:n,series:t,chart:e},h=i.length>1?"Combination":"",c=e.langFormat("accessibility.series.summary."+t.type+h,l)||e.langFormat("accessibility.series.summary.default"+h,l),d=(o("yAxis")?" "+a+".":"")+(o("xAxis")?" "+r+".":""),p=Gf(t.options.accessibility&&t.options.accessibility.descriptionFormat,e.options.accessibility.series.descriptionFormat,"");return If(p,{seriesDescription:c,authorDescription:s?" "+s:"",axisDescription:d,series:t,chart:e,seriesNumber:n},void 0)}const Qf={defaultPointDescriptionFormatter:_f,defaultSeriesDescriptionFormatter:Jf,describeSeries:function(t){const e=t.chart,i=Lf(t),s=Df(t),o=e.is3d&&e.is3d();s&&(s.lastChild!==i||o||Rf(s),Zf(t),Nf(e,s),function(t){const e=t.chart,i=e.options.chart,s=i.options3d&&i.options3d.enabled,o=e.series.length>1,n=e.options.accessibility.series.describeSingleSeries,r=(t.options.accessibility||{}).exposeAsGroupOnly;return!(s&&o)&&(o||n||r||Uf(t))}(t)?function(t,e){const i=t.options.accessibility||{},s=t.chart.options.accessibility,o=s.landmarkVerbosity;i.exposeAsGroupOnly?e.setAttribute("role","img"):"all"===o?e.setAttribute("role","region"):e.setAttribute("role","group"),e.setAttribute("tabindex","-1"),t.chart.styledMode||(e.style.outline="none"),e.setAttribute("aria-label",Ff(s.series.descriptionFormatter&&s.series.descriptionFormatter(t)||Jf(t),t.chart.renderer.forExport))}(t,s):s.removeAttribute("aria-label"))}},{composed:tx}=t,{addEvent:ex,defined:ix,pushUnique:sx}=C,{getChartTitle:ox}=vu,{defaultPointDescriptionFormatter:nx,defaultSeriesDescriptionFormatter:rx}=Qf;function ax(t){return!!t.options.accessibility.announceNewData.enabled}class lx{constructor(t){this.dirty={allSeries:{}},this.lastAnnouncementTime=0,this.chart=t}init(){const t=this.chart,e=t.options.accessibility.announceNewData.interruptUser?"assertive":"polite";this.lastAnnouncementTime=0,this.dirty={allSeries:{}},this.eventProvider=new Mu,this.announcer=new Uu(t,e),this.addEventListeners()}destroy(){this.eventProvider.removeAddedEvents(),this.announcer.destroy()}
1addEventListeners(){const t=this,e=this.chart,i=this.eventProvider;i.addEvent(e,"afterApplyDrilldown",function(){t.lastAnnouncementTime=0}),i.addEvent(e,"afterAddSeries",function(e){t.onSeriesAdded(e.series)}),i.addEvent(e,"redraw",function(){t.announceDirtyData()})}onSeriesAdded(t){ax(this.chart)&&(this.dirty.hasDirty=!0,this.dirty.allSeries[t.name+t.index]=t,this.dirty.newSeries=ix(this.dirty.newSeries)?void 0:t)}announceDirtyData(){const t=this.chart,e=this;if(t.options.accessibility.announceNewData&&this.dirty.hasDirty){let t=this.dirty.newPoint;t&&(t=function(t){const e=t.series.data.filter(e=>t.x===e.x&&t.y===e.y);return 1===e.length?e[0]:t}(t)),this.queueAnnouncement(Object.keys(this.dirty.allSeries).map(t=>e.dirty.allSeries[t]),this.dirty.newSeries,t),this.dirty={allSeries:{}}}}queueAnnouncement(t,e,i){const s=this.chart.options.accessibility.announceNewData;if(s.enabled){const o=+new Date,n=o-this.lastAnnouncementTime,r=Math.max(0,s.minAnnounceInterval-n),a=function(t,e){const i=(t||[]).concat(e||[]).reduce((t,e)=>(t[e.name+e.index]=e,t),{});return Object.keys(i).map(t=>i[t])}(this.queuedAnnouncement&&this.queuedAnnouncement.series,t),l=this.buildAnnouncementMessage(a,e,i);l&&(this.queuedAnnouncement&&clearTimeout(this.queuedAnnouncementTimer),this.queuedAnnouncement={time:o,message:l,series:a},this.queuedAnnouncementTimer=setTimeout(()=>{this&&this.announcer&&(this.lastAnnouncementTime=+new Date,this.announcer.announce(this.queuedAnnouncement.message),delete this.queuedAnnouncement,delete this.queuedAnnouncementTimer)},r))}}buildAnnouncementMessage(e,i,s){const o=this.chart,n=o.options.accessibility.announceNewData;if(n.announcementFormatter){const t=n.announcementFormatter(e,i,s);if(!1!==t)return t.length?t:null}const r=t.charts&&t.charts.length>1?"Multiple":"Single",a=i?"newSeriesAnnounce"+r:s?"newPointAnnounce"+r:"newDataAnnounce",l=ox(o);return o.langFormat("accessibility.announceNewData."+a,{chartTitle:l,seriesDesc:i?rx(i):null,pointDesc:s?nx(s):null,point:s,series:i})}}!function(){function t(t){const e=this.chart,i=e.accessibility?.components.series.newDataAnnouncer;i&&i.chart===e&&ax(e)&&(i.dirty.newPoint=ix(i.dirty.newPoint)?void 0:t.point)}function e(){const t=this.chart,e=t.accessibility?.components.series.newDataAnnouncer;e&&e.chart===t&&ax(t)&&(e.dirty.hasDirty=!0,e.dirty.allSeries[this.name+this.index]=this)}(lx||(lx={})).compose=function(i){sx(tx,"A11y.NDA")&&(ex(i,"addPoint",t),ex(i,"updatedData",e))}}();const hx=lx,{doc:cx,win:dx}=t,{attr:px,css:ux,merge:gx}=C,{fireEventOnWrappedOrUnwrappedElement:mx}=vu,{cloneMouseEvent:fx,cloneTouchEvent:xx,getFakeMouseEvent:yx,removeElement:bx}=au;class vx{constructor(t,e,i="button",s,o){this.chart=t,this.target=e,this.eventProvider=new Mu;const n=this.innerElement=cx.createElement(i),r=this.element=s?cx.createElement(s):n;t.styledMode||this.hideElementVisually(n),s&&("li"!==s||t.styledMode||(r.style.listStyle="none"),r.appendChild(n),this.element=r),this.updateTarget(e,o)}click(){const t=this.getTargetPosition();t.x+=t.width/2,t.y+=t.height/2;const e=yx("click",t);mx(this.target.click,e)}updateTarget(t,e){this.target=t,this.updateCSSClassName();const i=e||{};
1Object.keys(i).forEach(t=>{null===i[t]&&delete i[t]});const s=this.getTargetAttr(t.click,"aria-label");px(this.innerElement,gx(s?{"aria-label":s}:{},i)),this.eventProvider.removeAddedEvents(),this.addProxyEventsToElement(this.innerElement,t.click),this.refreshPosition()}refreshPosition(){const t=this.getTargetPosition();ux(this.innerElement,{width:(t.width||1)+"px",height:(t.height||1)+"px",left:(Math.round(t.x)||0)+"px",top:(Math.round(t.y)||0)+"px"})}remove(){this.eventProvider.removeAddedEvents(),bx(this.element)}updateCSSClassName(){const t=t=>t.indexOf("highcharts-no-tooltip")>-1,e=this.chart.legend,i=e.group&&e.group.div,s=t(i&&i.className||""),o=t(this.getTargetAttr(this.target.click,"class")||"");this.innerElement.className=s||o?"highcharts-a11y-proxy-element highcharts-no-tooltip":"highcharts-a11y-proxy-element"}addProxyEventsToElement(t,e){["click","touchstart","touchend","touchcancel","touchmove","mouseover","mouseenter","mouseleave","mouseout"].forEach(i=>{const s=0===i.indexOf("touch");this.eventProvider.addEvent(t,i,t=>{const i=s?xx(t):fx(t);e&&mx(e,i),t.stopPropagation(),s||t.preventDefault()},{passive:!1})})}hideElementVisually(t){ux(t,{borderWidth:0,backgroundColor:"transparent",cursor:"pointer",outline:"none",opacity:.001,filter:"alpha(opacity=1)",zIndex:999,overflow:"hidden",padding:0,margin:0,display:"block",position:"absolute","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)"})}getTargetPosition(){const t=this.target.click,e=t.element?t.element:t,i=this.target.visual||e,s=this.chart.renderTo,o=this.chart.pointer;if(s&&i?.getBoundingClientRect&&o){const t=dx.scrollY||cx.documentElement.scrollTop,e=i.getBoundingClientRect(),s=o.getChartPosition();return{x:(e.left-s.left)/s.scaleX,y:(e.top+t-s.top)/s.scaleY,width:e.right/s.scaleX-e.left/s.scaleX,height:e.bottom/s.scaleY-e.top/s.scaleY}}return{x:0,y:0,width:1,height:1}}getTargetAttr(t,e){return t.element?t.element.getAttribute(e):t.getAttribute(e)}}const{doc:wx}=t,{attr:kx,css:Tx}=C,{unhideChartElementFromAT:Sx}=vu,{removeChildNodes:Mx}=au;class Ax{constructor(t){this.chart=t,this.domElementProvider=new Tu,this.groups={},this.groupOrder=[],this.beforeChartProxyPosContainer=this.createProxyPosContainer("before"),this.afterChartProxyPosContainer=this.createProxyPosContainer("after"),this.update()}addProxyElement(t,e,i="button",s){const o=this.groups[t];if(!o)throw new Error("ProxyProvider.addProxyElement: Invalid group key "+t);const n="ul"===o.type||"ol"===o.type?"li":void 0,r=new vx(this.chart,e,i,n,s);return o.proxyContainerElement.appendChild(r.element),o.proxyElements.push(r),r}addGroup(t,e="div",i){const s=this.groups[t];if(s)return s.groupElement;const o=this.domElementProvider.createElement(e);let n;return i&&i.role&&"div"!==e?(n=this.domElementProvider.createElement("div"),n.appendChild(o)):n=o,n.className="highcharts-a11y-proxy-group highcharts-a11y-proxy-group-"+t.replace(/\W/g,"-"),this.groups[t]={proxyContainerElement:o,groupElement:n,type:e,proxyElements:[]},kx(n,i||{}),"ul"===e&&o.setAttribute("role","list"),this.afterChartProxyPosContainer.appendChild(n),this.updateGroupOrder(this.groupOrder),n}updateGroupAttrs(t,e){const i=this.groups[t];if(!i)throw new Error("ProxyProvider.updateGroupAttrs: Invalid group key "+t);kx(i.groupElement,e)}updateGroupOrder(t){if(this.groupOrder=t.slice(),this.isDOMOrderGroupOrder())return;const e=t.indexOf("series"),i=e>-1?t.slice(0,e):t,s=e>-1?t.slice(e+1):[],o=wx.activeElement;["before","after"].forEach(t=>{const e=this["before"===t?"beforeChartProxyPosContainer":"afterChartProxyPosContainer"],o="before"===t?i:s;Mx(e),o.forEach(t=>{const i=this.groups[t];i&&e.appendChild(i.groupElement)})}),(this.beforeChartProxyPosContainer.contains(o)||this.afterChartProxyPosContainer.contains(o))&&o&&o.focus&&o.focus()}clearGroup(t){const e=this.groups[t];if(!e)throw new Error("ProxyProvider.clearGroup: Invalid group key "+t);Mx(e.proxyContainerElement)}removeGroup(t){const e=this.groups[t];e&&(this.domElementProvider.removeElement(e.groupElement),e.groupElement!==e.proxyContainerElement&&this.domElementProvider.removeElement(e.proxyContainerElement),delete this.groups[t])}update(){this.updatePosContainerPositions(),this.updateGroupOrder(this.groupOrder),this.updateProxyElementPositions()}
1updateProxyElementPositions(){Object.keys(this.groups).forEach(this.updateGroupProxyElementPositions.bind(this))}updateGroupProxyElementPositions(t){const e=this.groups[t];e&&e.proxyElements.forEach(t=>t.refreshPosition())}destroy(){this.domElementProvider.destroyCreatedElements()}createProxyPosContainer(t){const e=this.domElementProvider.createElement("div");return e.setAttribute("aria-hidden","false"),e.className="highcharts-a11y-proxy-container"+(t?"-"+t:""),Tx(e,{top:"0",left:"0"}),this.chart.styledMode||(e.style.whiteSpace="nowrap",e.style.position="absolute"),e}getCurrentGroupOrderInDOM(){const t=t=>{const e=Object.keys(this.groups);let i=e.length;for(;i--;){const s=e[i],o=this.groups[s];if(o&&t===o.groupElement)return s}},e=e=>{const i=[],s=e.children;for(let o=0;o<s.length;++o){const e=t(s[o]);e&&i.push(e)}return i},i=e(this.beforeChartProxyPosContainer),s=e(this.afterChartProxyPosContainer);return i.push("series"),i.concat(s)}isDOMOrderGroupOrder(){const t=this.getCurrentGroupOrderInDOM(),e=this.groupOrder.filter(t=>"series"===t||!!this.groups[t]);let i=t.length;if(i!==e.length)return!1;for(;i--;)if(t[i]!==e[i])return!1;return!0}updatePosContainerPositions(){const t=this.chart;if(t.renderer.forExport)return;const e=t.renderer.box;t.container.insertBefore(this.afterChartProxyPosContainer,e.nextSibling),t.container.insertBefore(this.beforeChartProxyPosContainer,e),Sx(this.chart,this.afterChartProxyPosContainer),Sx(this.chart,this.beforeChartProxyPosContainer)}}const{unhideChartElementFromAT:Cx,getAxisRangeDescription:Ex}=vu,{addEvent:Px,attr:Ox}=C;class Lx extends Eu{init(){const t=this.chart;this.announcer=new Uu(t,"polite")}onChartUpdate(){const t=this.chart,e=this,i=t.rangeSelector;i&&(this.updateSelectorVisibility(),this.setDropdownAttrs(),i.buttons&&i.buttons.length&&i.buttons.forEach(t=>{e.setRangeButtonAttrs(t)}),i.maxInput&&i.minInput&&["minInput","maxInput"].forEach(function(s,o){const n=i[s];n&&(Cx(t,n),e.setRangeInputAttrs(n,"accessibility.rangeSelector."+(o?"max":"min")+"InputLabel"))}))}updateSelectorVisibility(){const t=this.chart,e=t.rangeSelector,i=e&&e.dropdown,s=e&&e.buttons||[],o=t=>t.setAttribute("aria-hidden",!0);e&&e.hasVisibleDropdown&&i?(Cx(t,i),s.forEach(t=>
1o(t.element))):(i&&o(i),s.forEach(e=>Cx(t,e.element)))}setDropdownAttrs(){const t=this.chart,e=t.rangeSelector&&t.rangeSelector.dropdown;if(e){const i=t.langFormat("accessibility.rangeSelector.dropdownLabel",{rangeTitle:t.options.lang.rangeSelectorZoom});e.setAttribute("aria-label",i),e.setAttribute("tabindex",-1)}}setRangeButtonAttrs(t){Ox(t.element,{tabindex:-1,role:"button"})}setRangeInputAttrs(t,e){const i=this.chart;Ox(t,{tabindex:-1,"aria-label":i.langFormat(e,{chart:i})})}onButtonNavKbdArrowKey(t,e){const i=t.response,s=this.keyCodes,o=this.chart,n=o.options.accessibility.keyboardNavigation.wrapAround,r=e===s.left||e===s.up?-1:1;return o.highlightRangeSelectorButton(o.highlightedRangeSelectorItemIx+r)?i.success:n?(t.init(r),i.success):i[r>0?"next":"prev"]}onButtonNavKbdClick(t){const e=t.response,i=this.chart;return 3===i.oldRangeSelectorItemState||this.fakeClickEvent(i.rangeSelector.buttons[i.highlightedRangeSelectorItemIx].element),e.success}onAfterBtnClick(){const t=this.chart,e=Ex(t.xAxis[0]),i=t.langFormat("accessibility.rangeSelector.clickButtonAnnouncement",{chart:t,axisRangeDescription:e});i&&this.announcer.announce(i)}onInputKbdMove(t){const e=this.chart,i=e.rangeSelector,s=e.highlightedInputRangeIx=(e.highlightedInputRangeIx||0)+t;if(s>1||s<0){if(e.accessibility)return e.accessibility.keyboardNavigation.exiting=!0,e.accessibility.keyboardNavigation.tabindexContainer.focus(),e.accessibility.keyboardNavigation.move(t)}else if(i){const t=i[s?"maxDateBox":"minDateBox"],o=i[s?"maxInput":"minInput"];t&&o&&e.setFocusToElement(t,o)}return!0}onInputNavInit(t){const e=this,i=this.chart,s=t>0?0:1,o=i.rangeSelector,n=o&&o[s?"maxDateBox":"minDateBox"],r=o&&o.minInput,a=o&&o.maxInput,l=s?a:r;if(i.highlightedInputRangeIx=s,n&&r&&a){i.setFocusToElement(n,l),this.removeInputKeydownHandler&&this.removeInputKeydownHandler();const t=t=>{(t.which||t.keyCode)===this.keyCodes.tab&&e.onInputKbdMove(t.shiftKey?-1:1)&&(t.preventDefault(),t.stopPropagation())},s=Px(r,"keydown",t),o=Px(a,"keydown",t);this.removeInputKeydownHandler=()=>{s(),o()}}}onInputNavTerminate(){const t=this.chart.rangeSelector||{};t.maxInput&&t.hideInput("max"),t.minInput&&t.hideInput("min"),this.removeInputKeydownHandler&&(this.removeInputKeydownHandler(),delete this.removeInputKeydownHandler)}initDropdownNav(){const t=this.chart,e=t.rangeSelector,i=e&&e.dropdown;e&&i&&(t.setFocusToElement(e.buttonGroup,i),this.removeDropdownKeydownHandler&&this.removeDropdownKeydownHandler(),this.removeDropdownKeydownHandler=Px(i,"keydown",e=>{const i=(e.which||e.keyCode)===this.keyCodes.tab,s=t.accessibility;i&&(e.preventDefault(),e.stopPropagation(),s&&s.keyboardNavigation.move(e.shiftKey?-1:1))}))}getRangeSelectorButtonNavigation(){const t=this.chart,e=this.keyCodes,i=this;return new Ou(t,{keyCodeMap:[[[e.left,e.right,e.up,e.down],function(t){return i.onButtonNavKbdArrowKey(this,t)}],[[e.enter,e.space],function(){return i.onButtonNavKbdClick(this)}]],validate:function(){return!!(t.rangeSelector&&t.rangeSelector.buttons&&t.rangeSelector.buttons.length)},init:function(e){const s=t.rangeSelector;if(s&&s.hasVisibleDropdown)i.initDropdownNav();else if(s){const i=s.buttons.length-1;t.highlightRangeSelectorButton(e>0?0:i)}},terminate:function(){i.removeDropdownKeydownHandler&&(i.removeDropdownKeydownHandler(),delete i.removeDropdownKeydownHandler)}})}getRangeSelectorInputNavigation(){const t=this.chart,e=this;return new Ou(t,{keyCodeMap:[],validate:function(){return function(t){return Boolean(t.rangeSelector&&t.rangeSelector.inputGroup&&"hidden"!==t.rangeSelector.inputGroup.element.style.visibility&&!1!==t.options.rangeSelector.inputEnabled&&t.rangeSelector.minInput&&t.rangeSelector.maxInput)}(t)},init:function(t){e.onInputNavInit(t)},terminate:function(){e.onInputNavTerminate()}})}getKeyboardNavigation(){return[this.getRangeSelectorButtonNavigation(),this.getRangeSelectorInputNavigation()]}destroy(){this.removeDropdownKeydownHandler&&this.removeDropdownKeydownHandler(),this.removeInputKeydownHandler&&this.removeInputKeydownHandler(),this.announcer&&this.announcer.destroy()}}!function(){function t(t){const e=this.rangeSelector&&this.rangeSelector.buttons||[],i=this.highlightedRangeSelectorItemIx,s=this.rangeSelector&&this.rangeSelector.selected;return void 0!==i&&e[i]&&i!==s&&e[i].setState(this.oldRangeSelectorItemState||0),this.highlightedRangeSelectorItemIx=t,!!e[t]&&(this.setFocusToElement(e[t].box,e[t].element),t!==s&&(this.oldRangeSelectorItemState=e[t].state,e[t].setState(1)),!0)}function e(){const t=this.chart.accessibility;if(t&&t.components.rangeSelector)return t.components.rangeSelector.onAfterBtnClick()}(Lx||(Lx={})).compose=function(i,s){const o=i.prototype;o.highlightRangeSelectorButton||(o.highlightRangeSelectorButton=t,Px(s,"afterBtnClick",e))}}();const Dx=Lx,{composed:Nx}=t,{addEvent:Ix,merge:Bx,pushUnique:Rx}=C;var Fx;!function(){function t(t){Bx(!0,t,{marker:{enabled:!0,states:{normal:{opacity:0}
1}}})}function e(t){return t.marker.states&&t.marker.states.normal&&t.marker.states.normal.opacity}function i(t){return!!(t._hasPointMarkers&&t.points&&t.points.length)}function s(){const t=this;t.chart.styledMode&&(t.markerGroup&&t.markerGroup[t.a11yMarkersForced?"addClass":"removeClass"]("highcharts-a11y-markers-hidden"),i(t)&&t.points.forEach(t=>{t.graphic&&(t.graphic[t.hasForcedA11yMarker?"addClass":"removeClass"]("highcharts-a11y-marker-hidden"),t.graphic[!1===t.hasForcedA11yMarker?"addClass":"removeClass"]("highcharts-a11y-marker-visible"))}))}function o(t){this.resetA11yMarkerOptions=Bx(t.options.marker||{},this.userOptions.marker||{})}function n(){const s=this,o=s.options;!function(t){const e=t.chart,i=e.options.accessibility.enabled,s=!1!==(t.options.accessibility&&t.options.accessibility.enabled);return i&&s&&function(t){const e=t.chart.options.accessibility;return t.points.length<e.series.pointDescriptionEnabledThreshold||!1===e.series.pointDescriptionEnabledThreshold}(t)}(s)?s.a11yMarkersForced&&(delete s.a11yMarkersForced,function(t){const e=t.resetA11yMarkerOptions;if(e){const i=e.states&&e.states.normal&&e.states.normal.opacity;t.userOptions&&t.userOptions.marker&&(t.userOptions.marker.enabled=!0),t.update({marker:{enabled:e.enabled,states:{normal:{opacity:i}}}})}}(s),o.marker&&!1===o.marker.enabled&&delete s.resetA11yMarkerOptions):(o.marker&&!1===o.marker.enabled&&(s.a11yMarkersForced=!0,t(s.options)),i(s)&&function(i){let s=i.points.length;for(;s--;){const o=i.points[s],n=o.options,a=o.hasForcedA11yMarker;if(delete o.hasForcedA11yMarker,n.marker){const i=a&&0===e(n);n.marker.enabled&&!i?(r(n),o.hasForcedA11yMarker=!1):!1===n.marker.enabled&&(t(n),o.hasForcedA11yMarker=!0)}}}(s))}function r(t){Bx(!0,t.marker,{states:{normal:{opacity:e(t)||1}}})}function a(){this.boosted&&this.a11yMarkersForced&&(Bx(!0,this.options,{marker:{enabled:!1}}),delete this.a11yMarkersForced)}(Fx||(Fx={})).compose=function(t){Rx(Nx,"A11y.FM")&&(Ix(t,"afterSetOptions",o),Ix(t,"render",n),Ix(t,"afterRender",s),Ix(t,"renderCanvas",a))}}();const zx=Fx,{seriesTypes:Hx}=cr,{doc:Wx}=t,{defined:Gx,fireEvent:Xx}=C,{getPointFromXY:Yx,getSeriesFromName:Ux,scrollAxisToPoint:jx}=vu;function Vx(t){const e=t.index,i=t.series.points;let s=i.length;if(i[e]===t)return e;for(;s--;)if(i[s]===t)return s}function qx(t){const e=t.chart.options.accessibility.keyboardNavigation.seriesNavigation,i=t.options.accessibility||{},s=i.keyboardNavigation;return s&&!1===s.enabled||!1===i.enabled||!1===t.options.enableMouseTracking||!t.visible||e.pointNavigationEnabledThreshold&&+e.pointNavigationEnabledThreshold<=t.points.length}function $x(t){const e=t.series,i=e.options.nullInteraction,s=t.options.accessibility,o=e.chart.options.accessibility,n=!1===s?.enabled;return o.keyboardNavigation.seriesNavigation.skipNullPoints??(!(!t.isNull||i)&&!1===t.visible||!1===t.isInside||n||qx(e))}function Kx(t){const e=t.points||[],i=e.length;for(let s=0;s<i;++s)if(!$x(e[s]))return e[s];return null}function _x(t){const e=t.series||[],i=e.length;for(let s=0;s<i;++s)if(!qx(e[s])){const t=Kx(e[s]);if(t)return t}return null}function Zx(t){let e=t.series.length,i=!1;for(;e--&&(t.highlightedPoint=t.series[e].points[t.series[e].points.length-1],i=t.series[e].highlightNextValidPoint(),!i););return i}function Jx(t){delete t.highlightedPoint;const e=_x(t);return!!e&&e.highlight()}class Qx{constructor(t,e){this.keyCodes=e,this.chart=t}init(){const t=this,e=this.chart,i=this.eventProvider=new Mu;i.addEvent(Yr,"destroy",function(){return t.onSeriesDestroy(this)}),i.addEvent(e,"afterApplyDrilldown",function(){!function(t){const e=_x(t);e&&e.highlight(!1)}(this)}),i.addEvent(e,"drilldown",function(e){const i=e.point,s=i.series;t.lastDrilledDownPoint={x:i.x,y:i.y,seriesName:s?s.name:""}}),i.addEvent(e,"drillupall",function(){setTimeout(function(){t.onDrillupAll()},10)}),i.addEvent(Sn,"afterSetState",function(){const t=this,i=t.graphic&&t.graphic.element,s=Wx.activeElement,o=s&&s.getAttribute("class"),n=o&&o.indexOf("highcharts-a11y-proxy-element")>-1;e.highlightedPoint===t&&s!==i&&!n&&i&&i.focus&&i.focus()})}onDrillupAll(){const t=this.lastDrilledDownPoint,e=this.chart,i=t&&Ux(e,t.seriesName);let s;t&&i&&Gx(t.x)&&Gx(t.y)&&(s=Yx(i,t.x,t.y)),s=s||_x(e),e.container&&e.container.focus(),s&&s.highlight&&s.highlight(!1)}getKeyboardNavigationHandler(){const t=this,e=this.keyCodes,i=this.chart,s=i.inverted;return new Ou(i,{keyCodeMap:[[s?[e.up,e.down]:[e.left,e.right],function(e){return t.onKbdSideways(this,e)}],[s?[e.left,e.right]:[e.up,e.down],function(e){return t.onKbdVertical(this,e)}],[[e.enter,e.space],function(t,e){const s=i.highlightedPoint;if(s){const{plotLeft:t,plotTop:i}=this.chart,{plotX:o=0,plotY:n=0}=s;e={...e,chartX:t+o,chartY:i+n,point:s,target:s.graphic?.element||e.target},Xx(s.series,"click",e),s.firePointEvent("click",e)}return this.response.success}],[[e.home],function(){return Jx(i),this.response.success}],[[e.end],function(){return Zx(i),this.response.success}],[[e.pageDown,e.pageUp],function(t){return i.highlightAdjacentSeries(t===e.pageDown),this.response.success}]],init:function(){return t.onHandlerInit(this)},validate:function(){return!!_x(i)},terminate:function(){return t.onHandlerTerminate()}})}onKbdSideways(t,e){const i=this.keyCodes,s=e===i.right||e===i.down;return this.attemptHighlightAdjacentPoint(t,s)}onHandlerInit(t){const e=this.chart;return e.options.accessibility.keyboardNavigation.seriesNavigation.rememberPointFocus&&e.highlightedPoint?e.highlightedPoint.highlight():Jx(e),t.response.success}onKbdVertical(t,e){const i=this.chart,s=this.keyCodes,o=e===s.down||e===s.right,n=i.options.accessibility.keyboardNavigation.seriesNavigation;if(n.mode&&"serialize"===n.mode)return this.attemptHighlightAdjacentPoint(t,o);return i[i.highlightedPoint&&i.highlightedPoint.series.keyboardMoveVertical?"highlightAdjacentPointVertical":"highlightAdjacentSeries"](o),t.response.success}onHandlerTerminate(){const t=this.chart,e=t.options.accessibility.keyboardNavigation;t.tooltip&&t.tooltip.hide(0);const i=t.highlightedPoint&&t.highlightedPoint.series;i&&i.onMouseOut&&i.onMouseOut(),t.highlightedPoint&&t.highlightedPoint.onMouseOut&&t.highlightedPoint.onMouseOut(),e.seriesNavigation.rememberPointFocus||delete t.highlightedPoint}attemptHighlightAdjacentPoint(t,e){const i=this.chart,s=i.options.accessibility.keyboardNavigation.wrapAround;return i.highlightAdjacentPoint(e)||s&&(e?Jx(i):Zx(i))?t.response.success:t.response[e?"next":"prev"]}onSeriesDestroy(t){const e=this.chart;e.highlightedPoint&&e.highlightedPoint.series===t&&(delete e.highlightedPoint,e.focusElement&&e.focusElement.removeFocusBorder())}destroy(){this.eventProvider.removeAddedEvents()}}!function(){function t(t){const e=this,i=e.series,s=e.highlightedPoint,o=s&&Vx(s)||0,n=s&&s.series.points||[],r=e.series&&e.series[e.series.length-1],a=r&&r.points&&r.points[r.points.length-1];let l,h;if(!i[0]||!i[0].points)return!1;if(s){if(l=i[s.series.index+(t?1:-1)],h=n[o+(t?1:-1)],!h&&l&&(h=l.points[t?0:l.points.length-1]),!h)return!1}else h=t?i[0].points[0]:a;return $x(h)?(l=h.series,qx(l)?e.highlightedPoint=t?l.points[l.points.length-1]:l.points[0]:e.highlightedPoint=h,e.highlightAdjacentPoint(t)):h.highlight()}function e(t){const e=this.highlightedPoint;let i,s=1/0;
1return!(!Gx(e.plotX)||!Gx(e.plotY))&&(this.series.forEach(o=>{qx(o)||o.points.forEach(n=>{if(!Gx(n.plotY)||!Gx(n.plotX)||n===e)return;let r=n.plotY-e.plotY;const a=Math.abs(n.plotX-e.plotX),l=Math.abs(r)*Math.abs(r)+a*a*4;o.yAxis&&o.yAxis.reversed&&(r*=-1),r<=0&&t||r>=0&&!t||l<5||$x(n)||l<s&&(s=l,i=n)})}),!!i&&i.highlight())}function i(t){const e=this,i=e.highlightedPoint,s=e.series&&e.series[e.series.length-1],o=s&&s.points&&s.points[s.points.length-1];let n,r,a;return e.highlightedPoint?(n=e.series[i.series.index+(t?-1:1)],!!n&&(r=function(t,e,i){let s,o,n,r=1/0,a=e.points.length;const l=t=>!(Gx(t.plotX)&&Gx(t.plotY));if(l(t))return;for(;a--;)s=e.points[a],l(s)||(n=(t.plotX-s.plotX)*(t.plotX-s.plotX)*i+(t.plotY-s.plotY)*(t.plotY-s.plotY)*1,n<r&&(r=n,o=a));return Gx(o)?e.points[o]:void 0}(i,n,4),!!r&&(qx(n)?(r.highlight(),a=e.highlightAdjacentSeries(t),a||(i.highlight(),!1)):(r.highlight(),r.series.highlightNextValidPoint())))):(n=t?e.series&&e.series[0]:s,r=t?n&&n.points&&n.points[0]:o,!!r&&r.highlight())}function s(t=!0){const e=this.series.chart,i=e.tooltip?.label?.element;this.isNull&&!this.series.options?.nullInteraction||!t?e.tooltip&&e.tooltip.hide(0):this.onMouseOver(),jx(this),this.graphic&&(e.setFocusToElement(this.graphic),!t&&e.focusElement&&e.focusElement.removeFocusBorder()),e.highlightedPoint=this;const s=i?.getBoundingClientRect().top;if(i&&s&&s<0){const t=window.scrollY+s;window.scrollTo({behavior:"smooth",top:t})}return this}function o(){const t=this.chart.highlightedPoint,e=(t&&t.series)===this?Vx(t):0,i=this.points,s=i.length;if(i&&s){for(let t=e;t<s;++t)if(!$x(i[t]))return i[t].highlight();for(let t=e;t>=0;--t)if(!$x(i[t]))return i[t].highlight()}return!1}(Qx||(Qx={})).compose=function(n,r,a){const l=n.prototype,h=r.prototype,c=a.prototype;l.highlightAdjacentPoint||(l.highlightAdjacentPoint=t,l.highlightAdjacentPointVertical=e,l.highlightAdjacentSeries=i,h.highlight=s,c.keyboardMoveVertical=!0,["column","gantt","pie"].forEach(t=>{Hx[t]&&(Hx[t].prototype.keyboardMoveVertical=!1)}),c.highlightNextValidPoint=o)}}();const ty=Qx,{hideSeriesFromAT:ey}=vu,{describeSeries:iy}=Qf;class sy extends Eu{static compose(t,e,i){hx.compose(i),zx.compose(i),ty.compose(t,e,i)}init(){this.newDataAnnouncer=new hx(this.chart),this.newDataAnnouncer.init(),this.keyboardNavigation=new ty(this.chart,this.keyCodes),this.keyboardNavigation.init(),this.hideTooltipFromATWhenShown(),this.hideSeriesLabelsFromATWhenShown()}hideTooltipFromATWhenShown(){const t=this;this.chart.tooltip&&this.addEvent(this.chart.tooltip.constructor,"refresh",function(){this.chart===t.chart&&this.label&&this.label.element&&this.label.element.setAttribute("aria-hidden",!0)})}hideSeriesLabelsFromATWhenShown(){this.addEvent(this.chart,"afterDrawSeriesLabels",function(){this.series.forEach(function(t){t.labelBySeries&&t.labelBySeries.attr("aria-hidden",!0)})})}onChartRender(){this.chart.series.forEach(function(t){!1!==(t.options.accessibility&&t.options.accessibility.enabled)&&t.visible&&0!==t.getPointsCollection().length?iy(t):ey(t)})}
vendor: 4,475 bytes, line 1
1getKeyboardNavigation(){return this.keyboardNavigation.getKeyboardNavigationHandler()}destroy(){this.newDataAnnouncer.destroy(),this.keyboardNavigation.destroy()}}const{unhideChartElementFromAT:oy}=vu,{getFakeMouseEvent:ny}=au,{attr:ry,pick:ay}=C;class ly extends Eu{constructor(){super(...arguments),this.focusedMapNavButtonIx=-1}init(){const t=this,e=this.chart;this.proxyProvider.addGroup("zoom","div"),["afterShowResetZoom","afterApplyDrilldown","drillupall"].forEach(i=>{t.addEvent(e,i,function(){t.updateProxyOverlays()})})}onChartUpdate(){const t=this.chart,e=this;t.mapNavigation&&t.mapNavigation.navButtons.forEach((i,s)=>{oy(t,i.element),e.setMapNavButtonAttrs(i.element,"accessibility.zoom.mapZoom"+(s?"Out":"In"))})}setMapNavButtonAttrs(t,e){const i=this.chart,s=i.langFormat(e,{chart:i});ry(t,{tabindex:-1,role:"button","aria-label":s})}onChartRender(){this.updateProxyOverlays()}updateProxyOverlays(){const t=this.chart;if(this.proxyProvider.clearGroup("zoom"),t.resetZoomButton&&this.createZoomProxyButton(t.resetZoomButton,"resetZoomProxyButton",t.langFormat("accessibility.zoom.resetZoomButton",{chart:t})),t.drillUpButton&&t.breadcrumbs&&t.breadcrumbs.list){const e=t.breadcrumbs.list[t.breadcrumbs.list.length-1];this.createZoomProxyButton(t.drillUpButton,"drillUpProxyButton",t.langFormat("accessibility.drillUpButton",{chart:t,buttonText:t.breadcrumbs.getButtonText(e)}))}}createZoomProxyButton(t,e,i){this[e]=this.proxyProvider.addProxyElement("zoom",{click:t},"button",{"aria-label":i,tabindex:-1})}getMapZoomNavigation(){const t=this.keyCodes,e=this.chart,i=this;return new Ou(e,{keyCodeMap:[[[t.up,t.down,t.left,t.right],function(t){return i.onMapKbdArrow(this,t)}],[[t.tab],function(t,e){return i.onMapKbdTab(this,e)}],[[t.space,t.enter],function(){return i.onMapKbdClick(this)}]],validate:function(){return function(t){return!!(t.mapView&&t.mapNavigation&&t.mapNavigation.navButtons.length)}(e)},init:function(t){return i.onMapNavInit(t)}})}onMapKbdArrow(t,e){const i=this.chart,s=this.keyCodes,o=i.container,n=e===s.up||e===s.down,r=e===s.left||e===s.up?1:-1,a=(n?i.plotHeight:i.plotWidth)/10*r,l=10*Math.random(),h={x:o.offsetLeft+i.plotLeft+i.plotWidth/2+l,y:o.offsetTop+i.plotTop+i.plotHeight/2+l},c=n?{x:h.x,y:h.y+a}:{x:h.x+a,y:h.y};return[ny("mousedown",h),ny("mousemove",c),ny("mouseup",c)].forEach(t=>o.dispatchEvent(t)),t.response.success}onMapKbdTab(t,e){const i=this.chart,s=t.response,o=e.shiftKey,n=o&&!this.focusedMapNavButtonIx||!o&&this.focusedMapNavButtonIx;if(i.mapNavigation.navButtons[this.focusedMapNavButtonIx].setState(0),n)return i.mapView&&i.mapView.zoomBy(),s[o?"prev":"next"];this.focusedMapNavButtonIx+=o?-1:1;const r=i.mapNavigation.navButtons[this.focusedMapNavButtonIx];return i.setFocusToElement(r.box,r.element),r.setState(2),s.success}onMapKbdClick(t){const e=this.chart.mapNavigation.navButtons[this.focusedMapNavButtonIx].element;return this.fakeClickEvent(e),t.response.success}onMapNavInit(t){const e=this.chart,i=e.mapNavigation.navButtons[0],s=e.mapNavigation.navButtons[1],o=t>0?i:s;e.setFocusToElement(o.box,o.element),o.setState(2),this.focusedMapNavButtonIx=t>0?0:1}simpleButtonNavigation(t,e,i){const s=this.keyCodes,o=this,n=this.chart;return new Ou(n,{keyCodeMap:[[[s.tab,s.up,s.down,s.left,s.right],function(t,e){const i=t===s.tab&&e.shiftKey||t===s.left||t===s.up;return this.response[i?"prev":"next"]}],[[s.space,s.enter],function(){const t=i(this,n);return ay(t,this.response.success)}]],validate:function(){return n[t]&&n[t].box&&o[e].innerElement},init:function(){n.setFocusToElement(n[t].box,o[e].innerElement)}})}getKeyboardNavigation(){return[this.simpleButtonNavigation("resetZoomButton","resetZoomProxyButton",function(t,e){e.zoomOut()}),this.simpleButtonNavigation("drillUpButton","drillUpProxyButton",function(t,e){return e.drillUp(),t.response.prev}),this.getMapZoomNavigation()]}}const{doc:hy,isMS:cy,win:dy}=t;const py={isHighContrastModeActive:function(){if(cy&&dy.getComputedStyle){const t=hy.createElement("div"),e="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";t.style.backgroundImage=`url(${e})`,hy.body.appendChild(t);const i=(t.currentStyle||dy.getComputedStyle(t)).backgroundImage;return hy.body.removeChild(t),"none"===i}return dy.matchMedia&&dy.matchMedia("(forced-colors: active)").matches},setHighContrastTheme:function(t){t.highContrastModeActive=!0;const e=t.options.accessibility.highContrastTheme;t.update(e,!1);const i=e.colors?.length>1;
1t.series.forEach(function(t){const s=e.plotOptions[t.type]||{},o=i&&void 0!==t.colorIndex?e.colors[t.colorIndex]:s.color||"window",n={color:s.color||"windowText",colors:i?e.colors:[s.color||"windowText"],borderColor:s.borderColor||"window",fillColor:o};t.update(n,!1),t.points&&t.points.forEach(function(t){t.options&&t.options.color&&t.update({color:s.color||"windowText",borderColor:s.borderColor||"window"},!1)})}),t.redraw()}},{error:uy,pick:gy}=C;function my(t,e,i){let s,o=t,n=0;for(;n<e.length-1;++n)s=e[n],o=o[s]=gy(o[s],{});o[e[e.length-1]]=i}function fy(t,e,i,s){function o(t,e){return e.reduce(function(t,e){return t[e]},t)}const n=o(t.options,e),r=o(t.options,i);Object.keys(s).forEach(function(o){const a=n[o];void 0!==a&&(my(r,s[o],a),uy(32,!1,t,{[e.join(".")+"."+o]:i.join(".")+"."+s[o].join(".")}))})}function xy(t){!function(t){const e=t.options.chart,i=t.options.accessibility||{};["description","typeDescription"].forEach(function(s){e[s]&&(i[s]=e[s],uy(32,!1,t,{[`chart.${s}`]:`use accessibility.${s}`}))})}(t),function(t){t.axes.forEach(function(e){const i=e.options;i&&i.description&&(i.accessibility=i.accessibility||{},i.accessibility.description=i.description,uy(32,!1,t,{"axis.description":"use axis.accessibility.description"}))})}(t),t.series&&function(t){const e={description:["accessibility","description"],exposeElementToA11y:["accessibility","exposeAsGroupOnly"],pointDescriptionFormatter:["accessibility","point","descriptionFormatter"],skipKeyboardNavigation:["accessibility","keyboardNavigation","enabled"],"accessibility.pointDescriptionFormatter":["accessibility","point","descriptionFormatter"]};t.series.forEach(function(i){Object.keys(e).forEach(function(s){let o=i.options[s];"accessibility.pointDescriptionFormatter"===s&&(o=i.options.accessibility&&i.options.accessibility.pointDescriptionFormatter),void 0!==o&&(my(i.options,e[s],"skipKeyboardNavigation"===s?!o:o),uy(32,!1,t,{[`series.${s}`]:"series."+e[s].join(".")}))})})}(t),function(t){fy(t,["accessibility"],["accessibility"],{pointDateFormat:["point","dateFormat"],pointDateFormatter:["point","dateFormatter"],pointDescriptionFormatter:["point","descriptionFormatter"],pointDescriptionThreshold:["series","pointDescriptionEnabledThreshold"],pointNavigationThreshold:["keyboardNavigation","seriesNavigation","pointNavigationEnabledThreshold"],pointValueDecimals:["point","valueDecimals"],pointValuePrefix:["point","valuePrefix"],pointValueSuffix:["point","valueSuffix"],screenReaderSectionFormatter:["screenReaderSection","beforeChartFormatter"],describeSingleSeries:["series","describeSingleSeries"],seriesDescriptionFormatter:["series","descriptionFormatter"],onTableAnchorClick:["screenReaderSection","onViewDataTableClick"],axisRangeDateFormat:["screenReaderSection","axisRangeDateFormat"]})}(t),function(t){fy(t,["accessibility","keyboardNavigation"],["accessibility","keyboardNavigation","seriesNavigation"],{skipNullPoints:["skipNullPoints"],mode:["mode"]})}(t),function(t){fy(t,["lang","accessibility"],["lang","accessibility"],{legendItem:["legend","legendItem"],legendLabel:["legend","legendLabel"],mapZoomIn:["zoom","mapZoomIn"],mapZoomOut:["zoom","mapZoomOut"],resetZoomButton:["zoom","resetZoomButton"],screenReaderRegionLabel:["screenReaderSection","beforeRegionLabel"],rangeSelectorButton:["rangeSelector","buttonText"],rangeSelectorMaxInput:["rangeSelector","maxInputLabel"],rangeSelectorMinInput:["rangeSelector","minInputLabel"],svgContainerEnd:["screenReaderSection","endOfChartMarker"],viewAsDataTable:["table","viewAsDataTableButtonText"],tableSummary:["table","tableSummary"]})}(t)}const{defaultOptions:yy}=Q,{doc:by}=t,{addEvent:vy,extend:wy,fireEvent:ky,merge:Ty}=C,{removeElement:Sy}=au;class My{constructor(t){this.init(t)}init(t){if(this.chart=t,!by?.addEventListener)return this.zombie=!0,this.components={},void t.renderTo.setAttribute("aria-hidden",!0);xy(t),this.proxyProvider=new Ax(this.chart),this.initComponents(),this.keyboardNavigation=new Pg(t,this.components)}initComponents(){const t=this.chart,e=this.proxyProvider,i=t.options.accessibility;this.components={container:new Bu,infoRegions:new ug,legend:new Ug,chartMenu:new vg,rangeSelector:new Dx,series:new sy,zoom:new ly,navigator:new Ef},i.customComponents&&wy(this.components,i.customComponents);const s=this.components;
vendor: 9,262 bytes, line 1
1this.getComponentOrder().forEach(function(i){s[i].initBase(t,e),s[i].init()})}getComponentOrder(){if(!this.components)return[];if(!this.components.series)return Object.keys(this.components);const t=Object.keys(this.components).filter(t=>"series"!==t);return["series"].concat(t)}update(){const t=this.components,e=this.chart,i=e.options.accessibility;ky(e,"beforeA11yUpdate"),e.types=this.getChartTypes();const s=i.keyboardNavigation.order;this.proxyProvider.updateGroupOrder(s),this.getComponentOrder().forEach(function(i){t[i].onChartUpdate(),ky(e,"afterA11yComponentUpdate",{name:i,component:t[i]})}),this.keyboardNavigation.update(s),e.highContrastModeActive||!1===i.highContrastMode||!py.isHighContrastModeActive()&&!0!==i.highContrastMode||py.setHighContrastTheme(e),ky(e,"afterA11yUpdate",{accessibility:this})}destroy(){const t=this.chart||{},e=this.components;Object.keys(e).forEach(function(t){e[t].destroy(),e[t].destroyBase()}),this.proxyProvider&&this.proxyProvider.destroy(),t.announcerContainer&&Sy(t.announcerContainer),this.keyboardNavigation&&this.keyboardNavigation.destroy(),t.renderTo&&t.renderTo.setAttribute("aria-hidden",!0),t.focusElement&&t.focusElement.removeFocusBorder()}getChartTypes(){const t={};return this.chart.series.forEach(function(e){t[e.type]=1}),Object.keys(t)}}!function(t){function e(){this.accessibility&&this.accessibility.destroy()}function i(){this.a11yDirty&&this.renderTo&&(delete this.a11yDirty,this.updateA11yEnabled());const t=this.accessibility;t&&!t.zombie&&(t.proxyProvider.updateProxyElementPositions(),t.getComponentOrder().forEach(function(e){t.components[e].onChartRender()}))}function s(t){const e=t.options.accessibility;e&&(e.customComponents&&(this.options.accessibility.customComponents=e.customComponents,delete e.customComponents),Ty(!0,this.options.accessibility,e),this.accessibility&&this.accessibility.destroy&&(this.accessibility.destroy(),delete this.accessibility)),this.a11yDirty=!0}function o(){let e=this.accessibility;const i=this.options.accessibility,s=this.renderer.boxWrapper.element,o=this.title;if(i&&i.enabled)e&&!e.zombie?e.update():(this.accessibility=e=new t(this),e&&!e.zombie&&e.update(),"img"===s.getAttribute("role")&&s.removeAttribute("role"));else if(e)e.destroy&&e.destroy(),delete this.accessibility;else{this.renderTo.setAttribute("role","img"),this.renderTo.setAttribute("aria-hidden",!1),this.renderTo.setAttribute("aria-label",(o&&o.element.textContent||"").replace(/</g,"&lt;")),s.setAttribute("aria-hidden",!0);const t=document.getElementsByClassName("highcharts-description")[0];t&&(t.setAttribute("aria-hidden",!1),t.classList.remove("highcharts-linked-description"))}}function n(){this.series.chart.accessibility&&(this.series.chart.a11yDirty=!0)}t.i18nFormat=pu.i18nFormat,t.compose=function(t,r,a,l,h,c){Pg.compose(t),hx.compose(l),Ug.compose(t,r),vg.compose(t),sy.compose(t,a,l),pu.compose(t),Hu.compose(t,h),c&&Dx.compose(t,c);const d=t.prototype;d.updateA11yEnabled||(d.updateA11yEnabled=o,vy(t,"destroy",e),vy(t,"render",i),vy(t,"update",s),["addSeries","init"].forEach(e=>{vy(t,e,function(){this.a11yDirty=!0})}),["afterApplyDrilldown","drillupall"].forEach(e=>{vy(t,e,function(){const t=this.accessibility;t&&!t.zombie&&t.update()})}),vy(a,"update",n),["update","updatedData","remove"].forEach(t=>{vy(l,t,function(){this.chart.accessibility&&(this.chart.a11yDirty=!0)})}))}}(My||(My={})),Ty(!0,yy,{accessibility:{enabled:!0,screenReaderSection:{beforeChartFormat:"<{headingTagName}>{chartTitle}</{headingTagName}><div>{typeDescription}</div><div>{chartSubtitle}</div><div>{chartLongdesc}</div><div>{playAsSoundButton}</div><div>{viewTableButton}</div><div>{xAxisDescription}</div><div>{yAxisDescription}</div><div>{annotationsTitle}{annotationsList}</div>",afterChartFormat:"{endOfChartMarker}",axisRangeDateFormat:"%Y-%m-%d %H:%M:%S"},series:{descriptionFormat:"{seriesDescription}{authorDescription}{axisDescription}",describeSingleSeries:!1,pointDescriptionEnabledThreshold:200},point:{valueDescriptionFormat:"{xDescription}{separator}{value}.",describeNull:!0},landmarkVerbosity:"all",linkedDescription:'*[data-highcharts-chart="{index}"] + .highcharts-description',highContrastMode:"auto",keyboardNavigation:{enabled:!0,focusBorder:{enabled:!0,hideBrowserFocusOutline:!0,style:{color:"#334eff",lineWidth:2,borderRadius:3},margin:2},order:["series","zoom","rangeSelector","navigator","legend","chartMenu"],wrapAround:!0,seriesNavigation:{skipNullPoints:void 0,pointNavigationEnabledThreshold:!1,rememberPointFocus:!1}},announceNewData:{enabled:!1,minAnnounceInterval:5e3,interruptUser:!1}},legend:{accessibility:{enabled:!0,keyboardNavigation:{enabled:!0}}},exporting:{accessibility:{enabled:!0}},navigator:{accessibility:{enabled:!0}}},{accessibility:{highContrastTheme:{chart:{backgroundColor:"window"},title:{style:{color:"windowText"}},subtitle:{style:{color:"windowText"}},colorAxis:{minColor:"windowText",maxColor:"windowText",stops:[],dataClasses:[]},colors:["windowText"],xAxis:{gridLineColor:"windowText",labels:{style:{color:"windowText"}},lineColor:"windowText",minorGridLineColor:"windowText",tickColor:"windowText",title:{style:{color:"windowText"}}},yAxis:{gridLineColor:"windowText",labels:{style:{color:"windowText"}},lineColor:"windowText",minorGridLineColor:"windowText",tickColor:"windowText",title:{style:{color:"windowText"}}},tooltip:{backgroundColor:"window",borderColor:"windowText",style:{color:"windowText"}},plotOptions:{series:{lineColor:"windowText",fillColor:"window",borderColor:"windowText",edgeColor:"windowText",borderWidth:1,dataLabels:{connectorColor:"windowText",color:"windowText",style:{color:"windowText",textOutline:"none"}},marker:{lineColor:"windowText",fillColor:"windowText"}},pie:{color:"window",colors:["window"],borderColor:"windowText",borderWidth:1},boxplot:{fillColor:"window"},candlestick:{lineColor:"windowText",fillColor:"window"},errorbar:{fillColor:"window"}},legend:{backgroundColor:"window",itemStyle:{color:"windowText"},itemHoverStyle:{color:"windowText"},itemHiddenStyle:{color:"#555"},title:{style:{color:"windowText"}}},credits:{style:{color:"windowText"}},drilldown:{activeAxisLabelStyle:{color:"windowText"},activeDataLabelStyle:{color:"windowText"}},navigation:{buttonOptions:{symbolStroke:"windowText",theme:{fill:"window"}}},rangeSelector:{buttonTheme:{fill:"window",stroke:"windowText",style:{color:"windowText"},states:{hover:{fill:"window",stroke:"windowText",style:{color:"windowText"}},select:{fill:"#444",stroke:"windowText",style:{color:"windowText"}}}},inputBoxBorderColor:"windowText",inputStyle:{backgroundColor:"window",color:"windowText"},labelStyle:{color:"windowText"}},navigator:{handles:{backgroundColor:"window",borderColor:"windowText"},outlineColor:"windowText",maskFill:"transparent",series:{color:"windowText",lineColor:"windowText"},xAxis:{gridLineColor:"windowText"}},scrollbar:{barBackgroundColor:"#444",barBorderColor:"windowText",buttonArrowColor:"windowText",buttonBackgroundColor:"window",buttonBorderColor:"windowText",rifleColor:"windowText",trackBackgroundColor:"window",trackBorderColor:"windowText"}}},lang:{accessibility:{defaultChartTitle:"Chart",chartContainerLabel:"{title}. Highcharts interactive chart.",svgContainerLabel:"Interactive chart",drillUpButton:"{buttonText}",credits:"Chart credits: {creditsStr}",thousandsSep:",",svgContainerTitle:"",graphicContainerLabel:"",screenReaderSection:{beforeRegionLabel:"",afterRegionLabel:"",annotations:{heading:"Chart annotations summary",descriptionSinglePoint:"{annotationText}. Related to {annotationPoint}",descriptionMultiplePoints:"{annotationText}. Related to {annotationPoint}{#each additionalAnnotationPoints}, also related to {this}{/each}",descriptionNoPoints:"{annotationText}"},endOfChartMarker:"End of interactive chart."},sonification:{playAsSoundButtonText:"Play as sound, {chartTitle}",playAsSoundClickAnnouncement:"Play"},legend:{legendLabelNoTitle:"Toggle series visibility, {chartTitle}",legendLabel:"Chart legend: {legendTitle}",legendItem:"Show {itemName}"},zoom:{mapZoomIn:"Zoom chart",mapZoomOut:"Zoom out chart",resetZoomButton:"Reset zoom"},rangeSelector:{dropdownLabel:"{rangeTitle}",minInputLabel:"Select start date.",maxInputLabel:"Select end date.",clickButtonAnnouncement:"Viewing {axisRangeDescription}"},navigator:{handleLabel:"{#eq handleIx 0}Start, percent{else}End, percent{/eq}",groupLabel:"Axis zoom",changeAnnouncement:"{axisRangeDescription}"},table:{viewAsDataTableButtonText:"View as data table, {chartTitle}",tableSummary:"Table representation of chart."},announceNewData:{newDataAnnounce:"Updated data for chart {chartTitle}",newSeriesAnnounceSingle:"New data series: {seriesDesc}",newPointAnnounceSingle:"New data point: {pointDesc}",newSeriesAnnounceMultiple:"New data series in chart {chartTitle}: {seriesDesc}",newPointAnnounceMultiple:"New data point in chart {chartTitle}: {pointDesc}"},seriesTypeDescriptions:{boxplot:"Box plot charts are typically used to display groups of statistical data. Each data point in the chart can have up to 5 values: minimum, lower quartile, median, upper quartile, and maximum.",arearange:"Arearange charts are line charts displaying a range between a lower and higher value for each point.",areasplinerange:"These 
1charts are line charts displaying a range between a lower and higher value for each point.",bubble:"Bubble charts are scatter charts where each data point also has a size value.",columnrange:"Columnrange charts are column charts displaying a range between a lower and higher value for each point.",errorbar:"Errorbar series are used to display the variability of the data.",funnel:"Funnel charts are used to display reduction of data in stages.",pyramid:"Pyramid charts consist of a single pyramid with item heights corresponding to each point value.",waterfall:"A waterfall chart is a column chart where each column contributes towards a total end value."},chartTypes:{emptyChart:"Empty chart",mapTypeDescription:"Map of {mapTitle} with {numSeries} data series.",unknownMap:"Map of unspecified region with {numSeries} data series.",combinationChart:"Combination chart with {numSeries} data series.",defaultSingle:"Chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",defaultMultiple:"Chart with {numSeries} data series.",splineSingle:"Line chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",splineMultiple:"Line chart with {numSeries} lines.",lineSingle:"Line chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",lineMultiple:"Line chart with {numSeries} lines.",columnSingle:"Bar chart with {numPoints} {#eq numPoints 1}bar{else}bars{/eq}.",columnMultiple:"Bar chart with {numSeries} data series.",barSingle:"Bar chart with {numPoints} {#eq numPoints 1}bar{else}bars{/eq}.",barMultiple:"Bar chart with {numSeries} data series.",pieSingle:"Pie chart with {numPoints} {#eq numPoints 1}slice{else}slices{/eq}.",pieMultiple:"Pie chart with {numSeries} pies.",scatterSingle:"Scatter chart with {numPoints} {#eq numPoints 1}point{else}points{/eq}.",scatterMultiple:"Scatter chart with {numSeries} data series.",boxplotSingle:"Boxplot with {numPoints} {#eq numPoints 1}box{else}boxes{/eq}.",boxplotMultiple:"Boxplot with {numSeries} data series.",bubbleSingle:"Bubble chart with {numPoints} {#eq numPoints 1}bubbles{else}bubble{/eq}.",bubbleMultiple:"Bubble chart with {numSeries} data series."},axis:{xAxisDescriptionSingular:"The chart has 1 X axis displaying {names[0]}. {ranges[0]}",xAxisDescriptionPlural:"The chart has {numAxes} X axes displaying {#each names}{#unless @first},{/unless}{#if @last} and{/if} {this}{/each}.",yAxisDescriptionSingular:"The chart has 1 Y axis displaying {names[0]}. {ranges[0]}",yAxisDescriptionPlural:"The chart has {numAxes} Y axes displaying {#each names}{#unless @first},{/unless}{#if @last} and{/if} {this}{/each}.",timeRangeDays:"Data range: {range} days.",timeRangeHours:"Data range: {range} hours.",timeRangeMinutes:"Data range: {range} minutes.",timeRangeSeconds:"Data range: {range} seconds.",rangeFromTo:"Data ranges from {rangeFrom} to {rangeTo}.",rangeCategories:"Data range: {numCategories} categories."},exporting:{chartMenuLabel:"Chart menu",menuButtonLabel:"View chart menu, {chartTitle}"},series:{summary:{default:"{series.name}, series {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",defaultCombination:"{series.name}, series {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",line:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",lineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",spline:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",splineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",column:"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",columnCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",bar:"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",barCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",pie:"{series.name}, pie {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}slice{else}slices{/eq}.",pieCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Pie with {series.points.length} {#eq series.points.length 1}slice{else}slices{/eq}.",scatter:"{series.name}, scatter plot {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}point{else}points{/eq}.",scatterCombination:"{series.name}, series {seriesNumber} of {chart.series.length}, scatter plot with {series.points.length} {#eq series.points.length 1}point{else}points{/eq}.",boxplot:"{series.name}, boxplot {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}box{else}boxes{/eq}.",boxplotCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Boxplot with {series.points.length} {#eq series.points.length 1}box{else}boxes{/eq}.",bubble:"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",bubbleCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",map:"{series.name}, map {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}area{else}areas{/eq}.",mapCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Map with {series.points.length} {#eq series.points.length 1}area{else}areas{/eq}.",mapline:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",maplineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",mapbubble:"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",mapbubbleCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}."},description:"{description}",xAxisDescription:"X axis, {name}",yAxisDescription:"Y axis, {name}",nullPointValue:"No value",pointAnnotationsDescription:"{#each annotations}Annotation: {this}{/each}"}}}});const Ay=My,Cy=t;Cy.i18nFormat=Ay.i18nFormat,Cy.A11yChartUtilities=vu,Cy.A11yHTMLUtilities=au,Cy.AccessibilityComponent=Eu,Cy.KeyboardNavigationHandler=Ou,Cy.SeriesAccessibilityDescriber=Qf,Ay.compose(Cy.Chart,Cy.Legend,Cy.Point,Cy.Series,Cy.SVGElement,Cy.RangeSelector);const Ey=Object.freeze(Object.defineProperty({__proto__:null,default:t},Symbol.toStringTag,{value:"Module"})),Py={exporting:{csv:{annotations:{itemDelimiter:"; ",join:!1},columnHeaderFormatter:null,dateFormat:"%Y-%m-%d %H:%M:%S",decimalPoint:null,itemDelimiter:null,lineDelimiter:"\n"},menuItemDefinitions:{downloadCSV:{textKey:"downloadCSV",onclick:function(){this.exporting?.downloadCSV()}},downloadXLS:{textKey:"downloadXLS",onclick:function(){this.exporting?.downloadXLS()}},viewData:{textKey:"viewData",onclick:function(){this.exporting?.wrapLoading(this.exporting.toggleDataTable)}}},showTable:!1,useMultiLevelHeaders:!0,useRowspanHeaders:!0,showExportInProgress:!0},lang:{downloadCSV:"Download CSV",downloadXLS:"Download XLS",exportData:{annotationHeader:"Annotations",categoryHeader:"Category",categoryDatetimeHeader:"DateTime"},viewData:"View data table",hideData:"Hide data table",exportInProgress:"Exporting..."}},{getOptions:Oy,setOptions:Ly}=Q,{downloadURL:Dy}=Kd,{composed:Ny,doc:Iy,win:By}=t,{addEvent:Ry,defined:Fy,extend:zy,find:Hy,fireEvent:Wy,isNumber:Gy,pick:Xy,pushUnique:Yy}=C;var Uy;!function(){function t(){this.wrapLoading(()=>{const t=this.getCSV(!0);Dy(i(t,"text/csv")||"data:text/csv,\ufeff"+encodeURIComponent(t),this.getFilename()+".csv")})}function e(){this.wrapLoading(()=>
1{const t='<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head>\x3c!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>Ark1</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--\x3e<style>td{border:none;font-family: Calibri, sans-serif;} .number{mso-number-format:"0.00";} .text{ mso-number-format:"@";}</style><meta name=ProgId content=Excel.Sheet><meta charset=UTF-8></head><body>'+this.getTable(!0)+"</body></html>";var e;Dy(i(t,"application/vnd.ms-excel")||"data:application/vnd.ms-excel;base64,"+(e=t,By.btoa(unescape(encodeURIComponent(e)))),this.getFilename()+".xls")})}function i(t,e){const i=By.navigator,s=By.URL||By.webkitURL||By;try{if(i.msSaveOrOpenBlob&&By.MSBlobBuilder){const e=new By.MSBlobBuilder;return e.append(t),e.getBlob("image/svg+xml")}return s.createObjectURL(new By.Blob(["\ufeff"+t],{type:e}))}catch{}}function s(t){let e="";const i=this.getDataRows(),s=this.options?.csv,o=Xy(s?.decimalPoint,","!==s?.itemDelimiter&&t?1.1.toLocaleString()[1]:"."),n=Xy(s?.itemDelimiter,","===o?";":","),r=s?.lineDelimiter;return i.forEach((t,s)=>{let a="",l=t.length;for(;l--;)a=t[l],"string"==typeof a&&(a=`"${a}"`),"number"==typeof a&&"."!==o&&(a=a.toString().replace(".",o)),t[l]=a;t.length=i.length?i[0].length:0,e+=t.join(n),s<i.length-1&&(e+=r)}),e}function o(t){const e=this.chart,i=e.hasParallelCoordinates,s=e.time,o=this.options?.csv||{},n=e.xAxis,r={},a=[],l=[],h=[],c=e.options.lang.exportData,d=c?.categoryHeader,p=c?.categoryDatetimeHeader,u=function(e,i,s){if(o.columnHeaderFormatter){const t=o.columnHeaderFormatter(e,i,s);if(!1!==t)return t}return!e&&d?d:!e.bindAxes&&p&&d?e.options.title&&e.options.title.text||(e.dateTime?p:d):t?{columnTitle:((s||0)>1?i:e.name)||"",topLevelColumnTitle:e.name}:e.name+((s||0)>1?" ("+i+")":"")},g=function(t,e,i){const s={},o={};return e.forEach(function(e){const n=(t.keyToAxis&&t.keyToAxis[e]||e)+"Axis",r=Gy(i)?t.chart[n][i]:t[n];s[e]=r&&r.categories||[],o[e]=r&&r.dateTime}),{categoryMap:s,dateTimeValueAxisMap:o}},m=[];let f,x,y,b,v,w,k,T=0;for(b in e.series.forEach(function(e){const a=e.options.keys,c=e.xAxis,d=a||function(t,e){const i=t.pointArrayMap||["y"];return t.data.some(t=>void 0!==t.y&&t.name)&&e&&!e.categories&&"name"!==t.exportKey?["x",...i]:i}(e,c),p=d.length,f=!e.requireSorting&&{},x=n.indexOf(c);let b,v,w=g(e,d);if(!1!==e.options.includeInDataExport&&!e.options.isInternal&&!1!==e.visible){for(Hy(m,function(t){return t[0]===x})||m.push([x,T]),v=0;v<p;)y=u(e,d[v],d.length),h.push(y.columnTitle||y),t&&l.push(y.topLevelColumnTitle||y),v++;b={chart:e.chart,autoIncrement:e.autoIncrement,options:e.options,pointArrayMap:e.pointArrayMap,index:e.index},e.options.data?.forEach(function(t,n){const a={series:b};let l,h,u;i&&(w=g(e,d,n)),e.pointClass.prototype.applyOptions.apply(a,[t]);const m=e.data[n]&&e.data[n].name;if(l=(a.x??"")+","+m,v=0,(!c||"name"===e.exportKey||!i&&c&&c.hasNames&&m)&&(l=m),f&&(f[l]&&(l+="|"+n),f[l]=!0),r[l]){const t=`${l},${r[l].pointers[e.index]}`,i=l;r[l].pointers[e.index]&&(r[t]||(r[t]=[],r[t].xValues=[],r[t].pointers=[]),l=t),r[i].pointers[e.index]+=1}else{r[l]=[],r[l].xValues=[];const t=[];for(let i=0;i<e.chart.series.length;i++)t[i]=0;r[l].pointers=t,r[l].pointers[e.index]=1}for(r[l].x=a.x,r[l].name=m,r[l].xValues[x]=a.x;v<p;)h=d[v],u=e.pointClass.prototype.getNestedProperty.apply(a,[h]),r[l][T+v]=Xy(w.categoryMap[h][u],w.dateTimeValueAxisMap[h]?s.dateFormat(o.dateFormat,u):null,u),v++}),T+=v}}),r)Object.hasOwnProperty.call(r,b)&&a.push(r[b]);for(x=t?[l,h]:[h],T=m.length;T--;)w=m[T][0],k=m[T][1],f=n[w],a.sort(function(t,e){return t.xValues[w]-e.xValues[w]}),v=u(f),x[0].splice(k,0,v),t&&x[1]&&x[1].splice(k,0,v),a.forEach(function(t){let e=t.name;f&&!Fy(e)&&(f.dateTime?(t.x instanceof Date&&(t.x=t.x.getTime()),e=s.dateFormat(o.dateFormat,t.x)):e=f.categories?Xy(f.names[t.x],f.categories[t.x],t.x):t.x),t.splice(k,0,e)});return x=x.concat(a),Wy(e,"exportData",{dataRows:x}),x}function n(t){const e=t=>{if(!t.tagName||"#text"===t.tagName)return t.textContent||"";const i=t.attributes;let s=`<${t.tagName}`;
1return i&&Object.keys(i).forEach(t=>{const e=i[t];s+=` ${t}="${e}"`}),s+=">",s+=t.textContent||"",(t.children||[]).forEach(t=>{s+=e(t)}),s+=`</${t.tagName}>`,s},i=this.getTableAST(t);return e(i)}function r(t){let e=0;const i=[],s=this,o=s.chart,n=o.options,r=t?1.1.toLocaleString()[1]:".",a=Xy(s.options.useMultiLevelHeaders,!0),l=s.getDataRows(a),h=a?l.shift():null,c=l.shift(),d=function(t,e,i,s){let n=Xy(s,""),a="highcharts-text"+(e?" "+e:"");return"number"==typeof n?(n=o.numberFormatter(n,-1,r,"th"===t?"":void 0),a="highcharts-number"):s||(a="highcharts-empty"),{tagName:t,attributes:i=zy({class:a},i),textContent:n}},{tableCaption:p}=s.options||{};!1!==p&&i.push({tagName:"caption",attributes:{class:"highcharts-table-caption"},textContent:"string"==typeof p?p:n.title?.text||n.lang.chartTitle});for(let m=0,f=l.length;m<f;++m)l[m].length>e&&(e=l[m].length);i.push(function(t,e,i){const o=[];let n,r,l,h=0,c=i||e&&e.length,p=0;if(a&&t&&e&&!function(t,e){let i=t.length;if(e.length!==i)return!1;for(;i--;)if(t[i]!==e[i])return!1;return!0}(t,e)){const i=[];for(;h<c;++h)if(r=t[h],n=t[h+1],r===n)++p;else if(p)i.push(d("th","highcharts-table-topheading",{scope:"col",colspan:p+1},r)),p=0;else{r===e[h]?s.options.useRowspanHeaders?(l=2,delete e[h]):(l=1,e[h]=""):l=1;const t=d("th","highcharts-table-topheading",{scope:"col"},r);l>1&&t.attributes&&(t.attributes.valign="top",t.attributes.rowspan=l),i.push(t)}o.push({tagName:"tr",children:i})}if(e){const t=[];for(h=0,c=e.length;h<c;++h)void 0!==e[h]&&t.push(d("th",null,{scope:"col"},e[h]));o.push({tagName:"tr",children:t})}return{tagName:"thead",children:o}}(h,c||[],Math.max(e,c?.length||0)));const u=[];l.forEach(function(t){const i=[];for(let s=0;s<e;s++)i.push(d(s?"td":"th",null,s?{}:{scope:"row"},t[s]));u.push({tagName:"tr",children:i})}),i.push({tagName:"tbody",children:u});const g={tree:{tagName:"table",id:`highcharts-data-table-${o.index}`,children:i}};return Wy(o,"afterGetTableAST",g),g.tree}function a(){this.toggleDataTable(!1)}function l(t){const e=this.chart,i=(t=Xy(t,!this.isDataTableVisible))&&!this.dataTableDiv;if(i&&(this.dataTableDiv=Iy.createElement("div"),this.dataTableDiv.className="highcharts-data-table",e.renderTo.parentNode.insertBefore(this.dataTableDiv,e.renderTo.nextSibling)),this.dataTableDiv){const s=this.dataTableDiv.style,o=s.display;if(s.display=t?"block":"none",t){this.dataTableDiv.innerHTML=zt.emptyHTML;new zt([this.getTableAST()]).addToDOM(this.dataTableDiv),Wy(e,"afterViewData",{element:this.dataTableDiv,wasHidden:i||o!==s.display})}else Wy(e,"afterHideData")}this.isDataTableVisible=t;const s=this.divElements,o=this.options,n=o.buttons?.contextButton.menuItems,r=e.options.lang;if(o&&o.menuItemDefinitions&&r&&r.viewData&&r.hideData&&n&&s){const t=s[n.indexOf("viewData")];t&&zt.setElementHTML(t,this.isDataTableVisible?r.hideData:r.viewData)}}function h(){this.toggleDataTable(!0)}function c(t){const e=this.chart,i=Boolean(this.options.showExportInProgress),s=By.requestAnimationFrame||setTimeout;s(()=>{i&&e.showLoading(e.options.lang.exportInProgress),s(()=>{try{t.call(this)}finally{i&&e.hideLoading()}})})}function d(){const t=this.exporting,e=t?.dataTableDiv,i=(t,e)=>t.children[e].textContent;if(e&&t.options.allowTableSorting){const s=e.querySelector("thead tr");s&&s.childNodes.forEach(s=>{const o=e.querySelector("tbody");s.addEventListener("click",function(){const n=[...e.querySelectorAll("tr:not(thead tr)")],r=[...s.parentNode.children];var a,l;t&&(n.sort((a=r.indexOf(s),l=t.ascendingOrderInTable=!t.ascendingOrderInTable,(t,e)=>{return s=i(l?t:e,a),o=i(l?e:t,a),""===s||""===o||isNaN(s)||isNaN(o)?s.toString().localeCompare(o):s-o;var s,o})).forEach(t=>{o?.appendChild(t)}),r.forEach(t=>{["highcharts-sort-ascending","highcharts-sort-descending"].forEach(e=>{t.classList.contains(e)&&t.classList.remove(e)})}),s.classList.add(t.ascendingOrderInTable?"highcharts-sort-ascending":"highcharts-sort-descending"))})})}}function p(){this.options?.exporting?.showTable&&!this.options.chart.forExport&&this.exporting?.viewData()}function u(){this.exporting?.dataTableDiv?.remove()}(Uy||(Uy={})).compose=function(i,g,m){if(!Yy(Ny,"ExportData"))return;zy(Qa.prototype,{downloadCSV:function(){return this.exporting?.downloadCSV()},downloadXLS:function(){return this.exporting?.downloadXLS()},getCSV:function(t){return this.exporting?.getCSV(t)},getDataRows:function(t){return this.exporting?.getDataRows(t)},getTable:function(t){return this.exporting?.getTable(t)},getTableAST:function(t){return this.exporting?.getTableAST(t)},hideData:function(){return this.exporting?.hideData()},toggleDataTable:function(t){return this.exporting?.toggleDataTable(t)},viewData:function(){return this.exporting?.viewData()}});const f=g.prototype;if(!f.downloadCSV){Ry(i,"afterViewData",d),Ry(i,"render",p),Ry(i,"destroy",u),f.downloadCSV=t,f.downloadXLS=e,f.getCSV=s,f.getDataRows=o,f.getTable=n,f.getTableAST=r,f.hideData=a,f.toggleDataTable=l,f.wrapLoading=c,f.viewData=h,Ly(Py);const g=Oy().exporting?.buttons?.contextButton?.menuItems;g&&g.push("separator","downloadCSV","downloadXLS","viewData");const{arearange:x,gantt:y,map:b,mapbubble:v,treemap:w,xrange:k}=m.types;x&&(x.prototype.keyToAxis={low:"y",high:"y"}
1),y&&(y.prototype.exportKey="name",y.prototype.keyToAxis={start:"x",end:"x"}),b&&(b.prototype.exportKey="name"),v&&(v.prototype.exportKey="name"),w&&(w.prototype.exportKey="name"),k&&(k.prototype.keyToAxis={x2:"x"})}}}();const jy=Uy,Vy=t;Vy.dataURLtoBlob=Vy.dataURLtoBlob||Kd.dataURLtoBlob,Vy.downloadURL=Vy.downloadURL||Kd.downloadURL,jy.compose(Vy.Chart,Vy.Exporting,Vy.Series);const qy=Object.freeze(Object.defineProperty({__proto__:null,default:t},Symbol.toStringTag,{value:"Module"})),{animObject:$y}=St,{getOptions:Ky}=Q,{addEvent:_y,defined:Zy,erase:Jy,extend:Qy,merge:tb,pick:eb,removeEvent:ib,wrap:sb}=C,ob=function(){const t=[],e=Ky().colors;let i=0;for(const s of["M 0 0 L 5 5 M 4.5 -0.5 L 5.5 0.5 M -0.5 4.5 L 0.5 5.5","M 0 5 L 5 0 M -0.5 0.5 L 0.5 -0.5 M 4.5 5.5 L 5.5 4.5","M 2 0 L 2 5 M 4 0 L 4 5","M 0 2 L 5 2 M 0 4 L 5 4","M 0 1.5 L 2.5 1.5 L 2.5 0 M 2.5 5 L 2.5 3.5 L 5 3.5"])t.push({path:s,color:e[i++],width:5,height:5,patternTransform:"scale(1.4 1.4)"});i=5;for(const s of["M 0 0 L 5 10 L 10 0","M 3 3 L 8 3 L 8 8 L 3 8 Z","M 5 5 m -4 0 a 4 4 0 1 1 8 0 a 4 4 0 1 1 -8 0","M 0 0 L 10 10 M 9 -1 L 11 1 M -1 9 L 1 11","M 0 10 L 10 0 M -1 1 L 1 -1 M 9 11 L 11 9"])t.push({path:s,color:e[i],width:10,height:10}),i+=5;return t}();function nb(t,e){const i=JSON.stringify(t),s=i.length||0;let o,n,r=0,a=0;if(e){n=Math.max(Math.floor(s/500),1);for(let t=0;t<s;t+=n)r+=i.charCodeAt(t);r&=r}for(;a<s;++a)o=i.charCodeAt(a),r=(r<<5)-r+o,r&=r;return r.toString(16).replace("-","1")}function rb(){if(this.renderer&&(this.renderer.defIds||[]).filter(t=>t&&t.indexOf&&0===t.indexOf("highcharts-pattern-")).length){for(const t of this.series)if(t.visible)for(const e of t.points){const t=e.options&&e.options.color;t&&t.pattern&&(t.pattern._width="defer",t.pattern._height="defer")}this.redraw(!1)}}function ab(){const t={},e=this.renderer,i=(e.defIds||[]).filter(t=>t.indexOf&&0===t.indexOf("highcharts-pattern-"));if(i.length){[].forEach.call(this.renderTo.querySelectorAll('[color^="url("], [fill^="url("], [stroke^="url("]'),i=>{const s=i.getAttribute("fill")||i.getAttribute("color")||i.getAttribute("stroke");if(s){const i=s.replace(e.url,"").replace("url(#","").replace(")","");t[i]=!0}});for(const s of i)t[s]||(Jy(e.defIds,s),e.patternElements[s]&&(e.patternElements[s].destroy(),delete e.patternElements[s]))}}function lb(){const t=this,e=t.options.color;e&&e.pattern&&("string"==typeof e.pattern.path&&(e.pattern.path={d:e.pattern.path}),t.color=t.options.color=tb(t.series.options.color,e))}function hb(t){const e=t.args[0],i=t.args[1],s=t.args[2],o=this.chartIndex||0;let n=e.pattern,r="#333333";if(void 0!==e.patternIndex&&ob&&(n=ob[e.patternIndex]),!n)return!0;if(n.image||"string"==typeof n.path||n.path&&n.path.d){let t=s.parentNode&&s.parentNode.getAttribute("class");t=t&&t.indexOf("highcharts-legend")>-1,"defer"!==n._width&&"defer"!==n._height||db.call({graphic:{element:s}},n),!t&&n.id||(n=tb({},n),n.id="highcharts-pattern-"+o+"-"+nb(n)+nb(n,!0)),this.addPattern(n,!this.forExport&&eb(n.animation,this.globalAnimation,{duration:100})),r=`url(${this.url}#${n.id+(this.forExport?"-export":"")})`}else r=n.color||r;return s.setAttribute(i,r),e.toString=function(){return r},!1}function cb(){const t=this.chart.isResizing;if(this.isDirtyData||t||!this.chart.hasRendered)for(const e of this.points){const i=e.options&&e.options.color;i&&i.pattern&&(!t||e.shapeArgs&&e.shapeArgs.width&&e.shapeArgs.height?e.calculatePatternDimensions(i.pattern):(i.pattern._width="defer",i.pattern._height="defer"))}}function db(t){if(t.width&&t.height)return;const e=this.graphic&&(this.graphic.getBBox&&this.graphic.getBBox(!0)||this.graphic.element&&this.graphic.element.getBBox())||{},i=this.shapeArgs;if(i&&(e.width=i.width||e.width,e.height=i.height||e.height,e.x=i.x||e.x,e.y=i.y||e.y),t.image){if(!e.width||!e.height){t._width="defer",t._height="defer";const e=this.series.chart.mapView&&this.series.chart.mapView.getSVGTransform().scaleY;return void(Zy(e)&&e<0&&(t._inverted=!0))}t.aspectRatio&&(e.aspectRatio=e.width/e.height,t.aspectRatio>e.aspectRatio?e.aspectWidth=e.height*t.aspectRatio:e.aspectHeight=e.width/t.aspectRatio),t._width=t.width||Math.ceil(e.aspectWidth||e.width),t._height=t.height||Math.ceil(e.aspectHeight||e.height)}t.width||(t._x=t.x||0,t._x+=e.x-Math.round(e.aspectWidth?Math.abs(e.aspectWidth-e.width)/2:0)),t.height||(t._y=t.y||0,t._y+=e.y-Math.round(e.aspectHeight?Math.abs(e.aspectHeight-e.height)/2:0))}function pb(t,e){const i=eb(e,!0),s=$y(i),o=t.color||"#333333",n=t.height||("number"==typeof t._height?t._height:0)||32,r=t=>this.rect(0,0,a,n).attr({fill:t}).add(p),a=t.width||("number"==typeof t._width?t._width:0)||32;
1let l,h,c=t.id;if(c||(this.idCounter=this.idCounter||0,c="highcharts-pattern-"+this.idCounter+"-"+(this.chartIndex||0),++this.idCounter),this.forExport&&(c+="-export"),this.defIds=this.defIds||[],this.defIds.indexOf(c)>-1)return;this.defIds.push(c);const d={id:c,patternUnits:"userSpaceOnUse",patternContentUnits:t.patternContentUnits||"userSpaceOnUse",width:a,height:n,x:t._x||t.x||0,y:t._y||t.y||0};t._inverted&&(d.patternTransform="scale(1, -1)",t.patternTransform&&(t.patternTransform+=" scale(1, -1)")),t.patternTransform&&(d.patternTransform=t.patternTransform);const p=this.createElement("pattern").attr(d).add(this.defs);return p.id=c,t.path?(h=C.isObject(t.path)?t.path:{d:t.path},t.backgroundColor&&r(t.backgroundColor),l={d:h.d},this.styledMode||(l.stroke=h.stroke||o,l["stroke-width"]=eb(h.strokeWidth,2),l.fill=h.fill||"none"),h.transform&&(l.transform=h.transform),this.createElement("path").attr(l).add(p),p.color=o):t.image&&(i?this.image(t.image,0,0,a,n,function(){this.animate({opacity:eb(t.opacity,1)},s),ib(this.element,"load")}).attr({opacity:0}).add(p):this.image(t.image,0,0,a,n).add(p)),t.image&&i||void 0===t.opacity||[].forEach.call(p.element.childNodes,e=>{e.setAttribute("opacity",t.opacity)}),this.patternElements=this.patternElements||{},this.patternElements[c]=p,p}function ub(t){const e=this.options.color;e&&e.pattern&&!e.pattern.color?(delete this.options.color,t.apply(this,[].slice.call(arguments,1)),e.pattern.color=this.color,this.color=this.options.color=e):t.apply(this,[].slice.call(arguments,1))}function gb(){const t=this;if(!t.chart?.mapView)return;const e=t.chart.renderer,i=e.patternElements;e.defIds?.length&&i&&t.points.filter(function(t){const e=t;return!!e.graphic&&((e.graphic.element.hasAttribute("fill")||e.graphic.element.hasAttribute("color")||e.graphic.element.hasAttribute("stroke"))&&!e.options.color?.pattern?.image&&!!e.group?.scaleX&&!!e.group?.scaleY)}).map(function(t){const i=t;return{id:(i.graphic?.element.getAttribute("fill")||i.graphic?.element.getAttribute("color")||i.graphic?.element.getAttribute("stroke")||"").replace(e.url,"").replace("url(#","").replace(")",""),x:i.group?.scaleX||1,y:i.group?.scaleY||1}}).filter(function(t,e,i){return""!==t.id&&-1!==t.id.indexOf("highcharts-pattern-")&&!i.some(function(i,s){return i.id===t.id&&s<e})}).forEach(function(t){const e=t.id;i[e].scaleX=1/t.x,i[e].scaleY=1/t.y,i[e].updateTransform("patternTransform")})}const mb={compose:function(t,e,i){const s=e.prototype.pointClass,o=s.prototype;o.calculatePatternDimensions||(_y(t,"endResize",rb),_y(t,"redraw",ab),Qy(o,{calculatePatternDimensions:db}),_y(s,"afterInit",lb),_y(e,"render",cb),sb(e.prototype,"getColor",ub),_y(e,"afterRender",gb),_y(e,"mapZoomComplete",gb),Qy(i.prototype,{addPattern:pb}),_y(i,"complexColor",hb))},patterns:ob},fb=t;fb.patterns=mb.patterns,mb.compose(fb.Chart,fb.Series,fb.SVGRenderer);const xb=Object.freeze(Object.defineProperty({__proto__:null,default:t},Symbol.toStringTag,{value:"Module"}));export{Ey as a,qy as b,Wd as d,zp as e,yd as h,tu as o,xb as p};

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.