@xcpcio/board-app 0.51.2 → 0.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/404.html +1 -1
- package/dist/assets/Board-04b0589d.js +1 -0
- package/dist/assets/{Board-3491f2da.css → Board-f05c0366.css} +1 -1
- package/dist/assets/DataSourceInput.vue_vue_type_script_setup_true_lang-11e5a08c.js +1 -0
- package/dist/assets/TheInput.vue_vue_type_script_setup_true_lang-f91fd6e0.js +1 -0
- package/dist/assets/{_...all_-61cb8860.js → _...all_-85910c2a.js} +2 -2
- package/dist/assets/_...all_-905784b3.js +1 -0
- package/dist/assets/{_name_-f901a5ed.js → _name_-203db09f.js} +1 -1
- package/dist/assets/{about-9fdb1313.js → about-d9d865e0.js} +1 -1
- package/dist/assets/board-3f91f491.js +1 -0
- package/dist/assets/{board-layout-598f9ee4.js → board-layout-967802f4.js} +1 -1
- package/dist/assets/{headless-e015e9d1.js → headless-f3f3253c.js} +1 -1
- package/dist/assets/{home-89f287c8.js → home-3d9e3102.js} +1 -1
- package/dist/assets/index-0095f855.js +1 -0
- package/dist/assets/{index-d8432aad.js → index-1e2a1259.js} +133 -133
- package/dist/assets/{index-9dd86d68.css → index-43f8e0d3.css} +1 -1
- package/dist/assets/index-86ef642b.js +1 -0
- package/dist/assets/index-accb347c.css +1 -0
- package/dist/assets/index-b97b2d45.js +1 -0
- package/dist/assets/index-c827bc8f.css +1 -0
- package/dist/assets/index-d51c6c02.js +1 -0
- package/dist/assets/{index-layout-60ef1a96.js → index-layout-5a67cc99.js} +1 -1
- package/dist/assets/{pagination-95a79aa6.js → pagination-6eac914a.js} +1 -1
- package/dist/assets/query-ff21040c.js +1 -0
- package/dist/assets/{test-5c739ae1.js → test-5dd32cac.js} +1 -1
- package/dist/assets/{user-03dfbe5d.js → user-cd9a56f6.js} +1 -1
- package/dist/assets/{virtual_pwa-register-6ca2d3a0.js → virtual_pwa-register-ff5720d1.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +3 -3
- package/src/components/Balloon.vue +3 -3
- package/src/components/BalloonBlock.vue +1 -1
- package/src/components/Countdown.vue +3 -8
- package/src/components/CustomResolver.vue +25 -0
- package/src/components/Resolver.vue +131 -0
- package/src/components/ResolverTeamRow.vue +127 -0
- package/src/components/board/Board.vue +1 -1
- package/src/components/board/StandingsAnnotate.vue +4 -2
- package/src/components/board/Utility.vue +7 -12
- package/src/components.d.ts +3 -0
- package/src/composables/useQueryBoardData.ts +11 -5
- package/src/pages/resolver/index.vue +10 -0
- package/uno.config.ts +2 -0
- package/dist/assets/Board-a6a37adf.js +0 -1
- package/dist/assets/DataSourceInput.vue_vue_type_script_setup_true_lang-d2ea1ac6.js +0 -1
- package/dist/assets/TheInput.vue_vue_type_script_setup_true_lang-1ce252e6.js +0 -1
- package/dist/assets/_...all_-198e3528.js +0 -1
- package/dist/assets/board-65f3126c.js +0 -1
- package/dist/assets/index-67b2a8c5.css +0 -1
- package/dist/assets/index-7af0a9ca.js +0 -1
- package/dist/assets/index-8e5373fd.js +0 -1
- package/dist/assets/index-ea20d191.js +0 -1
- package/dist/assets/query-67fd6c27.js +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var be=Object.defineProperty;var ve=(gt,pt,H)=>pt in gt?be(gt,pt,{enumerable:!0,configurable:!0,writable:!0,value:H}):gt[pt]=H;var _t=(gt,pt,H)=>(ve(gt,typeof pt!="symbol"?pt+"":pt,H),H);import{g as ce,h as pe,aX as Se,A as ke,o as Dt,c as jt,d as wt,Y as Yt,t as zt,D as Bt,ad as Ht,O as Nt,F as Ut,s as Vt,T as $t,G as ie,k as se,W as Ce,aY as we,a5 as Me,aZ as Te,j as Pt}from"./index-d8432aad.js";const Ae={class:"relative bg-white dark:bg-gray-800 sm:p-4","rounded-sm":"","shadow-sm":""},Pe={class:"mb-4 border-b rounded-t pb-4 sm:mb-4 dark:border-gray-600",flex:"","items-center":"","justify-between":""},Oe={"text-gray-900":"","dark:text-white":"","text-xl":"","font-sans":"","font-semibold":"",italic:""},si=ce({__name:"Modal",props:{isHidden:{type:Boolean},title:null,width:null,mt:null},emits:["update:isHidden"],setup(gt,{emit:pt}){const H=gt,yt=pt,Z=pe({get(){return H.isHidden},set(it){yt("update:isHidden",it)}});function K(){Z.value=!0}const{Escape:J}=Se();return ke(J,it=>{it&&K()}),(it,at)=>(Dt(),jt("div",{class:Bt(["md:inset-0 w-[100%] h-[100%]",[H.mt??"md:mt-32 sm:mt-16"]]),fixed:"","z-1997":"","of-x-hidden":"",flex:"","justify-center":"","items-start":""},[wt("div",{class:"w-[100%] h-[100%]",fixed:"","left-0":"","top-0":"","z-1998":"",style:{backgroundColor:"rgba(0, 0, 0, 0.5)"},onClick:K}),wt("div",{class:Bt(["relative p-4",[H.width??"w-[78%]"]]),"z-1999":""},[wt("div",Ae,[wt("div",Pe,[Yt(it.$slots,"header",{},()=>[wt("h3",Oe,zt(H.title),1)]),wt("button",{type:"button",class:"hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white","bg-transparent":"","ml-auto":"","p-1.5":"","text-sm":"","text-gray-400":"","items-center":"","inline-flex":"","rounded-lg":"",onClick:K},at[0]||(at[0]=[wt("svg",{class:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[wt("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),wt("span",{"sr-only":""}," Close modal ",-1)]))]),Yt(it.$slots,"default")])],2)],2))}}),Ot={openOptions(gt){gt.$refs.input.focus(),gt.showMenu=!0,gt.mousedownState=!1},blurInput(gt){gt.mousedownState||(gt.searchText="",gt.closeOptions()),gt.$emit("blur")},closeOptions(gt){gt.$refs.input.blur(),gt.showMenu=!1},prevItem(gt){const pt=gt.pointer-1,H=gt.$el.offsetHeight*pt;pt>=0&&(gt.pointer=pt),gt.$refs.menu.scrollTop=H},nextItem(gt){const pt=gt.pointer+1,H=gt.$el.offsetHeight*pt;pt<=gt.filteredOptions.length-1&&(gt.pointer=pt);const yt=gt.$refs.menu.offsetHeight,Z=Math.ceil((gt.$refs.menu.scrollTop+gt.$el.offsetHeight)/yt),K=Math.ceil(H/yt);Z!==K&&(gt.$refs.menu.scrollTop=(K-1)*gt.$refs.menu.offsetHeight)},enterItem(gt){const pt=gt.filteredOptions[gt.pointer],H=pt.disabled;pt&&!H&>.selectItem(pt)},pointerSet(gt,pt){gt.pointer=pt},pointerAdjust(gt){gt.pointer>=gt.filteredOptions.length-1&&(gt.pointer=gt.filteredOptions.length?gt.filteredOptions.length-1:0)},mousedownItem(gt){gt.mousedownState=!0}};function Le(gt){return new RegExp(gt.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i")}const ue={props:{id:{default:null},name:{type:String,default:""},isError:{type:Boolean,default:!1},customAttr:{type:Function,default:()=>""},isDisabled:{type:Boolean,default:!1},placeholder:{type:String,default:""},filterPredicate:{type:Function,default:(gt,pt)=>gt.match(Le(pt))}}},ge=(gt,pt)=>{const H=gt.__vccOpts||gt;for(const[yt,Z]of pt)H[yt]=Z;return H},Ee={name:"ModelSelect",mixins:[ue],emits:["blur","searchchange","update:modelValue"],props:{modelValue:{type:[String,Number,Object,Boolean]},customAttr:{type:Function,default:()=>""},options:{type:Array}},data(){return{showMenu:!1,searchText:"",mousedownState:!1,pointer:-1}},watch:{value(gt){this.pointer=this.filteredOptions.findIndex(pt=>pt.value===this.optionValue(gt))},filteredOptions(){this.pointerAdjust()},searchText(){this.$emit("searchchange",this.searchText)}},computed:{searchTextCustomAttr(){return this.selectedOption&&this.selectedOption.value?this.customAttr(this.selectedOption):""},inputText(){if(this.searchText)return"";{let gt=this.placeholder;return this.selectedOption&&(gt=this.selectedOption.text),gt}},customAttrs(){try{if(Array.isArray(this.options))return this.options.map(gt=>this.customAttr(gt))}catch{}return[]},textClass(){return!this.selectedOption&&this.placeholder?"default":""},menuClass(){return{visible:this.showMenu,hidden:!this.showMenu}},menuStyle(){return{display:this.showMenu?"block":"none"}},filteredOptions(){return this.searchText?this.options.filter(gt=>{try{return this.filterPredicate(gt.text,this.searchText)}catch{return!0}}):this.options},selectedOption(){return this.options.find(gt=>gt.value===this.optionValue(this.modelValue))}},methods:{deleteTextOrItem(){!this.searchText&&this.modelValue&&(this.selectItem({}),this.openOptions())},openOptions(){Ot.openOptions(this)},blurInput(){Ot.blurInput(this)},closeOptions(){Ot.closeOptions(this)},prevItem(){Ot.prevItem(this)},nextItem(){Ot.nextItem(this)},enterItem(){Ot.enterItem(this)},pointerSet(gt){Ot.pointerSet(this,gt)},pointerAdjust(){Ot.pointerAdjust(this)},mousedownItem(){Ot.mousedownItem(this)},selectItem(gt){this.searchText="",this.closeOptions(),typeof this.modelValue=="object"&&this.modelValue?this.$emit("update:modelValue",gt):(this.$emit("update:modelValue",gt.value),gt.value!==void 0&>.value===gt.text&&(this.searchText=gt.value))},optionValue(gt){return typeof gt=="object"&>!==null?gt.value:gt}}},De=wt("i",{class:"dropdown icon"},null,-1),je=["disabled","tabindex","id","name","value"],Ie=["data-vss-custom-attr"],Be=["data-vss-custom-attr","onClick","onMouseenter"];function Re(gt,pt,H,yt,Z,K){return Dt(),jt("div",{class:Bt(["ui fluid search selection dropdown",{"active visible":Z.showMenu,error:gt.isError,disabled:gt.isDisabled}]),onClick:pt[11]||(pt[11]=(...J)=>K.openOptions&&K.openOptions(...J)),onFocus:pt[12]||(pt[12]=(...J)=>K.openOptions&&K.openOptions(...J))},[De,wt("input",{class:"search",autocomplete:"off",disabled:gt.isDisabled,tabindex:gt.isDisabled?-1:0,id:gt.id,name:gt.name,value:Z.searchText,onInput:pt[0]||(pt[0]=J=>Z.searchText=J.target.value),ref:"input",onFocus:pt[1]||(pt[1]=Ht((...J)=>K.openOptions&&K.openOptions(...J),["prevent"])),onKeyup:[pt[2]||(pt[2]=Nt((...J)=>K.closeOptions&&K.closeOptions(...J),["esc"])),pt[7]||(pt[7]=Nt(Ht((...J)=>K.enterItem&&K.enterItem(...J),["prevent"]),["enter"]))],onBlur:pt[3]||(pt[3]=(...J)=>K.blurInput&&K.blurInput(...J)),onKeydown:[pt[4]||(pt[4]=Nt((...J)=>K.prevItem&&K.prevItem(...J),["up"])),pt[5]||(pt[5]=Nt((...J)=>K.nextItem&&K.nextItem(...J),["down"])),pt[6]||(pt[6]=Nt(Ht(()=>{},["prevent"]),["enter"])),pt[8]||(pt[8]=Nt((...J)=>K.deleteTextOrItem&&K.deleteTextOrItem(...J),["delete"]))]},null,40,je),wt("div",{class:Bt(["text",K.textClass]),"data-vss-custom-attr":K.searchTextCustomAttr},zt(K.inputText),11,Ie),wt("div",{class:Bt(["menu",K.menuClass]),ref:"menu",onMousedown:pt[10]||(pt[10]=Ht(()=>{},["prevent"])),style:ie(K.menuStyle),tabindex:"-1"},[(Dt(!0),jt(Ut,null,Vt(K.filteredOptions,(J,it)=>(Dt(),jt("div",{key:it,class:Bt(["item",{selected:J.selected||Z.pointer===it,disabled:J.disabled}]),"data-vss-custom-attr":K.customAttrs[it]?K.customAttrs[it]:"",onClick:Ht(at=>K.selectItem(J),["stop"]),onMousedown:pt[9]||(pt[9]=(...at)=>K.mousedownItem&&K.mousedownItem(...at)),onMouseenter:at=>K.pointerSet(it)},[Yt(gt.$slots,"default",{option:J,idx:it},()=>[$t(zt(J.text),1)])],42,Be))),128))],38)],34)}const ri=ge(Ee,[["render",Re]]),ze={name:"MultiSelect",mixins:[ue],emits:["blur","searchchange","select"],props:{customAttr:{type:Function,default:()=>""},options:{type:Array},selectedOptions:{type:Array},cleanSearch:{type:Boolean,default:!0},hideSelectedOptions:{type:Boolean,default:!1}},data(){return{showMenu:!1,searchText:"",mousedownState:!1,pointer:-1}},watch:{selectedOptions(){this.pointer=-1},filteredOptions(){this.pointerAdjust()},searchText(){this.$emit("searchchange",this.searchText)}},computed:{inputText(){return this.searchText?"":this.placeholder},textClass(){return this.placeholder?"default":""},inputWidth(){return{width:(this.searchText.length+1)*8+20+"px"}},menuClass(){return{visible:this.showMenu,hidden:!this.showMenu}},menuStyle(){return{display:this.showMenu?"block":"none"}},nonSelectOptions(){return this.options.filter(gt=>this.selectedOptions.findIndex(pt=>pt.value===gt.value)===-1)},filteredOptions(){return this.searchText?this.nonSelectOptions.filter(gt=>{try{return this.cleanSearch?this.filterPredicate(this.accentsTidy(gt.text),this.searchText):this.filterPredicate(gt.text,this.searchText)}catch{return!0}}):this.nonSelectOptions}},methods:{deleteTextOrLastItem(){!this.searchText&&this.selectedOptions.length>0&&this.deleteItem(this.selectedOptions[this.selectedOptions.length-1])},openOptions(){Ot.openOptions(this)},blurInput(){Ot.blurInput(this)},closeOptions(){Ot.closeOptions(this)},prevItem(){Ot.prevItem(this),this.openOptions()},nextItem(){Ot.nextItem(this),this.openOptions()},enterItem(){Ot.enterItem(this)},pointerSet(gt){Ot.pointerSet(this,gt)},pointerAdjust(){Ot.pointerAdjust(this)},mousedownItem(){Ot.mousedownItem(this)},selectItem(gt){const pt=this.selectedOptions.concat(gt),H=pt.filter((yt,Z)=>pt.indexOf(yt)===Z);this.closeOptions(),this.searchText="",this.$emit("select",H,gt,"insert")},deleteItem(gt){const pt=this.selectedOptions.filter(H=>H.value!==gt.value);this.$emit("select",pt,gt,"delete")},accentsTidy(gt){let pt=gt.toString().toLowerCase();return pt=pt.replace(new RegExp("[àáâãäå]","g"),"a"),pt=pt.replace(new RegExp("æ","g"),"ae"),pt=pt.replace(new RegExp("ç","g"),"c"),pt=pt.replace(new RegExp("[èéêë]","g"),"e"),pt=pt.replace(new RegExp("[ìíîï]","g"),"i"),pt=pt.replace(new RegExp("ñ","g"),"n"),pt=pt.replace(new RegExp("[òóôõö]","g"),"o"),pt=pt.replace(new RegExp("œ","g"),"oe"),pt=pt.replace(new RegExp("[ùúûü]","g"),"u"),pt=pt.replace(new RegExp("[ýÿ]","g"),"y"),pt}}},Ne=wt("i",{class:"dropdown icon"},null,-1),We=["data-vss-custom-attr"],He=["onClick"],Ge=["disabled","tabindex","id","name"],Xe=["data-vss-custom-attr","onClick","onMouseenter"];function Fe(gt,pt,H,yt,Z,K){return Dt(),jt("div",{class:Bt(["ui fluid search dropdown selection multiple",{"active visible":Z.showMenu,error:gt.isError,disabled:gt.isDisabled}]),onClick:pt[11]||(pt[11]=(...J)=>K.openOptions&&K.openOptions(...J)),onFocus:pt[12]||(pt[12]=(...J)=>K.openOptions&&K.openOptions(...J))},[Ne,H.hideSelectedOptions?se("",!0):(Dt(!0),jt(Ut,{key:0},Vt(H.selectedOptions,(J,it)=>(Dt(),jt("a",{key:it,class:"ui label transition visible",style:{display:"inline-block !important"},"data-vss-custom-attr":H.customAttr(J)},[Yt(gt.$slots,"selected",{option:J,idx:it},()=>[$t(zt(J.text),1),wt("i",{class:"delete icon",onClick:at=>K.deleteItem(J)},null,8,He)])],8,We))),128)),Ce(wt("input",{class:"search",autocomplete:"off",disabled:gt.isDisabled,tabindex:gt.isDisabled?-1:0,id:gt.id,name:gt.name,"onUpdate:modelValue":pt[0]||(pt[0]=J=>Z.searchText=J),ref:"input",style:ie(K.inputWidth),onFocus:pt[1]||(pt[1]=Ht((...J)=>K.openOptions&&K.openOptions(...J),["prevent"])),onKeyup:[pt[2]||(pt[2]=Nt((...J)=>K.closeOptions&&K.closeOptions(...J),["esc"])),pt[7]||(pt[7]=Nt(Ht((...J)=>K.enterItem&&K.enterItem(...J),["prevent"]),["enter"]))],onBlur:pt[3]||(pt[3]=(...J)=>K.blurInput&&K.blurInput(...J)),onKeydown:[pt[4]||(pt[4]=Nt((...J)=>K.prevItem&&K.prevItem(...J),["up"])),pt[5]||(pt[5]=Nt((...J)=>K.nextItem&&K.nextItem(...J),["down"])),pt[6]||(pt[6]=Nt(Ht(()=>{},["prevent"]),["enter"])),pt[8]||(pt[8]=Nt((...J)=>K.deleteTextOrLastItem&&K.deleteTextOrLastItem(...J),["delete"]))]},null,44,Ge),[[we,Z.searchText]]),wt("div",{class:Bt(["text",K.textClass])},zt(K.inputText),3),wt("div",{class:Bt(["menu",K.menuClass]),ref:"menu",onMousedown:pt[10]||(pt[10]=Ht(()=>{},["prevent"])),style:ie(K.menuStyle),tabindex:"-1"},[(Dt(!0),jt(Ut,null,Vt(K.filteredOptions,(J,it)=>(Dt(),jt("div",{key:it,class:Bt(["item",{selected:J.selected||Z.pointer===it,disabled:J.disabled}]),"data-vss-custom-attr":H.customAttr(J),onClick:Ht(at=>K.selectItem(J),["stop"]),onMousedown:pt[9]||(pt[9]=(...at)=>K.mousedownItem&&K.mousedownItem(...at)),onMouseenter:at=>K.pointerSet(it)},[Yt(gt.$slots,"default",{option:J,idx:it},()=>[$t(zt(J.text),1)])],42,Xe))),128))],38)],34)}const oi=ge(ze,[["render",Fe]]);var fe={exports:{}},me={exports:{}};(function(gt){(function(pt,H){gt.exports?(H.default=H,gt.exports=pt&&pt.document?H(pt):H):(pt.Highcharts&&pt.Highcharts.error(16,!0),pt.Highcharts=H(pt))})(typeof window<"u"?window:Me,function(pt){var H={};function yt(Z,K,J,it){!Z.hasOwnProperty(K)&&(Z[K]=it.apply(null,J),pt&&typeof CustomEvent=="function"&&pt.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:K,module:Z[K]}})))}return yt(H,"Core/Globals.js",[],function(){var Z,K;return(K=Z||(Z={})).SVG_NS="http://www.w3.org/2000/svg",K.product="Highcharts",K.version="11.4.8",K.win=pt!==void 0?pt:{},K.doc=K.win.document,K.svg=K.doc&&K.doc.createElementNS&&!!K.doc.createElementNS(K.SVG_NS,"svg").createSVGRect,K.userAgent=K.win.navigator&&K.win.navigator.userAgent||"",K.isChrome=K.win.chrome,K.isFirefox=K.userAgent.indexOf("Firefox")!==-1,K.isMS=/(edge|msie|trident)/i.test(K.userAgent)&&!K.win.opera,K.isSafari=!K.isChrome&&K.userAgent.indexOf("Safari")!==-1,K.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(K.userAgent),K.isWebKit=K.userAgent.indexOf("AppleWebKit")!==-1,K.deg2rad=2*Math.PI/360,K.hasBidiBug=K.isFirefox&&4>parseInt(K.userAgent.split("Firefox/")[1],10),K.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],K.noop=function(){},K.supportsPassiveEvents=function(){let J=!1;if(!K.isMS){let it=Object.defineProperty({},"passive",{get:function(){J=!0}});K.win.addEventListener&&K.win.removeEventListener&&(K.win.addEventListener("testPassive",K.noop,it),K.win.removeEventListener("testPassive",K.noop,it))}return J}(),K.charts=[],K.composed=[],K.dateFormats={},K.seriesTypes={},K.symbolSizes={},K.chartCount=0,Z}),yt(H,"Core/Utilities.js",[H["Core/Globals.js"]],function(Z){let K,{charts:J,doc:it,win:at}=Z;function ot(e,t,o,a){let f=t?"Highcharts error":"Highcharts warning";e===32&&(e=`${f}: Deprecated member`);let v=I(e),h=v?`${f} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(a!==void 0){let P="";v&&(h+="?"),x(a,function(Y,g){P+=`
|
|
1
|
+
var be=Object.defineProperty;var ve=(gt,pt,H)=>pt in gt?be(gt,pt,{enumerable:!0,configurable:!0,writable:!0,value:H}):gt[pt]=H;var _t=(gt,pt,H)=>(ve(gt,typeof pt!="symbol"?pt+"":pt,H),H);import{g as ce,h as pe,a_ as Se,v as ke,o as Dt,c as jt,d as wt,a2 as Yt,t as zt,n as Bt,ah as Ht,V as Nt,F as Ut,j as Vt,k as $t,N as ie,l as se,a0 as Ce,a$ as we,a9 as Me,b0 as Te,u as Pt}from"./index-1e2a1259.js";const Ae={class:"relative bg-white dark:bg-gray-800 sm:p-4","rounded-sm":"","shadow-sm":""},Pe={class:"mb-4 border-b rounded-t pb-4 sm:mb-4 dark:border-gray-600",flex:"","items-center":"","justify-between":""},Oe={"text-gray-900":"","dark:text-white":"","text-xl":"","font-sans":"","font-semibold":"",italic:""},si=ce({__name:"Modal",props:{isHidden:{type:Boolean},title:null,width:null,mt:null},emits:["update:isHidden"],setup(gt,{emit:pt}){const H=gt,yt=pt,Z=pe({get(){return H.isHidden},set(it){yt("update:isHidden",it)}});function K(){Z.value=!0}const{Escape:J}=Se();return ke(J,it=>{it&&K()}),(it,at)=>(Dt(),jt("div",{class:Bt(["md:inset-0 w-[100%] h-[100%]",[H.mt??"md:mt-32 sm:mt-16"]]),fixed:"","z-1997":"","of-x-hidden":"",flex:"","justify-center":"","items-start":""},[wt("div",{class:"w-[100%] h-[100%]",fixed:"","left-0":"","top-0":"","z-1998":"",style:{backgroundColor:"rgba(0, 0, 0, 0.5)"},onClick:K}),wt("div",{class:Bt(["relative p-4",[H.width??"w-[78%]"]]),"z-1999":""},[wt("div",Ae,[wt("div",Pe,[Yt(it.$slots,"header",{},()=>[wt("h3",Oe,zt(H.title),1)]),wt("button",{type:"button",class:"hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white","bg-transparent":"","ml-auto":"","p-1.5":"","text-sm":"","text-gray-400":"","items-center":"","inline-flex":"","rounded-lg":"",onClick:K},at[0]||(at[0]=[wt("svg",{class:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[wt("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),wt("span",{"sr-only":""}," Close modal ",-1)]))]),Yt(it.$slots,"default")])],2)],2))}}),Ot={openOptions(gt){gt.$refs.input.focus(),gt.showMenu=!0,gt.mousedownState=!1},blurInput(gt){gt.mousedownState||(gt.searchText="",gt.closeOptions()),gt.$emit("blur")},closeOptions(gt){gt.$refs.input.blur(),gt.showMenu=!1},prevItem(gt){const pt=gt.pointer-1,H=gt.$el.offsetHeight*pt;pt>=0&&(gt.pointer=pt),gt.$refs.menu.scrollTop=H},nextItem(gt){const pt=gt.pointer+1,H=gt.$el.offsetHeight*pt;pt<=gt.filteredOptions.length-1&&(gt.pointer=pt);const yt=gt.$refs.menu.offsetHeight,Z=Math.ceil((gt.$refs.menu.scrollTop+gt.$el.offsetHeight)/yt),K=Math.ceil(H/yt);Z!==K&&(gt.$refs.menu.scrollTop=(K-1)*gt.$refs.menu.offsetHeight)},enterItem(gt){const pt=gt.filteredOptions[gt.pointer],H=pt.disabled;pt&&!H&>.selectItem(pt)},pointerSet(gt,pt){gt.pointer=pt},pointerAdjust(gt){gt.pointer>=gt.filteredOptions.length-1&&(gt.pointer=gt.filteredOptions.length?gt.filteredOptions.length-1:0)},mousedownItem(gt){gt.mousedownState=!0}};function Le(gt){return new RegExp(gt.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i")}const ue={props:{id:{default:null},name:{type:String,default:""},isError:{type:Boolean,default:!1},customAttr:{type:Function,default:()=>""},isDisabled:{type:Boolean,default:!1},placeholder:{type:String,default:""},filterPredicate:{type:Function,default:(gt,pt)=>gt.match(Le(pt))}}},ge=(gt,pt)=>{const H=gt.__vccOpts||gt;for(const[yt,Z]of pt)H[yt]=Z;return H},Ee={name:"ModelSelect",mixins:[ue],emits:["blur","searchchange","update:modelValue"],props:{modelValue:{type:[String,Number,Object,Boolean]},customAttr:{type:Function,default:()=>""},options:{type:Array}},data(){return{showMenu:!1,searchText:"",mousedownState:!1,pointer:-1}},watch:{value(gt){this.pointer=this.filteredOptions.findIndex(pt=>pt.value===this.optionValue(gt))},filteredOptions(){this.pointerAdjust()},searchText(){this.$emit("searchchange",this.searchText)}},computed:{searchTextCustomAttr(){return this.selectedOption&&this.selectedOption.value?this.customAttr(this.selectedOption):""},inputText(){if(this.searchText)return"";{let gt=this.placeholder;return this.selectedOption&&(gt=this.selectedOption.text),gt}},customAttrs(){try{if(Array.isArray(this.options))return this.options.map(gt=>this.customAttr(gt))}catch{}return[]},textClass(){return!this.selectedOption&&this.placeholder?"default":""},menuClass(){return{visible:this.showMenu,hidden:!this.showMenu}},menuStyle(){return{display:this.showMenu?"block":"none"}},filteredOptions(){return this.searchText?this.options.filter(gt=>{try{return this.filterPredicate(gt.text,this.searchText)}catch{return!0}}):this.options},selectedOption(){return this.options.find(gt=>gt.value===this.optionValue(this.modelValue))}},methods:{deleteTextOrItem(){!this.searchText&&this.modelValue&&(this.selectItem({}),this.openOptions())},openOptions(){Ot.openOptions(this)},blurInput(){Ot.blurInput(this)},closeOptions(){Ot.closeOptions(this)},prevItem(){Ot.prevItem(this)},nextItem(){Ot.nextItem(this)},enterItem(){Ot.enterItem(this)},pointerSet(gt){Ot.pointerSet(this,gt)},pointerAdjust(){Ot.pointerAdjust(this)},mousedownItem(){Ot.mousedownItem(this)},selectItem(gt){this.searchText="",this.closeOptions(),typeof this.modelValue=="object"&&this.modelValue?this.$emit("update:modelValue",gt):(this.$emit("update:modelValue",gt.value),gt.value!==void 0&>.value===gt.text&&(this.searchText=gt.value))},optionValue(gt){return typeof gt=="object"&>!==null?gt.value:gt}}},De=wt("i",{class:"dropdown icon"},null,-1),je=["disabled","tabindex","id","name","value"],Ie=["data-vss-custom-attr"],Be=["data-vss-custom-attr","onClick","onMouseenter"];function Re(gt,pt,H,yt,Z,K){return Dt(),jt("div",{class:Bt(["ui fluid search selection dropdown",{"active visible":Z.showMenu,error:gt.isError,disabled:gt.isDisabled}]),onClick:pt[11]||(pt[11]=(...J)=>K.openOptions&&K.openOptions(...J)),onFocus:pt[12]||(pt[12]=(...J)=>K.openOptions&&K.openOptions(...J))},[De,wt("input",{class:"search",autocomplete:"off",disabled:gt.isDisabled,tabindex:gt.isDisabled?-1:0,id:gt.id,name:gt.name,value:Z.searchText,onInput:pt[0]||(pt[0]=J=>Z.searchText=J.target.value),ref:"input",onFocus:pt[1]||(pt[1]=Ht((...J)=>K.openOptions&&K.openOptions(...J),["prevent"])),onKeyup:[pt[2]||(pt[2]=Nt((...J)=>K.closeOptions&&K.closeOptions(...J),["esc"])),pt[7]||(pt[7]=Nt(Ht((...J)=>K.enterItem&&K.enterItem(...J),["prevent"]),["enter"]))],onBlur:pt[3]||(pt[3]=(...J)=>K.blurInput&&K.blurInput(...J)),onKeydown:[pt[4]||(pt[4]=Nt((...J)=>K.prevItem&&K.prevItem(...J),["up"])),pt[5]||(pt[5]=Nt((...J)=>K.nextItem&&K.nextItem(...J),["down"])),pt[6]||(pt[6]=Nt(Ht(()=>{},["prevent"]),["enter"])),pt[8]||(pt[8]=Nt((...J)=>K.deleteTextOrItem&&K.deleteTextOrItem(...J),["delete"]))]},null,40,je),wt("div",{class:Bt(["text",K.textClass]),"data-vss-custom-attr":K.searchTextCustomAttr},zt(K.inputText),11,Ie),wt("div",{class:Bt(["menu",K.menuClass]),ref:"menu",onMousedown:pt[10]||(pt[10]=Ht(()=>{},["prevent"])),style:ie(K.menuStyle),tabindex:"-1"},[(Dt(!0),jt(Ut,null,Vt(K.filteredOptions,(J,it)=>(Dt(),jt("div",{key:it,class:Bt(["item",{selected:J.selected||Z.pointer===it,disabled:J.disabled}]),"data-vss-custom-attr":K.customAttrs[it]?K.customAttrs[it]:"",onClick:Ht(at=>K.selectItem(J),["stop"]),onMousedown:pt[9]||(pt[9]=(...at)=>K.mousedownItem&&K.mousedownItem(...at)),onMouseenter:at=>K.pointerSet(it)},[Yt(gt.$slots,"default",{option:J,idx:it},()=>[$t(zt(J.text),1)])],42,Be))),128))],38)],34)}const ri=ge(Ee,[["render",Re]]),ze={name:"MultiSelect",mixins:[ue],emits:["blur","searchchange","select"],props:{customAttr:{type:Function,default:()=>""},options:{type:Array},selectedOptions:{type:Array},cleanSearch:{type:Boolean,default:!0},hideSelectedOptions:{type:Boolean,default:!1}},data(){return{showMenu:!1,searchText:"",mousedownState:!1,pointer:-1}},watch:{selectedOptions(){this.pointer=-1},filteredOptions(){this.pointerAdjust()},searchText(){this.$emit("searchchange",this.searchText)}},computed:{inputText(){return this.searchText?"":this.placeholder},textClass(){return this.placeholder?"default":""},inputWidth(){return{width:(this.searchText.length+1)*8+20+"px"}},menuClass(){return{visible:this.showMenu,hidden:!this.showMenu}},menuStyle(){return{display:this.showMenu?"block":"none"}},nonSelectOptions(){return this.options.filter(gt=>this.selectedOptions.findIndex(pt=>pt.value===gt.value)===-1)},filteredOptions(){return this.searchText?this.nonSelectOptions.filter(gt=>{try{return this.cleanSearch?this.filterPredicate(this.accentsTidy(gt.text),this.searchText):this.filterPredicate(gt.text,this.searchText)}catch{return!0}}):this.nonSelectOptions}},methods:{deleteTextOrLastItem(){!this.searchText&&this.selectedOptions.length>0&&this.deleteItem(this.selectedOptions[this.selectedOptions.length-1])},openOptions(){Ot.openOptions(this)},blurInput(){Ot.blurInput(this)},closeOptions(){Ot.closeOptions(this)},prevItem(){Ot.prevItem(this),this.openOptions()},nextItem(){Ot.nextItem(this),this.openOptions()},enterItem(){Ot.enterItem(this)},pointerSet(gt){Ot.pointerSet(this,gt)},pointerAdjust(){Ot.pointerAdjust(this)},mousedownItem(){Ot.mousedownItem(this)},selectItem(gt){const pt=this.selectedOptions.concat(gt),H=pt.filter((yt,Z)=>pt.indexOf(yt)===Z);this.closeOptions(),this.searchText="",this.$emit("select",H,gt,"insert")},deleteItem(gt){const pt=this.selectedOptions.filter(H=>H.value!==gt.value);this.$emit("select",pt,gt,"delete")},accentsTidy(gt){let pt=gt.toString().toLowerCase();return pt=pt.replace(new RegExp("[àáâãäå]","g"),"a"),pt=pt.replace(new RegExp("æ","g"),"ae"),pt=pt.replace(new RegExp("ç","g"),"c"),pt=pt.replace(new RegExp("[èéêë]","g"),"e"),pt=pt.replace(new RegExp("[ìíîï]","g"),"i"),pt=pt.replace(new RegExp("ñ","g"),"n"),pt=pt.replace(new RegExp("[òóôõö]","g"),"o"),pt=pt.replace(new RegExp("œ","g"),"oe"),pt=pt.replace(new RegExp("[ùúûü]","g"),"u"),pt=pt.replace(new RegExp("[ýÿ]","g"),"y"),pt}}},Ne=wt("i",{class:"dropdown icon"},null,-1),We=["data-vss-custom-attr"],He=["onClick"],Ge=["disabled","tabindex","id","name"],Xe=["data-vss-custom-attr","onClick","onMouseenter"];function Fe(gt,pt,H,yt,Z,K){return Dt(),jt("div",{class:Bt(["ui fluid search dropdown selection multiple",{"active visible":Z.showMenu,error:gt.isError,disabled:gt.isDisabled}]),onClick:pt[11]||(pt[11]=(...J)=>K.openOptions&&K.openOptions(...J)),onFocus:pt[12]||(pt[12]=(...J)=>K.openOptions&&K.openOptions(...J))},[Ne,H.hideSelectedOptions?se("",!0):(Dt(!0),jt(Ut,{key:0},Vt(H.selectedOptions,(J,it)=>(Dt(),jt("a",{key:it,class:"ui label transition visible",style:{display:"inline-block !important"},"data-vss-custom-attr":H.customAttr(J)},[Yt(gt.$slots,"selected",{option:J,idx:it},()=>[$t(zt(J.text),1),wt("i",{class:"delete icon",onClick:at=>K.deleteItem(J)},null,8,He)])],8,We))),128)),Ce(wt("input",{class:"search",autocomplete:"off",disabled:gt.isDisabled,tabindex:gt.isDisabled?-1:0,id:gt.id,name:gt.name,"onUpdate:modelValue":pt[0]||(pt[0]=J=>Z.searchText=J),ref:"input",style:ie(K.inputWidth),onFocus:pt[1]||(pt[1]=Ht((...J)=>K.openOptions&&K.openOptions(...J),["prevent"])),onKeyup:[pt[2]||(pt[2]=Nt((...J)=>K.closeOptions&&K.closeOptions(...J),["esc"])),pt[7]||(pt[7]=Nt(Ht((...J)=>K.enterItem&&K.enterItem(...J),["prevent"]),["enter"]))],onBlur:pt[3]||(pt[3]=(...J)=>K.blurInput&&K.blurInput(...J)),onKeydown:[pt[4]||(pt[4]=Nt((...J)=>K.prevItem&&K.prevItem(...J),["up"])),pt[5]||(pt[5]=Nt((...J)=>K.nextItem&&K.nextItem(...J),["down"])),pt[6]||(pt[6]=Nt(Ht(()=>{},["prevent"]),["enter"])),pt[8]||(pt[8]=Nt((...J)=>K.deleteTextOrLastItem&&K.deleteTextOrLastItem(...J),["delete"]))]},null,44,Ge),[[we,Z.searchText]]),wt("div",{class:Bt(["text",K.textClass])},zt(K.inputText),3),wt("div",{class:Bt(["menu",K.menuClass]),ref:"menu",onMousedown:pt[10]||(pt[10]=Ht(()=>{},["prevent"])),style:ie(K.menuStyle),tabindex:"-1"},[(Dt(!0),jt(Ut,null,Vt(K.filteredOptions,(J,it)=>(Dt(),jt("div",{key:it,class:Bt(["item",{selected:J.selected||Z.pointer===it,disabled:J.disabled}]),"data-vss-custom-attr":H.customAttr(J),onClick:Ht(at=>K.selectItem(J),["stop"]),onMousedown:pt[9]||(pt[9]=(...at)=>K.mousedownItem&&K.mousedownItem(...at)),onMouseenter:at=>K.pointerSet(it)},[Yt(gt.$slots,"default",{option:J,idx:it},()=>[$t(zt(J.text),1)])],42,Xe))),128))],38)],34)}const oi=ge(ze,[["render",Fe]]);var fe={exports:{}},me={exports:{}};(function(gt){(function(pt,H){gt.exports?(H.default=H,gt.exports=pt&&pt.document?H(pt):H):(pt.Highcharts&&pt.Highcharts.error(16,!0),pt.Highcharts=H(pt))})(typeof window<"u"?window:Me,function(pt){var H={};function yt(Z,K,J,it){!Z.hasOwnProperty(K)&&(Z[K]=it.apply(null,J),pt&&typeof CustomEvent=="function"&&pt.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:K,module:Z[K]}})))}return yt(H,"Core/Globals.js",[],function(){var Z,K;return(K=Z||(Z={})).SVG_NS="http://www.w3.org/2000/svg",K.product="Highcharts",K.version="11.4.8",K.win=pt!==void 0?pt:{},K.doc=K.win.document,K.svg=K.doc&&K.doc.createElementNS&&!!K.doc.createElementNS(K.SVG_NS,"svg").createSVGRect,K.userAgent=K.win.navigator&&K.win.navigator.userAgent||"",K.isChrome=K.win.chrome,K.isFirefox=K.userAgent.indexOf("Firefox")!==-1,K.isMS=/(edge|msie|trident)/i.test(K.userAgent)&&!K.win.opera,K.isSafari=!K.isChrome&&K.userAgent.indexOf("Safari")!==-1,K.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(K.userAgent),K.isWebKit=K.userAgent.indexOf("AppleWebKit")!==-1,K.deg2rad=2*Math.PI/360,K.hasBidiBug=K.isFirefox&&4>parseInt(K.userAgent.split("Firefox/")[1],10),K.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],K.noop=function(){},K.supportsPassiveEvents=function(){let J=!1;if(!K.isMS){let it=Object.defineProperty({},"passive",{get:function(){J=!0}});K.win.addEventListener&&K.win.removeEventListener&&(K.win.addEventListener("testPassive",K.noop,it),K.win.removeEventListener("testPassive",K.noop,it))}return J}(),K.charts=[],K.composed=[],K.dateFormats={},K.seriesTypes={},K.symbolSizes={},K.chartCount=0,Z}),yt(H,"Core/Utilities.js",[H["Core/Globals.js"]],function(Z){let K,{charts:J,doc:it,win:at}=Z;function ot(e,t,o,a){let f=t?"Highcharts error":"Highcharts warning";e===32&&(e=`${f}: Deprecated member`);let v=I(e),h=v?`${f} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(a!==void 0){let P="";v&&(h+="?"),x(a,function(Y,g){P+=`
|
|
2
2
|
- ${g}: ${Y}`,v&&(h+=encodeURI(g)+"="+encodeURI(Y))}),h+=P}u(Z,"displayError",{chart:o,code:e,message:h,params:a},function(){if(t)throw Error(h);at.console&&ot.messages.indexOf(h)===-1&&console.warn(h)}),ot.messages.push(h)}function dt(e,t){return parseInt(e,t||10)}function $(e){return typeof e=="string"}function q(e){let t=Object.prototype.toString.call(e);return t==="[object Array]"||t==="[object Array Iterator]"}function V(e,t){return!!e&&typeof e=="object"&&(!t||!q(e))}function C(e){return V(e)&&typeof e.nodeType=="number"}function R(e){let t=e&&e.constructor;return!!(V(e,!0)&&!C(e)&&t&&t.name&&t.name!=="Object")}function I(e){return typeof e=="number"&&!isNaN(e)&&e<1/0&&e>-1/0}function O(e){return e!=null}function m(e,t,o){let a,f=$(t)&&!O(o),v=(h,P)=>{O(h)?e.setAttribute(P,h):f?(a=e.getAttribute(P))||P!=="class"||(a=e.getAttribute(P+"Name")):e.removeAttribute(P)};return $(t)?v(o,t):x(t,v),a}function S(e){return q(e)?e:[e]}function k(e,t){let o;for(o in e||(e={}),t)e[o]=t[o];return e}function T(){let e=arguments,t=e.length;for(let o=0;o<t;o++){let a=e[o];if(a!=null)return a}}function p(e,t){k(e.style,t)}function b(e){return Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function D(e,t){return e>1e14?e:parseFloat(e.toPrecision(t||14))}(ot||(ot={})).messages=[],Math.easeInOutSine=function(e){return-.5*(Math.cos(Math.PI*e)-1)};let A=Array.prototype.find?function(e,t){return e.find(t)}:function(e,t){let o,a=e.length;for(o=0;o<a;o++)if(t(e[o],o))return e[o]};function x(e,t,o){for(let a in e)Object.hasOwnProperty.call(e,a)&&t.call(o||e[a],e[a],a,e)}function r(e,t,o){function a(h,P){let Y=e.removeEventListener;Y&&Y.call(e,h,P,!1)}function f(h){let P,Y;e.nodeName&&(t?(P={})[t]=!0:P=h,x(P,function(g,L){if(h[L])for(Y=h[L].length;Y--;)a(L,h[L][Y].fn)}))}let v=typeof e=="function"&&e.prototype||e;if(Object.hasOwnProperty.call(v,"hcEvents")){let h=v.hcEvents;if(t){let P=h[t]||[];o?(h[t]=P.filter(function(Y){return o!==Y.fn}),a(t,o)):(f(h),h[t]=[])}else f(h),delete v.hcEvents}}function u(e,t,o,a){if(o=o||{},it.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==Z)){let f=it.createEvent("Events");f.initEvent(t,!0,!0),o=k(f,o),e.dispatchEvent?e.dispatchEvent(o):e.fireEvent(t,o)}else if(e.hcEvents){o.target||k(o,{preventDefault:function(){o.defaultPrevented=!0},target:e,type:t});let f=[],v=e,h=!1;for(;v.hcEvents;)Object.hasOwnProperty.call(v,"hcEvents")&&v.hcEvents[t]&&(f.length&&(h=!0),f.unshift.apply(f,v.hcEvents[t])),v=Object.getPrototypeOf(v);h&&f.sort((P,Y)=>P.order-Y.order),f.forEach(P=>{P.fn.call(e,o)===!1&&o.preventDefault()})}a&&!o.defaultPrevented&&a.call(e,o)}x({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,t){Z[t]=function(o){return ot(32,!1,void 0,{[`Highcharts.${t}`]:`use Array.${e}`}),Array.prototype[e].apply(o,[].slice.call(arguments,1))}});let s=function(){let e=Math.random().toString(36).substring(2,9)+"-",t=0;return function(){return"highcharts-"+(K?"":e)+t++}}();return at.jQuery&&(at.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new Z[$(e[0])?e.shift():"Chart"](this[0],e[0],e[1]),this):J[m(this[0],"data-highcharts-chart")]}),{addEvent:function(e,t,o,a={}){let f=typeof e=="function"&&e.prototype||e;Object.hasOwnProperty.call(f,"hcEvents")||(f.hcEvents={});let v=f.hcEvents;Z.Point&&e instanceof Z.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let h=e.addEventListener;h&&h.call(e,t,o,!!Z.supportsPassiveEvents&&{passive:a.passive===void 0?t.indexOf("touch")!==-1:a.passive,capture:!1}),v[t]||(v[t]=[]);let P={fn:o,order:typeof a.order=="number"?a.order:1/0};return v[t].push(P),v[t].sort((Y,g)=>Y.order-g.order),function(){r(e,t,o)}},arrayMax:function(e){let t=e.length,o=e[0];for(;t--;)e[t]>o&&(o=e[t]);return o},arrayMin:function(e){let t=e.length,o=e[0];for(;t--;)e[t]<o&&(o=e[t]);return o},attr:m,clamp:function(e,t,o){return e>t?e<o?e:o:t},clearTimeout:function(e){O(e)&&clearTimeout(e)},correctFloat:D,createElement:function(e,t,o,a,f){let v=it.createElement(e);return t&&k(v,t),f&&p(v,{padding:"0",border:"none",margin:"0"}),o&&p(v,o),a&&a.appendChild(v),v},crisp:(e,t=0,o)=>{let a=t%2/2,f=o?-1:1;return(Math.round(e*f-a)+a)*f},css:p,defined:O,destroyObjectProperties:function(e,t,o){x(e,function(a,f){a!==t&&(a!=null&&a.destroy)&&a.destroy(),(a!=null&&a.destroy||!o)&&delete e[f]})},diffObjects:function(e,t,o,a){let f={};return function v(h,P,Y,g){let L=o?P:h;x(h,function(B,G){if(!g&&a&&a.indexOf(G)>-1&&P[G]){B=S(B),Y[G]=[];for(let et=0;et<Math.max(B.length,P[G].length);et++)P[G][et]&&(B[et]===void 0?Y[G][et]=P[G][et]:(Y[G][et]={},v(B[et],P[G][et],Y[G][et],g+1)))}else V(B,!0)&&!B.nodeType?(Y[G]=q(B)?[]:{},v(B,P[G]||{},Y[G],g+1),Object.keys(Y[G]).length!==0||G==="colorAxis"&&g===0||delete Y[G]):(h[G]!==P[G]||G in h&&!(G in P))&&G!=="__proto__"&&G!=="constructor"&&(Y[G]=L[G])})}(e,t,f,0),f},discardElement:function(e){e&&e.parentElement&&e.parentElement.removeChild(e)},erase:function(e,t){let o=e.length;for(;o--;)if(e[o]===t){e.splice(o,1);break}},error:ot,extend:k,extendClass:function(e,t){let o=function(){};return o.prototype=new e,k(o.prototype,t),o},find:A,fireEvent:u,getClosestDistance:function(e,t){let o,a,f,v=!t;return e.forEach(h=>{if(h.length>1)for(f=h.length-1;f>0;f--)(a=h[f]-h[f-1])<0&&!v?(t==null||t(),t=void 0):a&&(o===void 0||a<o)&&(o=a)}),o},getMagnitude:b,getNestedProperty:function(e,t){let o=e.split(".");for(;o.length&&O(t);){let a=o.shift();if(a===void 0||a==="__proto__")return;if(a==="this"){let v;return V(t)&&(v=t["@this"]),v??t}let f=t[a];if(!O(f)||typeof f=="function"||typeof f.nodeType=="number"||f===at)return;t=f}return t},getStyle:function e(t,o,a){let f;if(o==="width"){let h=Math.min(t.offsetWidth,t.scrollWidth),P=t.getBoundingClientRect&&t.getBoundingClientRect().width;return P<h&&P>=h-1&&(h=Math.floor(P)),Math.max(0,h-(e(t,"padding-left",!0)||0)-(e(t,"padding-right",!0)||0))}if(o==="height")return Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-(e(t,"padding-top",!0)||0)-(e(t,"padding-bottom",!0)||0));let v=at.getComputedStyle(t,void 0);return v&&(f=v.getPropertyValue(o),T(a,o!=="opacity")&&(f=dt(f))),f},inArray:function(e,t,o){return ot(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),t.indexOf(e,o)},insertItem:function(e,t){let o,a=e.options.index,f=t.length;for(o=e.options.isInternal?f:0;o<f+1;o++)if(!t[o]||I(a)&&a<T(t[o].options.index,t[o]._i)||t[o].options.isInternal){t.splice(o,0,e);break}return o},isArray:q,isClass:R,isDOMElement:C,isFunction:function(e){return typeof e=="function"},isNumber:I,isObject:V,isString:$,keys:function(e){return ot(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(e)},merge:function(){let e,t=arguments,o={},a=function(v,h){return typeof v!="object"&&(v={}),x(h,function(P,Y){Y!=="__proto__"&&Y!=="constructor"&&(!V(P,!0)||R(P)||C(P)?v[Y]=h[Y]:v[Y]=a(v[Y]||{},P))}),v};t[0]===!0&&(o=t[1],t=Array.prototype.slice.call(t,2));let f=t.length;for(e=0;e<f;e++)o=a(o,t[e]);return o},normalizeTickInterval:function(e,t,o,a,f){let v,h=e;o=T(o,b(e));let P=e/o;for(!t&&(t=f?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],a===!1&&(o===1?t=t.filter(function(Y){return Y%1==0}):o<=.1&&(t=[1/o]))),v=0;v<t.length&&(h=t[v],(!f||!(h*o>=e))&&(f||!(P<=(t[v]+(t[v+1]||t[v]))/2)));v++);return D(h*o,-Math.round(Math.log(.001)/Math.LN10))},objectEach:x,offset:function(e){let t=it.documentElement,o=e.parentElement||e.parentNode?e.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:o.top+(at.pageYOffset||t.scrollTop)-(t.clientTop||0),left:o.left+(at.pageXOffset||t.scrollLeft)-(t.clientLeft||0),width:o.width,height:o.height}},pad:function(e,t,o){return Array((t||2)+1-String(e).replace("-","").length).join(o||"0")+e},pick:T,pInt:dt,pushUnique:function(e,t){return 0>e.indexOf(t)&&!!e.push(t)},relativeLength:function(e,t,o){return/%$/.test(e)?t*parseFloat(e)/100+(o||0):parseFloat(e)},removeEvent:r,replaceNested:function(e,...t){let o,a;do for(a of(o=e,t))e=e.replace(a[0],a[1]);while(e!==o);return e},splat:S,stableSort:function(e,t){let o,a,f=e.length;for(a=0;a<f;a++)e[a].safeI=a;for(e.sort(function(v,h){return(o=t(v,h))===0?v.safeI-h.safeI:o}),a=0;a<f;a++)delete e[a].safeI},syncTimeout:function(e,t,o){return t>0?setTimeout(e,t,o):(e.call(0,o),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:s,useSerialIds:function(e){return K=T(e,K)},wrap:function(e,t,o){let a=e[t];e[t]=function(){let f=arguments,v=this;return o.apply(this,[function(){return a.apply(v,arguments.length?arguments:f)}].concat([].slice.call(arguments)))}}}}),yt(H,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),yt(H,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),yt(H,"Core/Time.js",[H["Core/Globals.js"],H["Core/Utilities.js"]],function(Z,K){let{win:J}=Z,{defined:it,error:at,extend:ot,isNumber:dt,isObject:$,merge:q,objectEach:V,pad:C,pick:R,splat:I,timeUnits:O}=K,m=Z.isSafari&&J.Intl&&J.Intl.DateTimeFormat.prototype.formatRange,S=Z.isSafari&&J.Intl&&!J.Intl.DateTimeFormat.prototype.formatRange;class k{constructor(p){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=J.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(p)}get(p,b){if(this.variableTimezone||this.timezoneOffset){let D=b.getTime(),A=D-this.getTimezoneOffset(b);b.setTime(A);let x=b["getUTC"+p]();return b.setTime(D),x}return this.useUTC?b["getUTC"+p]():b["get"+p]()}set(p,b,D){if(this.variableTimezone||this.timezoneOffset){if(p==="Milliseconds"||p==="Seconds"||p==="Minutes"&&this.getTimezoneOffset(b)%36e5==0)return b["setUTC"+p](D);let A=this.getTimezoneOffset(b),x=b.getTime()-A;b.setTime(x),b["setUTC"+p](D);let r=this.getTimezoneOffset(b);return x=b.getTime()+r,b.setTime(x)}return this.useUTC||m&&p==="FullYear"?b["setUTC"+p](D):b["set"+p](D)}update(p={}){let b=R(p.useUTC,!0);this.options=p=q(!0,this.options,p),this.Date=p.Date||J.Date||Date,this.useUTC=b,this.timezoneOffset=b&&p.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=b&&!!(p.getTimezoneOffset||p.timezone)}makeTime(p,b,D,A,x,r){let u,s,e;return this.useUTC?(u=this.Date.UTC.apply(0,arguments),s=this.getTimezoneOffset(u),u+=s,s!==(e=this.getTimezoneOffset(u))?u+=e-s:s-36e5!==this.getTimezoneOffset(u-36e5)||S||(u-=36e5)):u=new this.Date(p,b,R(D,1),R(A,0),R(x,0),R(r,0)).getTime(),u}timezoneOffsetFunction(){let p=this,b=this.options,D=b.getTimezoneOffset;return this.useUTC?b.timezone?A=>{try{let x=`shortOffset,${b.timezone||""}`,[r,u,s,e,t=0]=(k.formatCache[x]=k.formatCache[x]||Intl.DateTimeFormat("en",{timeZone:b.timezone,timeZoneName:"shortOffset"})).format(A).split(/(GMT|:)/).map(Number),o=-(36e5*(s+t/60));if(dt(o))return o}catch{at(34)}return 0}:this.useUTC&&D?A=>6e4*D(A.valueOf()):()=>6e4*(p.timezoneOffset||0):A=>6e4*new Date(A.toString()).getTimezoneOffset()}dateFormat(p,b,D){if(!it(b)||isNaN(b))return Z.defaultOptions.lang&&Z.defaultOptions.lang.invalidDate||"";p=R(p,"%Y-%m-%d %H:%M:%S");let A=this,x=new this.Date(b),r=this.get("Hours",x),u=this.get("Day",x),s=this.get("Date",x),e=this.get("Month",x),t=this.get("FullYear",x),o=Z.defaultOptions.lang,a=o&&o.weekdays,f=o&&o.shortWeekdays;return V(ot({a:f?f[u]:a[u].substr(0,3),A:a[u],d:C(s),e:C(s,2," "),w:u,b:o.shortMonths[e],B:o.months[e],m:C(e+1),o:e+1,y:t.toString().substr(2,2),Y:t,H:C(r),k:r,I:C(r%12||12),l:r%12||12,M:C(this.get("Minutes",x)),p:r<12?"AM":"PM",P:r<12?"am":"pm",S:C(this.get("Seconds",x)),L:C(Math.floor(b%1e3),3)},Z.dateFormats),function(v,h){for(;p.indexOf("%"+h)!==-1;)p=p.replace("%"+h,typeof v=="function"?v.call(A,b):v)}),D?p.substr(0,1).toUpperCase()+p.substr(1):p}resolveDTLFormat(p){return $(p,!0)?p:{main:(p=I(p))[0],from:p[1],to:p[2]}}getTimeTicks(p,b,D,A){let x,r,u,s,e=this,t=e.Date,o=[],a={},f=new t(b),v=p.unitRange,h=p.count||1;if(A=R(A,1),it(b)){e.set("Milliseconds",f,v>=O.second?0:h*Math.floor(e.get("Milliseconds",f)/h)),v>=O.second&&e.set("Seconds",f,v>=O.minute?0:h*Math.floor(e.get("Seconds",f)/h)),v>=O.minute&&e.set("Minutes",f,v>=O.hour?0:h*Math.floor(e.get("Minutes",f)/h)),v>=O.hour&&e.set("Hours",f,v>=O.day?0:h*Math.floor(e.get("Hours",f)/h)),v>=O.day&&e.set("Date",f,v>=O.month?1:Math.max(1,h*Math.floor(e.get("Date",f)/h))),v>=O.month&&(e.set("Month",f,v>=O.year?0:h*Math.floor(e.get("Month",f)/h)),r=e.get("FullYear",f)),v>=O.year&&(r-=r%h,e.set("FullYear",f,r)),v===O.week&&(s=e.get("Day",f),e.set("Date",f,e.get("Date",f)-s+A+(s<A?-7:0))),r=e.get("FullYear",f);let P=e.get("Month",f),Y=e.get("Date",f),g=e.get("Hours",f);b=f.getTime(),(e.variableTimezone||!e.useUTC)&&it(D)&&(u=D-b>4*O.month||e.getTimezoneOffset(b)!==e.getTimezoneOffset(D));let L=f.getTime();for(x=1;L<D;)o.push(L),v===O.year?L=e.makeTime(r+x*h,0):v===O.month?L=e.makeTime(r,P+x*h):u&&(v===O.day||v===O.week)?L=e.makeTime(r,P,Y+x*h*(v===O.day?1:7)):u&&v===O.hour&&h>1?L=e.makeTime(r,P,Y,g+x*h):L+=v*h,x++;o.push(L),v<=O.hour&&o.length<1e4&&o.forEach(function(B){B%18e5==0&&e.dateFormat("%H%M%S%L",B)==="000000000"&&(a[B]="day")})}return o.info=ot(p,{higherRanks:a,totalRange:v*h}),o}getDateFormat(p,b,D,A){let x=this.dateFormat("%m-%d %H:%M:%S.%L",b),r="01-01 00:00:00.000",u={millisecond:15,second:12,minute:9,hour:6,day:3},s="millisecond",e=s;for(s in O){if(p===O.week&&+this.dateFormat("%w",b)===D&&x.substr(6)===r.substr(6)){s="week";break}if(O[s]>p){s=e;break}if(u[s]&&x.substr(u[s])!==r.substr(u[s]))break;s!=="week"&&(e=s)}return this.resolveDTLFormat(A[s]).main}}return k.formatCache={},k}),yt(H,"Core/Defaults.js",[H["Core/Chart/ChartDefaults.js"],H["Core/Globals.js"],H["Core/Color/Palettes.js"],H["Core/Time.js"],H["Core/Utilities.js"]],function(Z,K,J,it,at){let{isTouchDevice:ot}=K,{fireEvent:dt,merge:$}=at,q={colors:J.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:Z,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:C=>Math.sqrt(1-Math.pow(C-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:ot?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};q.chart.styledMode=!1;let V=new it(q.time);return{defaultOptions:q,defaultTime:V,getOptions:function(){return q},setOptions:function(C){return dt(K,"setOptions",{options:C}),$(!0,q,C),(C.time||C.global)&&(K.time?K.time.update($(q.global,q.time,C.global,C.time)):K.time=V),q}}}),yt(H,"Core/Color/Color.js",[H["Core/Globals.js"],H["Core/Utilities.js"]],function(Z,K){let{isNumber:J,merge:it,pInt:at}=K;class ot{static parse($){return $?new ot($):ot.None}constructor($){let q,V,C,R;this.rgba=[NaN,NaN,NaN,NaN],this.input=$;let I=Z.Color;if(I&&I!==ot)return new I($);if(typeof $=="object"&&$.stops!==void 0)this.stops=$.stops.map(O=>new ot(O[1]));else if(typeof $=="string"){if(this.input=$=ot.names[$.toLowerCase()]||$,$.charAt(0)==="#"){let O=$.length,m=parseInt($.substr(1),16);O===7?V=[(16711680&m)>>16,(65280&m)>>8,255&m,1]:O===4&&(V=[(3840&m)>>4|(3840&m)>>8,(240&m)>>4|240&m,(15&m)<<4|15&m,1])}if(!V)for(C=ot.parsers.length;C--&&!V;)(q=(R=ot.parsers[C]).regex.exec($))&&(V=R.parse(q))}V&&(this.rgba=V)}get($){let q=this.input,V=this.rgba;if(typeof q=="object"&&this.stops!==void 0){let C=it(q);return C.stops=[].slice.call(C.stops),this.stops.forEach((R,I)=>{C.stops[I]=[C.stops[I][0],R.get($)]}),C}return V&&J(V[0])?$!=="rgb"&&($||V[3]!==1)?$==="a"?`${V[3]}`:"rgba("+V.join(",")+")":"rgb("+V[0]+","+V[1]+","+V[2]+")":q}brighten($){let q=this.rgba;if(this.stops)this.stops.forEach(function(V){V.brighten($)});else if(J($)&&$!==0)for(let V=0;V<3;V++)q[V]+=at(255*$),q[V]<0&&(q[V]=0),q[V]>255&&(q[V]=255);return this}setOpacity($){return this.rgba[3]=$,this}tweenTo($,q){let V=this.rgba,C=$.rgba;if(!J(V[0])||!J(C[0]))return $.input||"none";let R=C[3]!==1||V[3]!==1;return(R?"rgba(":"rgb(")+Math.round(C[0]+(V[0]-C[0])*(1-q))+","+Math.round(C[1]+(V[1]-C[1])*(1-q))+","+Math.round(C[2]+(V[2]-C[2])*(1-q))+(R?","+(C[3]+(V[3]-C[3])*(1-q)):"")+")"}}return ot.names={white:"#ffffff",black:"#000000"},ot.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(dt){return[at(dt[1]),at(dt[2]),at(dt[3]),parseFloat(dt[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(dt){return[at(dt[1]),at(dt[2]),at(dt[3]),1]}}],ot.None=new ot(""),ot}),yt(H,"Core/Animation/Fx.js",[H["Core/Color/Color.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(Z,K,J){let{parse:it}=Z,{win:at}=K,{isNumber:ot,objectEach:dt}=J;class ${constructor(V,C,R){this.pos=NaN,this.options=C,this.elem=V,this.prop=R}dSetter(){let V=this.paths,C=V&&V[0],R=V&&V[1],I=this.now||0,O=[];if(I!==1&&C&&R)if(C.length===R.length&&I<1)for(let m=0;m<R.length;m++){let S=C[m],k=R[m],T=[];for(let p=0;p<k.length;p++){let b=S[p],D=k[p];ot(b)&&ot(D)&&!(k[0]==="A"&&(p===4||p===5))?T[p]=b+I*(D-b):T[p]=D}O.push(T)}else O=R;else O=this.toD||[];this.elem.attr("d",O,void 0,!0)}update(){let V=this.elem,C=this.prop,R=this.now,I=this.options.step;this[C+"Setter"]?this[C+"Setter"]():V.attr?V.element&&V.attr(C,R,null,!0):V.style[C]=R+this.unit,I&&I.call(V,R,this)}run(V,C,R){let I=this,O=I.options,m=function(T){return!m.stopped&&I.step(T)},S=at.requestAnimationFrame||function(T){setTimeout(T,13)},k=function(){for(let T=0;T<$.timers.length;T++)$.timers[T]()||$.timers.splice(T--,1);$.timers.length&&S(k)};V!==C||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=V,this.end=C,this.unit=R,this.now=this.start,this.pos=0,m.elem=this.elem,m.prop=this.prop,m()&&$.timers.push(m)===1&&S(k)):(delete O.curAnim[this.prop],O.complete&&Object.keys(O.curAnim).length===0&&O.complete.call(this.elem))}step(V){let C,R,I=+new Date,O=this.options,m=this.elem,S=O.complete,k=O.duration,T=O.curAnim;return m.attr&&!m.element?C=!1:V||I>=k+this.startTime?(this.now=this.end,this.pos=1,this.update(),T[this.prop]=!0,R=!0,dt(T,function(p){p!==!0&&(R=!1)}),R&&S&&S.call(m),C=!1):(this.pos=O.easing((I-this.startTime)/k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),C=!0),C}initPath(V,C,R){let I=V.startX,O=V.endX,m=R.slice(),S=V.isArea,k=S?2:1,T=C&&R.length>C.length&&R.hasStackedCliffs,p,b,D,A,x=C&&C.slice();if(!x||T)return[m,m];function r(s,e){for(;s.length<b;){let t=s[0],o=e[b-s.length];if(o&&t[0]==="M"&&(o[0]==="C"?s[0]=["C",t[1],t[2],t[1],t[2],t[1],t[2]]:s[0]=["L",t[1],t[2]]),s.unshift(t),S){let a=s.pop();s.push(s[s.length-1],a)}}}function u(s){for(;s.length<b;){let e=s[Math.floor(s.length/k)-1].slice();if(e[0]==="C"&&(e[1]=e[5],e[2]=e[6]),S){let t=s[Math.floor(s.length/k)].slice();s.splice(s.length/2,0,e,t)}else s.push(e)}}if(I&&O&&O.length){for(D=0;D<I.length;D++){if(I[D]===O[0]){p=D;break}if(I[0]===O[O.length-I.length+D]){p=D,A=!0;break}if(I[I.length-1]===O[O.length-I.length+D]){p=I.length-D;break}}p===void 0&&(x=[])}return x.length&&ot(p)&&(b=m.length+p*k,A?(r(x,m),u(m)):(r(m,x),u(x))),[x,m]}fillSetter(){$.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,it(this.start).tweenTo(it(this.end),this.pos),void 0,!0)}}return $.timers=[],$}),yt(H,"Core/Animation/AnimationUtilities.js",[H["Core/Animation/Fx.js"],H["Core/Utilities.js"]],function(Z,K){let{defined:J,getStyle:it,isArray:at,isNumber:ot,isObject:dt,merge:$,objectEach:q,pick:V}=K;function C(I){return dt(I)?$({duration:500,defer:0},I):{duration:I?500:0,defer:0}}function R(I,O){let m=Z.timers.length;for(;m--;)Z.timers[m].elem!==I||O&&O!==Z.timers[m].prop||(Z.timers[m].stopped=!0)}return{animate:function(I,O,m){let S,k="",T,p,b;dt(m)||(b=arguments,m={duration:b[2],easing:b[3],complete:b[4]}),ot(m.duration)||(m.duration=400),m.easing=typeof m.easing=="function"?m.easing:Math[m.easing]||Math.easeInOutSine,m.curAnim=$(O),q(O,function(D,A){R(I,A),p=new Z(I,m,A),T=void 0,A==="d"&&at(O.d)?(p.paths=p.initPath(I,I.pathArray,O.d),p.toD=O.d,S=0,T=1):I.attr?S=I.attr(A):(S=parseFloat(it(I,A))||0,A!=="opacity"&&(k="px")),T||(T=D),typeof T=="string"&&T.match("px")&&(T=T.replace(/px/g,"")),p.run(S,T,k)})},animObject:C,getDeferredAnimation:function(I,O,m){let S=C(O),k=m?[m]:I.series,T=0,p=0;return k.forEach(b=>{let D=C(b.options.animation);T=dt(O)&&J(O.defer)?S.defer:Math.max(T,D.duration+D.defer),p=Math.min(S.duration,D.duration)}),I.renderer.forExport&&(T=0),{defer:Math.max(0,T-p),duration:Math.min(T,p)}},setAnimation:function(I,O){O.renderer.globalAnimation=V(I,O.options.chart.animation,!0)},stop:R}}),yt(H,"Core/Renderer/HTML/AST.js",[H["Core/Globals.js"],H["Core/Utilities.js"]],function(Z,K){let{SVG_NS:J,win:it}=Z,{attr:at,createElement:ot,css:dt,error:$,isFunction:q,isString:V,objectEach:C,splat:R}=K,{trustedTypes:I}=it,O=I&&q(I.createPolicy)&&I.createPolicy("highcharts",{createHTML:T=>T}),m=O?O.createHTML(""):"",S=function(){try{return!!new DOMParser().parseFromString(m,"text/html")}catch{return!1}}();class k{static filterUserAttributes(p){return C(p,(b,D)=>{let A=!0;k.allowedAttributes.indexOf(D)===-1&&(A=!1),["background","dynsrc","href","lowsrc","src"].indexOf(D)!==-1&&(A=V(b)&&k.allowedReferences.some(x=>b.indexOf(x)===0)),A||($(33,!1,void 0,{"Invalid attribute in config":`${D}`}),delete p[D]),V(b)&&p[D]&&(p[D]=b.replace(/</g,"<"))}),p}static parseStyle(p){return p.split(";").reduce((b,D)=>{let A=D.split(":").map(r=>r.trim()),x=A.shift();return x&&A.length&&(b[x.replace(/-([a-z])/g,r=>r[1].toUpperCase())]=A.join(":")),b},{})}static setElementHTML(p,b){p.innerHTML=k.emptyHTML,b&&new k(b).addToDOM(p)}constructor(p){this.nodes=typeof p=="string"?this.parseMarkup(p):p}addToDOM(p){return function b(D,A){let x;return R(D).forEach(function(r){let u,s=r.tagName,e=r.textContent?Z.doc.createTextNode(r.textContent):void 0,t=k.bypassHTMLFiltering;if(s)if(s==="#text")u=e;else if(k.allowedTags.indexOf(s)!==-1||t){let o=s==="svg"?J:A.namespaceURI||J,a=Z.doc.createElementNS(o,s),f=r.attributes||{};C(r,function(v,h){h!=="tagName"&&h!=="attributes"&&h!=="children"&&h!=="style"&&h!=="textContent"&&(f[h]=v)}),at(a,t?f:k.filterUserAttributes(f)),r.style&&dt(a,r.style),e&&a.appendChild(e),b(r.children||[],a),u=a}else $(33,!1,void 0,{"Invalid tagName in config":s});u&&A.appendChild(u),x=u}),x}(this.nodes,p)}parseMarkup(p){let b,D=[];if(p=p.trim().replace(/ style=(["'])/g," data-style=$1"),S)b=new DOMParser().parseFromString(O?O.createHTML(p):p,"text/html");else{let x=ot("div");x.innerHTML=p,b={body:x}}let A=(x,r)=>{let u=x.nodeName.toLowerCase(),s={tagName:u};u==="#text"&&(s.textContent=x.textContent||"");let e=x.attributes;if(e){let t={};[].forEach.call(e,o=>{o.name==="data-style"?s.style=k.parseStyle(o.value):t[o.name]=o.value}),s.attributes=t}if(x.childNodes.length){let t=[];[].forEach.call(x.childNodes,o=>{A(o,t)}),t.length&&(s.children=t)}r.push(s)};return[].forEach.call(b.body.childNodes,x=>A(x,D)),D}}return k.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],k.allowedReferences=["https://","http://","mailto:","/","../","./","#"],k.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],k.emptyHTML=m,k.bypassHTMLFiltering=!1,k}),yt(H,"Core/Templating.js",[H["Core/Defaults.js"],H["Core/Utilities.js"]],function(Z,K){let{defaultOptions:J,defaultTime:it}=Z,{extend:at,getNestedProperty:ot,isArray:dt,isNumber:$,isObject:q,pick:V,pInt:C}=K,R={add:(m,S)=>m+S,divide:(m,S)=>S!==0?m/S:"",eq:(m,S)=>m==S,each:function(m){let S=arguments[arguments.length-1];return!!dt(m)&&m.map((k,T)=>I(S.body,at(q(k)?k:{"@this":k},{"@index":T,"@first":T===0,"@last":T===m.length-1}))).join("")},ge:(m,S)=>m>=S,gt:(m,S)=>m>S,if:m=>!!m,le:(m,S)=>m<=S,lt:(m,S)=>m<S,multiply:(m,S)=>m*S,ne:(m,S)=>m!=S,subtract:(m,S)=>m-S,unless:m=>!m};function I(m="",S,k){let T=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,p=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,b=[],D=/f$/,A=/\.(\d)/,x=J.lang,r=k&&k.time||it,u=k&&k.numberFormatter||O,s=(f="")=>{let v;return f==="true"||f!=="false"&&((v=Number(f)).toString()===f?v:ot(f,S))},e,t,o=0,a;for(;(e=T.exec(m))!==null;){let f=p.exec(e[1]);f&&(e=f,a=!0),t&&t.isBlock||(t={ctx:S,expression:e[1],find:e[0],isBlock:e[1].charAt(0)==="#",start:e.index,startInner:e.index+e[0].length,length:e[0].length});let v=e[1].split(" ")[0].replace("#","");R[v]&&(t.isBlock&&v===t.fn&&o++,t.fn||(t.fn=v));let h=e[1]==="else";if(t.isBlock&&t.fn&&(e[1]===`/${t.fn}`||h))if(o)!h&&o--;else{let P=t.startInner,Y=m.substr(P,e.index-P);t.body===void 0?(t.body=Y,t.startInner=e.index+e[0].length):t.elseBody=Y,t.find+=Y+e[0],h||(b.push(t),t=void 0)}else t.isBlock||b.push(t);if(f&&!(t!=null&&t.isBlock))break}return b.forEach(f=>{let v,h,{body:P,elseBody:Y,expression:g,fn:L}=f;if(L){let B=[f],G=g.split(" ");for(h=R[L].length;h--;)B.unshift(s(G[h+1]));v=R[L].apply(S,B),f.isBlock&&typeof v=="boolean"&&(v=I(v?P:Y,S,k))}else{let B=g.split(":");if(v=s(B.shift()||""),B.length&&typeof v=="number"){let G=B.join(":");if(D.test(G)){let et=parseInt((G.match(A)||["","-1"])[1],10);v!==null&&(v=u(v,et,x.decimalPoint,G.indexOf(",")>-1?x.thousandsSep:""))}else v=r.dateFormat(G,v)}}m=m.replace(f.find,V(v,""))}),a?I(m,S,k):m}function O(m,S,k,T){let p,b;m=+m||0,S=+S;let D=J.lang,A=(m.toString().split(".")[1]||"").split("e")[0].length,x=m.toString().split("e"),r=S;S===-1?S=Math.min(A,20):$(S)?S&&x[1]&&x[1]<0&&((b=S+ +x[1])>=0?(x[0]=(+x[0]).toExponential(b).split("e")[0],S=b):(x[0]=x[0].split(".")[0]||0,m=S<20?(x[0]*Math.pow(10,x[1])).toFixed(S):0,x[1]=0)):S=2;let u=(Math.abs(x[1]?x[0]:m)+Math.pow(10,-Math.max(S,A)-1)).toFixed(S),s=String(C(u)),e=s.length>3?s.length%3:0;return k=V(k,D.decimalPoint),T=V(T,D.thousandsSep),p=(m<0?"-":"")+(e?s.substr(0,e)+T:""),0>+x[1]&&!r?p="0":p+=s.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+T),S?p+=k+u.slice(-S):+p==0&&(p="0"),x[1]&&+p!=0&&(p+="e"+x[1]),p}return{dateFormat:function(m,S,k){return it.dateFormat(m,S,k)},format:I,helpers:R,numberFormat:O}}),yt(H,"Core/Renderer/RendererRegistry.js",[H["Core/Globals.js"]],function(Z){var K,J;let it;return(J=K||(K={})).rendererTypes={},J.getRendererType=function(at=it){return J.rendererTypes[at]||J.rendererTypes[it]},J.registerRendererType=function(at,ot,dt){J.rendererTypes[at]=ot,(!it||dt)&&(it=at,Z.Renderer=ot)},K}),yt(H,"Core/Renderer/RendererUtilities.js",[H["Core/Utilities.js"]],function(Z){var K;let{clamp:J,pick:it,pushUnique:at,stableSort:ot}=Z;return(K||(K={})).distribute=function dt($,q,V){let C=$,R=C.reducedLen||q,I=(s,e)=>s.target-e.target,O=[],m=$.length,S=[],k=O.push,T,p,b,D=!0,A,x,r=0,u;for(T=m;T--;)r+=$[T].size;if(r>R){for(ot($,(s,e)=>(e.rank||0)-(s.rank||0)),b=(u=$[0].rank===$[$.length-1].rank)?m/2:-1,p=u?b:m-1;b&&r>R;)A=$[T=Math.floor(p)],at(S,T)&&(r-=A.size),p+=b,u&&p>=$.length&&(b/=2,p=b);S.sort((s,e)=>e-s).forEach(s=>k.apply(O,$.splice(s,1)))}for(ot($,I),$=$.map(s=>({size:s.size,targets:[s.target],align:it(s.align,.5)}));D;){for(T=$.length;T--;)A=$[T],x=(Math.min.apply(0,A.targets)+Math.max.apply(0,A.targets))/2,A.pos=J(x-A.size*A.align,0,q-A.size);for(T=$.length,D=!1;T--;)T>0&&$[T-1].pos+$[T-1].size>$[T].pos&&($[T-1].size+=$[T].size,$[T-1].targets=$[T-1].targets.concat($[T].targets),$[T-1].align=.5,$[T-1].pos+$[T-1].size>q&&($[T-1].pos=q-$[T-1].size),$.splice(T,1),D=!0)}return k.apply(C,O),T=0,$.some(s=>{let e=0;return(s.targets||[]).some(()=>(C[T].pos=s.pos+e,V!==void 0&&Math.abs(C[T].pos-C[T].target)>V?(C.slice(0,T+1).forEach(t=>delete t.pos),C.reducedLen=(C.reducedLen||q)-.1*q,C.reducedLen>.1*q&&dt(C,q,V),!0):(e+=C[T].size,T++,!1)))}),ot(C,I),C},K}),yt(H,"Core/Renderer/SVG/SVGElement.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Color/Color.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(Z,K,J,it){let{animate:at,animObject:ot,stop:dt}=Z,{deg2rad:$,doc:q,svg:V,SVG_NS:C,win:R}=J,{addEvent:I,attr:O,createElement:m,crisp:S,css:k,defined:T,erase:p,extend:b,fireEvent:D,isArray:A,isFunction:x,isObject:r,isString:u,merge:s,objectEach:e,pick:t,pInt:o,pushUnique:a,replaceNested:f,syncTimeout:v,uniqueKey:h}=it;class P{_defaultGetter(g){let L=t(this[g+"Value"],this[g],this.element?this.element.getAttribute(g):null,0);return/^-?[\d\.]+$/.test(L)&&(L=parseFloat(L)),L}_defaultSetter(g,L,B){B.setAttribute(L,g)}add(g){let L,B=this.renderer,G=this.element;return g&&(this.parentGroup=g),this.textStr!==void 0&&this.element.nodeName==="text"&&B.buildText(this),this.added=!0,(!g||g.handleZ||this.zIndex)&&(L=this.zIndexSetter()),L||(g?g.element:B.box).appendChild(G),this.onAdd&&this.onAdd(),this}addClass(g,L){let B=L?"":this.attr("class")||"";return(g=(g||"").split(/ /g).reduce(function(G,et){return B.indexOf(et)===-1&&G.push(et),G},B?[B]:[]).join(" "))!==B&&this.attr("class",g),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(g,L,B,G=!0){let et,l,n,y,j={},i=this.renderer,c=i.alignedObjects,d=!!g;g?(this.alignOptions=g,this.alignByTranslate=L,this.alignTo=B):(g=this.alignOptions||{},L=this.alignByTranslate,B=this.alignTo);let M=!B||u(B)?B||"renderer":void 0;M&&(d&&a(c,this),B=void 0);let w=t(B,i[M],i),z=g.align,X=g.verticalAlign;return et=(w.x||0)+(g.x||0),l=(w.y||0)+(g.y||0),z==="right"?n=1:z==="center"&&(n=2),n&&(et+=((w.width||0)-(g.width||0))/n),j[L?"translateX":"x"]=Math.round(et),X==="bottom"?y=1:X==="middle"&&(y=2),y&&(l+=((w.height||0)-(g.height||0))/y),j[L?"translateY":"y"]=Math.round(l),G&&(this[this.placed?"animate":"attr"](j),this.placed=!0),this.alignAttr=j,this}alignSetter(g){let L={left:"start",center:"middle",right:"end"};L[g]&&(this.alignValue=g,this.element.setAttribute("text-anchor",L[g]))}animate(g,L,B){let G=ot(t(L,this.renderer.globalAnimation,!0)),et=G.defer;return q.hidden&&(G.duration=0),G.duration!==0?(B&&(G.complete=B),v(()=>{this.element&&at(this,g,G)},et)):(this.attr(g,void 0,B||G.complete),e(g,function(l,n){G.step&&G.step.call(this,l,{prop:n,pos:1,elem:this})},this)),this}applyTextOutline(g){let L=this.element;g.indexOf("contrast")!==-1&&(g=g.replace(/contrast/g,this.renderer.getContrast(L.style.fill)));let B=g.split(" "),G=B[B.length-1],et=B[0];if(et&&et!=="none"&&J.svg){this.fakeTS=!0,et=et.replace(/(^[\d\.]+)(.*?)$/g,function(i,c,d){return 2*Number(c)+d}),this.removeTextOutline();let l=q.createElementNS(C,"tspan");O(l,{class:"highcharts-text-outline",fill:G,stroke:G,"stroke-width":et,"stroke-linejoin":"round"});let n=L.querySelector("textPath")||L;[].forEach.call(n.childNodes,i=>{let c=i.cloneNode(!0);c.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(d=>c.removeAttribute(d)),l.appendChild(c)});let y=0;[].forEach.call(n.querySelectorAll("text tspan"),i=>{y+=Number(i.getAttribute("dy"))});let j=q.createElementNS(C,"tspan");j.textContent="",O(j,{x:Number(L.getAttribute("x")),dy:-y}),l.appendChild(j),n.insertBefore(l,n.firstChild)}}attr(g,L,B,G){let{element:et}=this,l=P.symbolCustomAttribs,n,y,j=this,i;return typeof g=="string"&&L!==void 0&&(n=g,(g={})[n]=L),typeof g=="string"?j=(this[g+"Getter"]||this._defaultGetter).call(this,g,et):(e(g,function(c,d){i=!1,G||dt(this,d),this.symbolName&&l.indexOf(d)!==-1&&(y||(this.symbolAttr(g),y=!0),i=!0),this.rotation&&(d==="x"||d==="y")&&(this.doTransform=!0),i||(this[d+"Setter"]||this._defaultSetter).call(this,c,d,et)},this),this.afterSetters()),B&&B.call(this),j}clip(g){if(g&&!g.clipPath){let L=h()+"-",B=this.renderer.createElement("clipPath").attr({id:L}).add(this.renderer.defs);b(g,{clipPath:B,id:L,count:0}),g.add(B)}return this.attr("clip-path",g?`url(${this.renderer.url}#${g.id})`:"none")}crisp(g,L){L=Math.round(L||g.strokeWidth||0);let B=g.x||this.x||0,G=g.y||this.y||0,et=(g.width||this.width||0)+B,l=(g.height||this.height||0)+G,n=S(B,L),y=S(G,L);return b(g,{x:n,y,width:S(et,L)-n,height:S(l,L)-y}),T(g.strokeWidth)&&(g.strokeWidth=L),g}complexColor(g,L,B){let G=this.renderer,et,l,n,y,j,i,c,d,M,w,z=[],X;D(this.renderer,"complexColor",{args:arguments},function(){if(g.radialGradient?l="radialGradient":g.linearGradient&&(l="linearGradient"),l){if(n=g[l],j=G.gradients,i=g.stops,M=B.radialReference,A(n)&&(g[l]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),l==="radialGradient"&&M&&!T(n.gradientUnits)&&(y=n,n=s(n,G.getRadialAttr(M,y),{gradientUnits:"userSpaceOnUse"})),e(n,function(U,_){_!=="id"&&z.push(_,U)}),e(i,function(U){z.push(U)}),j[z=z.join(",")])w=j[z].attr("id");else{n.id=w=h();let U=j[z]=G.createElement(l).attr(n).add(G.defs);U.radAttr=y,U.stops=[],i.forEach(function(_){_[1].indexOf("rgba")===0?(c=(et=K.parse(_[1])).get("rgb"),d=et.get("a")):(c=_[1],d=1);let lt=G.createElement("stop").attr({offset:_[0],"stop-color":c,"stop-opacity":d}).add(U);U.stops.push(lt)})}X="url("+G.url+"#"+w+")",B.setAttribute(L,X),B.gradient=z,g.toString=function(){return X}}})}css(g){let L=this.styles,B={},G=this.element,et,l=!L;if(L&&e(g,function(n,y){L&&L[y]!==n&&(B[y]=n,l=!0)}),l){L&&(g=b(L,B)),g.width===null||g.width==="auto"?delete this.textWidth:G.nodeName.toLowerCase()==="text"&&g.width&&(et=this.textWidth=o(g.width)),b(this.styles,g),et&&!V&&this.renderer.forExport&&delete g.width;let n=s(g);G.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(y=>n&&delete n[y]),n.color&&(n.fill=n.color)),k(G,n)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),g.textOutline&&this.applyTextOutline(g.textOutline)),this}dashstyleSetter(g){let L,B=this["stroke-width"];if(B==="inherit"&&(B=1),g=g&&g.toLowerCase()){let G=g.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(L=G.length;L--;)G[L]=""+o(G[L])*t(B,NaN);g=G.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",g)}}destroy(){var y;let g=this,L=g.element||{},B=g.renderer,G=L.ownerSVGElement,et=L.nodeName==="SPAN"&&g.parentGroup||void 0,l,n;if(L.onclick=L.onmouseout=L.onmouseover=L.onmousemove=L.point=null,dt(g),g.clipPath&&G){let j=g.clipPath;[].forEach.call(G.querySelectorAll("[clip-path],[CLIP-PATH]"),function(i){i.getAttribute("clip-path").indexOf(j.element.id)>-1&&i.removeAttribute("clip-path")}),g.clipPath=j.destroy()}if(g.connector=(y=g.connector)==null?void 0:y.destroy(),g.stops){for(n=0;n<g.stops.length;n++)g.stops[n].destroy();g.stops.length=0,g.stops=void 0}for(g.safeRemoveChild(L);et&&et.div&&et.div.childNodes.length===0;)l=et.parentGroup,g.safeRemoveChild(et.div),delete et.div,et=l;g.alignOptions&&p(B.alignedObjects,g),e(g,function(j,i){g[i]&&g[i].parentGroup===g&&g[i].destroy&&g[i].destroy(),delete g[i]})}dSetter(g,L,B){A(g)&&(typeof g[0]=="string"&&(g=this.renderer.pathToSegments(g)),this.pathArray=g,g=g.reduce((G,et,l)=>et&&et.join?(l?G+" ":"")+et.join(" "):(et||"").toString(),"")),/(NaN| {2}|^$)/.test(g)&&(g="M 0 0"),this[L]!==g&&(B.setAttribute(L,g),this[L]=g)}fillSetter(g,L,B){typeof g=="string"?B.setAttribute(L,g):g&&this.complexColor(g,L,B)}hrefSetter(g,L,B){B.setAttributeNS("http://www.w3.org/1999/xlink",L,g)}getBBox(g,L){let B,G,et,l,{alignValue:n,element:y,renderer:j,styles:i,textStr:c}=this,{cache:d,cacheKeys:M}=j,w=y.namespaceURI===this.SVG_NS,z=t(L,this.rotation,0),X=j.styledMode?y&&P.prototype.getStyle.call(y,"font-size"):i.fontSize;if(T(c)&&((l=c.toString()).indexOf("<")===-1&&(l=l.replace(/\d/g,"0")),l+=["",j.rootFontSize,X,z,this.textWidth,n,i.textOverflow,i.fontWeight].join(",")),l&&!g&&(B=d[l]),!B||B.polygon){if(w||j.forExport){try{et=this.fakeTS&&function(_){let lt=y.querySelector(".highcharts-text-outline");lt&&k(lt,{display:_})},x(et)&&et("none"),B=y.getBBox?b({},y.getBBox()):{width:y.offsetWidth,height:y.offsetHeight,x:0,y:0},x(et)&&et("")}catch{}(!B||B.width<0)&&(B={x:0,y:0,width:0,height:0})}else B=this.htmlGetBBox();G=B.height,w&&(B.height=G={"11px,17":14,"13px,20":16}[`${X||""},${Math.round(G)}`]||G),z&&(B=this.getRotatedBox(B,z));let U={bBox:B};D(this,"afterGetBBox",U),B=U.bBox}if(l&&(c===""||B.height>0)){for(;M.length>250;)delete d[M.shift()];d[l]||M.push(l),d[l]=B}return B}getRotatedBox(g,L){let{x:B,y:G,width:et,height:l}=g,{alignValue:n,translateY:y,rotationOriginX:j=0,rotationOriginY:i=0}=this,c={right:1,center:.5}[n||0]||0,d=Number(this.element.getAttribute("y")||0)-(y?0:G),M=L*$,w=(L-90)*$,z=Math.cos(M),X=Math.sin(M),U=et*z,_=et*X,lt=Math.cos(w),rt=Math.sin(w),[[N,E],[W,F]]=[j,i].map(kt=>[kt-kt*z,kt*X]),Q=B+c*(et-U)+N+F+d*lt,st=Q+U,tt=st-l*lt,nt=tt-U,ht=G+d-c*_-E+W+d*rt,ct=ht+_,ut=ct-l*rt,ft=ut-_,bt=Math.min(Q,st,tt,nt),vt=Math.min(ht,ct,ut,ft),xt=Math.max(Q,st,tt,nt)-bt,mt=Math.max(ht,ct,ut,ft)-vt;return{x:bt,y:vt,width:xt,height:mt,polygon:[[Q,ht],[st,ct],[tt,ut],[nt,ft]]}}getStyle(g){return R.getComputedStyle(this.element||this,"").getPropertyValue(g)}hasClass(g){return(""+this.attr("class")).split(" ").indexOf(g)!==-1}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(g,L){this.onEvents={},this.opacity=1,this.SVG_NS=C,this.element=L==="span"||L==="body"?m(L):q.createElementNS(this.SVG_NS,L),this.renderer=g,this.styles={},D(this,"afterInit")}on(g,L){let{onEvents:B}=this;return B[g]&&B[g](),B[g]=I(this.element,g,L),this}opacitySetter(g,L,B){let G=Number(Number(g).toFixed(3));this.opacity=G,B.setAttribute(L,G)}reAlign(){var g;(g=this.alignOptions)!=null&&g.width&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(g){return this.attr("class",(""+this.attr("class")).replace(u(g)?RegExp(`(^| )${g}( |$)`):g," ").replace(/ +/g," ").trim())}removeTextOutline(){let g=this.element.querySelector("tspan.highcharts-text-outline");g&&this.safeRemoveChild(g)}safeRemoveChild(g){let L=g.parentNode;L&&L.removeChild(g)}setRadialReference(g){let L=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=g,L&&L.radAttr&&L.animate(this.renderer.getRadialAttr(g,L.radAttr)),this}shadow(g){var et;let{renderer:L}=this,B=s(((et=this.parentGroup)==null?void 0:et.rotation)===90?{offsetX:-1,offsetY:-1}:{},r(g)?g:{}),G=L.shadowDefinition(B);return this.attr({filter:g?`url(${L.url}#${G})`:"none"})}show(g=!0){return this.attr({visibility:g?"inherit":"visible"})}"stroke-widthSetter"(g,L,B){this[L]=g,B.setAttribute(L,g)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let g=this.getStyle("stroke-width"),L=0,B;return/px$/.test(g)?L=o(g):g!==""&&(O(B=q.createElementNS(C,"rect"),{width:g,"stroke-width":0}),this.element.parentNode.appendChild(B),L=B.getBBox().width,B.parentNode.removeChild(B)),L}symbolAttr(g){let L=this;P.symbolCustomAttribs.forEach(function(B){L[B]=t(g[B],L[B])}),L.attr({d:L.renderer.symbols[L.symbolName](L.x,L.y,L.width,L.height,L)})}textSetter(g){g!==this.textStr&&(delete this.textPxLength,this.textStr=g,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(g){let L=this.element,B=L.getElementsByTagName("title")[0]||q.createElementNS(this.SVG_NS,"title");L.insertBefore?L.insertBefore(B,L.firstChild):L.appendChild(B),B.textContent=f(t(g,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let g=this.element;return g.parentNode.appendChild(g),this}translate(g,L){return this.attr({translateX:g,translateY:L})}updateTransform(g="transform"){var d;let{element:L,matrix:B,rotation:G=0,rotationOriginX:et,rotationOriginY:l,scaleX:n,scaleY:y,translateX:j=0,translateY:i=0}=this,c=["translate("+j+","+i+")"];T(B)&&c.push("matrix("+B.join(",")+")"),G&&(c.push("rotate("+G+" "+t(et,L.getAttribute("x"),0)+" "+t(l,L.getAttribute("y")||0)+")"),((d=this.text)==null?void 0:d.element.tagName)==="SPAN"&&this.text.attr({rotation:G,rotationOriginX:(et||0)-this.padding,rotationOriginY:(l||0)-this.padding})),(T(n)||T(y))&&c.push("scale("+t(n,1)+" "+t(y,1)+")"),c.length&&!(this.text||this).textPath&&L.setAttribute(g,c.join(" "))}visibilitySetter(g,L,B){g==="inherit"?B.removeAttribute(L):this[L]!==g&&B.setAttribute(L,g),this[L]=g}xGetter(g){return this.element.nodeName==="circle"&&(g==="x"?g="cx":g==="y"&&(g="cy")),this._defaultGetter(g)}zIndexSetter(g,L){let B=this.renderer,G=this.parentGroup,et=(G||B).element||B.box,l=this.element,n=et===B.box,y,j,i,c=!1,d,M=this.added,w;if(T(g)?(l.setAttribute("data-z-index",g),g=+g,this[L]===g&&(M=!1)):T(this[L])&&l.removeAttribute("data-z-index"),this[L]=g,M){for((g=this.zIndex)&&G&&(G.handleZ=!0),w=(y=et.childNodes).length-1;w>=0&&!c;w--)d=!T(i=(j=y[w]).getAttribute("data-z-index")),j!==l&&(g<0&&d&&!n&&!w?(et.insertBefore(l,y[w]),c=!0):(o(i)<=g||d&&(!T(g)||g>=0))&&(et.insertBefore(l,y[w+1]),c=!0));c||(et.insertBefore(l,y[n?3:0]),c=!0)}return c}}return P.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],P.prototype.strokeSetter=P.prototype.fillSetter,P.prototype.yGetter=P.prototype.xGetter,P.prototype.matrixSetter=P.prototype.rotationOriginXSetter=P.prototype.rotationOriginYSetter=P.prototype.rotationSetter=P.prototype.scaleXSetter=P.prototype.scaleYSetter=P.prototype.translateXSetter=P.prototype.translateYSetter=P.prototype.verticalAlignSetter=function(Y,g){this[g]=Y,this.doTransform=!0},P}),yt(H,"Core/Renderer/SVG/SVGLabel.js",[H["Core/Renderer/SVG/SVGElement.js"],H["Core/Utilities.js"]],function(Z,K){let{defined:J,extend:it,isNumber:at,merge:ot,pick:dt,removeEvent:$}=K;class q extends Z{constructor(C,R,I,O,m,S,k,T,p,b){let D;super(C,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=R,this.x=I,this.y=O,this.anchorX=S,this.anchorY=k,this.baseline=p,this.className=b,this.addClass(b==="button"?"highcharts-no-tooltip":"highcharts-label"),b&&this.addClass("highcharts-"+b),this.text=C.text(void 0,0,0,T).attr({zIndex:1}),typeof m=="string"&&((D=/^url\((.*?)\)$/.test(m))||this.renderer.symbols[m])&&(this.symbolKey=m),this.bBox=q.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=C.styledMode||D,this.deferredAttr={},this.alignFactor=0}alignSetter(C){let R={left:0,center:.5,right:1}[C];R!==this.alignFactor&&(this.alignFactor=R,this.bBox&&at(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(C,R){this.anchorX=C,this.boxAttr(R,Math.round(C)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(C,R){this.anchorY=C,this.boxAttr(R,C-this.ySetting)}boxAttr(C,R){this.box?this.box.attr(C,R):this.deferredAttr[C]=R}css(C){if(C){let R={};C=ot(C),q.textProps.forEach(I=>{C[I]!==void 0&&(R[I]=C[I],delete C[I])}),this.text.css(R),"fontSize"in R||"fontWeight"in R?this.updateTextPadding():("width"in R||"textOverflow"in R)&&this.updateBoxSize()}return Z.prototype.css.call(this,C)}destroy(){$(this.element,"mouseenter"),$(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),Z.prototype.destroy.call(this)}fillSetter(C,R){C&&(this.needsBox=!0),this.fill=C,this.boxAttr(R,C)}getBBox(C,R){this.textStr&&this.bBox.width===0&&this.bBox.height===0&&this.updateBoxSize();let{padding:I,height:O=0,translateX:m=0,translateY:S=0,width:k=0}=this,T=dt(this.paddingLeft,I),p=R??(this.rotation||0),b={width:k,height:O,x:m+this.bBox.x-T,y:S+this.bBox.y-I+this.baselineOffset};return p&&(b=this.getRotatedBox(b,p)),b}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(C){this.heightSetting=C,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:dt(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&J(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(C,R){at(C)?C!==this[R]&&(this[R]=C,this.updateTextPadding()):this[R]=void 0}rSetter(C,R){this.boxAttr(R,C)}strokeSetter(C,R){this.stroke=C,this.boxAttr(R,C)}"stroke-widthSetter"(C,R){C&&(this.needsBox=!0),this["stroke-width"]=C,this.boxAttr(R,C)}"text-alignSetter"(C){this.textAlign=C}textSetter(C){C!==void 0&&this.text.attr({text:C}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let C,R=this.text,I={},O=this.padding,m=this.bBox=(!at(this.widthSetting)||!at(this.heightSetting)||this.textAlign)&&J(R.textStr)?R.getBBox(void 0,0):q.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||m.height||0)+2*O;let S=this.renderer.fontMetrics(R);if(this.baselineOffset=O+Math.min((this.text.firstLineMetrics||S).b,m.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-S.h)/2),this.needsBox&&!R.textPath){if(!this.box){let k=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();k.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),k.add(this)}C=this.getCrispAdjust(),I.x=C,I.y=(this.baseline?-this.baselineOffset:0)+C,I.width=Math.round(this.width),I.height=Math.round(this.height),this.box.attr(it(I,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let C=this.text;if(!C.textPath){this.updateBoxSize();let R=this.baseline?0:this.baselineOffset,I=dt(this.paddingLeft,this.padding);J(this.widthSetting)&&this.bBox&&(this.textAlign==="center"||this.textAlign==="right")&&(I+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(I!==C.x||R!==C.y)&&(C.attr("x",I),C.hasBoxWidthChanged&&(this.bBox=C.getBBox(!0)),R!==void 0&&C.attr("y",R)),C.x=I,C.y=R}}widthSetter(C){this.widthSetting=at(C)?C:void 0,this.doUpdate=!0}getPaddedWidth(){let C=this.padding,R=dt(this.paddingLeft,C),I=dt(this.paddingRight,C);return(this.widthSetting||this.bBox.width||0)+R+I}xSetter(C){this.x=C,this.alignFactor&&(C-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(C),this.attr("translateX",this.xSetting)}ySetter(C){this.ySetting=this.y=Math.round(C),this.attr("translateY",this.ySetting)}}return q.emptyBBox={width:0,height:0,x:0,y:0},q.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],q}),yt(H,"Core/Renderer/SVG/Symbols.js",[H["Core/Utilities.js"]],function(Z){let{defined:K,isNumber:J,pick:it}=Z;function at($,q,V,C,R){let I=[];if(R){let O=R.start||0,m=it(R.r,V),S=it(R.r,C||V),k=2e-4/(R.borderRadius?1:Math.max(m,1)),T=Math.abs((R.end||0)-O-2*Math.PI)<k,p=(R.end||0)-(T?k:0),b=R.innerR,D=it(R.open,T),A=Math.cos(O),x=Math.sin(O),r=Math.cos(p),u=Math.sin(p),s=it(R.longArc,p-O-Math.PI<k?0:1),e=["A",m,S,0,s,it(R.clockwise,1),$+m*r,q+S*u];e.params={start:O,end:p,cx:$,cy:q},I.push(["M",$+m*A,q+S*x],e),K(b)&&((e=["A",b,b,0,s,K(R.clockwise)?1-R.clockwise:0,$+b*A,q+b*x]).params={start:p,end:O,cx:$,cy:q},I.push(D?["M",$+b*r,q+b*u]:["L",$+b*r,q+b*u],e)),D||I.push(["Z"])}return I}function ot($,q,V,C,R){return R&&R.r?dt($,q,V,C,R):[["M",$,q],["L",$+V,q],["L",$+V,q+C],["L",$,q+C],["Z"]]}function dt($,q,V,C,R){let I=(R==null?void 0:R.r)||0;return[["M",$+I,q],["L",$+V-I,q],["A",I,I,0,0,1,$+V,q+I],["L",$+V,q+C-I],["A",I,I,0,0,1,$+V-I,q+C],["L",$+I,q+C],["A",I,I,0,0,1,$,q+C-I],["L",$,q+I],["A",I,I,0,0,1,$+I,q],["Z"]]}return{arc:at,callout:function($,q,V,C,R){let I=Math.min(R&&R.r||0,V,C),O=I+6,m=R&&R.anchorX,S=R&&R.anchorY||0,k=dt($,q,V,C,{r:I});if(!J(m)||m<V&&m>0&&S<C&&S>0)return k;if($+m>V-O)if(S>q+O&&S<q+C-O)k.splice(3,1,["L",$+V,S-6],["L",$+V+6,S],["L",$+V,S+6],["L",$+V,q+C-I]);else if(m<V){let T=S<q+O,p=T?q:q+C;k.splice(T?2:5,0,["L",m,S],["L",$+V-I,p])}else k.splice(3,1,["L",$+V,C/2],["L",m,S],["L",$+V,C/2],["L",$+V,q+C-I]);else if($+m<O)if(S>q+O&&S<q+C-O)k.splice(7,1,["L",$,S+6],["L",$-6,S],["L",$,S-6],["L",$,q+I]);else if(m>0){let T=S<q+O,p=T?q:q+C;k.splice(T?1:6,0,["L",m,S],["L",$+I,p])}else k.splice(7,1,["L",$,C/2],["L",m,S],["L",$,C/2],["L",$,q+I]);else S>C&&m<V-O?k.splice(5,1,["L",m+6,q+C],["L",m,q+C+6],["L",m-6,q+C],["L",$+I,q+C]):S<0&&m>O&&k.splice(1,1,["L",m-6,q],["L",m,q-6],["L",m+6,q],["L",V-I,q]);return k},circle:function($,q,V,C){return at($+V/2,q+C/2,V/2,C/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function($,q,V,C){return[["M",$+V/2,q],["L",$+V,q+C/2],["L",$+V/2,q+C],["L",$,q+C/2],["Z"]]},rect:ot,roundedRect:dt,square:ot,triangle:function($,q,V,C){return[["M",$+V/2,q],["L",$+V,q+C],["L",$,q+C],["Z"]]},"triangle-down":function($,q,V,C){return[["M",$,q],["L",$+V,q],["L",$+V/2,q+C],["Z"]]}}}),yt(H,"Core/Renderer/SVG/TextBuilder.js",[H["Core/Renderer/HTML/AST.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(Z,K,J){let{doc:it,SVG_NS:at,win:ot}=K,{attr:dt,extend:$,fireEvent:q,isString:V,objectEach:C,pick:R}=J;return class{constructor(I){let O=I.styles;this.renderer=I.renderer,this.svgElement=I,this.width=I.textWidth,this.textLineHeight=O&&O.lineHeight,this.textOutline=O&&O.textOutline,this.ellipsis=!!(O&&O.textOverflow==="ellipsis"),this.noWrap=!!(O&&O.whiteSpace==="nowrap")}buildSVG(){let I=this.svgElement,O=I.element,m=I.renderer,S=R(I.textStr,"").toString(),k=S.indexOf("<")!==-1,T=O.childNodes,p=!I.added&&m.box,b=[S,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,I.getStyle("font-size"),this.width].join(",");if(b!==I.textCache){I.textCache=b,delete I.actualWidth;for(let D=T.length;D--;)O.removeChild(T[D]);if(k||this.ellipsis||this.width||I.textPath||S.indexOf(" ")!==-1&&(!this.noWrap||/<br.*?>/g.test(S))){if(S!==""){p&&p.appendChild(O);let D=new Z(S);this.modifyTree(D.nodes),D.addToDOM(O),this.modifyDOM(),this.ellipsis&&(O.textContent||"").indexOf("…")!==-1&&I.attr("title",this.unescapeEntities(I.textStr||"",["<",">"])),p&&p.removeChild(O)}}else O.appendChild(it.createTextNode(this.unescapeEntities(S)));V(this.textOutline)&&I.applyTextOutline&&I.applyTextOutline(this.textOutline)}}modifyDOM(){let I,O=this.svgElement,m=dt(O.element,"x");for(O.firstLineMetrics=void 0;(I=O.element.firstChild)&&/^[\s\u200B]*$/.test(I.textContent||" ");)O.element.removeChild(I);[].forEach.call(O.element.querySelectorAll("tspan.highcharts-br"),(p,b)=>{p.nextSibling&&p.previousSibling&&(b===0&&p.previousSibling.nodeType===1&&(O.firstLineMetrics=O.renderer.fontMetrics(p.previousSibling)),dt(p,{dy:this.getLineHeight(p.nextSibling),x:m}))});let S=this.width||0;if(!S)return;let k=(p,b)=>{let D=p.textContent||"",A=D.replace(/([^\^])-/g,"$1- ").split(" "),x=!this.noWrap&&(A.length>1||O.element.childNodes.length>1),r=this.getLineHeight(b),u=0,s=O.actualWidth;if(this.ellipsis)D&&this.truncate(p,D,void 0,0,Math.max(0,S-.8*r),(e,t)=>e.substring(0,t)+"…");else if(x){let e=[],t=[];for(;b.firstChild&&b.firstChild!==p;)t.push(b.firstChild),b.removeChild(b.firstChild);for(;A.length;)A.length&&!this.noWrap&&u>0&&(e.push(p.textContent||""),p.textContent=A.join(" ").replace(/- /g,"-")),this.truncate(p,void 0,A,u===0&&s||0,S,(o,a)=>A.slice(0,a).join(" ").replace(/- /g,"-")),s=O.actualWidth,u++;t.forEach(o=>{b.insertBefore(o,p)}),e.forEach(o=>{b.insertBefore(it.createTextNode(o),p);let a=it.createElementNS(at,"tspan");a.textContent="",dt(a,{dy:r,x:m}),b.insertBefore(a,p)})}},T=p=>{[].slice.call(p.childNodes).forEach(b=>{b.nodeType===ot.Node.TEXT_NODE?k(b,p):(b.className.baseVal.indexOf("highcharts-br")!==-1&&(O.actualWidth=0),T(b))})};T(O.element)}getLineHeight(I){let O=I.nodeType===ot.Node.TEXT_NODE?I.parentElement:I;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(O||this.svgElement.element).h}modifyTree(I){let O=(m,S)=>{let{attributes:k={},children:T,style:p={},tagName:b}=m,D=this.renderer.styledMode;if(b==="b"||b==="strong"?D?k.class="highcharts-strong":p.fontWeight="bold":(b==="i"||b==="em")&&(D?k.class="highcharts-emphasized":p.fontStyle="italic"),p&&p.color&&(p.fill=p.color),b==="br"){k.class="highcharts-br",m.textContent="";let A=I[S+1];A&&A.textContent&&(A.textContent=A.textContent.replace(/^ +/gm,""))}else b==="a"&&T&&T.some(A=>A.tagName==="#text")&&(m.children=[{children:T,tagName:"tspan"}]);b!=="#text"&&b!=="a"&&(m.tagName="tspan"),$(m,{attributes:k,style:p}),T&&T.filter(A=>A.tagName!=="#text").forEach(O)};I.forEach(O),q(this.svgElement,"afterModifyTree",{nodes:I})}truncate(I,O,m,S,k,T){let p,b,D=this.svgElement,{rotation:A}=D,x=[],r=m?1:0,u=(O||m||"").length,s=u,e=function(t,o){let a=o||t,f=I.parentNode;if(f&&x[a]===void 0&&f.getSubStringLength)try{x[a]=S+f.getSubStringLength(0,m?a+1:a)}catch{}return x[a]};if(D.rotation=0,S+(b=e(I.textContent.length))>k){for(;r<=u;)s=Math.ceil((r+u)/2),m&&(p=T(m,s)),b=e(s,p&&p.length-1),r===u?r=u+1:b>k?u=s-1:r=s;u===0?I.textContent="":O&&u===O.length-1||(I.textContent=p||T(O||m,s))}m&&m.splice(0,s),D.actualWidth=b,D.rotation=A}unescapeEntities(I,O){return C(this.renderer.escapes,function(m,S){O&&O.indexOf(m)!==-1||(I=I.toString().replace(RegExp(m,"g"),S))}),I}}}),yt(H,"Core/Renderer/SVG/SVGRenderer.js",[H["Core/Renderer/HTML/AST.js"],H["Core/Defaults.js"],H["Core/Color/Color.js"],H["Core/Globals.js"],H["Core/Renderer/RendererRegistry.js"],H["Core/Renderer/SVG/SVGElement.js"],H["Core/Renderer/SVG/SVGLabel.js"],H["Core/Renderer/SVG/Symbols.js"],H["Core/Renderer/SVG/TextBuilder.js"],H["Core/Utilities.js"]],function(Z,K,J,it,at,ot,dt,$,q,V){let C,{defaultOptions:R}=K,{charts:I,deg2rad:O,doc:m,isFirefox:S,isMS:k,isWebKit:T,noop:p,SVG_NS:b,symbolSizes:D,win:A}=it,{addEvent:x,attr:r,createElement:u,crisp:s,css:e,defined:t,destroyObjectProperties:o,extend:a,isArray:f,isNumber:v,isObject:h,isString:P,merge:Y,pick:g,pInt:L,replaceNested:B,uniqueKey:G}=V;class et{constructor(n,y,j,i,c,d,M){let w,z,X=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),U=X.element;M||X.css(this.getStyle(i||{})),n.appendChild(U),r(n,"dir","ltr"),n.innerHTML.indexOf("xmlns")===-1&&r(U,"xmlns",this.SVG_NS),this.box=U,this.boxWrapper=X,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=d,this.forExport=c,this.styledMode=M,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=X.getStyle("font-size"),this.setSize(y,j,!1),S&&n.getBoundingClientRect&&((w=function(){e(n,{left:0,top:0}),z=n.getBoundingClientRect(),e(n,{left:Math.ceil(z.left)-z.left+"px",top:Math.ceil(z.top)-z.top+"px"})})(),this.unSubPixelFix=x(A,"resize",w))}definition(n){return new Z([n]).addToDOM(this.defs.element)}getReferenceURL(){if((S||T)&&m.getElementsByTagName("base").length){if(!t(C)){let n=G(),y=new Z([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:n},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${n})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(m.body);e(y,{position:"fixed",top:0,left:0,zIndex:9e5});let j=m.elementFromPoint(6,6);C=(j&&j.id)==="hitme",m.body.removeChild(y)}if(C)return B(A.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(n){return this.style=a({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},n),this.style}setStyle(n){this.boxWrapper.css(this.getStyle(n))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let n=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),o(this.gradients||{}),this.gradients=null,this.defs=n.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(n){return new this.Element(this,n)}getRadialAttr(n,y){return{cx:n[0]-n[2]/2+(y.cx||0)*n[2],cy:n[1]-n[2]/2+(y.cy||0)*n[2],r:(y.r||0)*n[2]}}shadowDefinition(n){let y=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(n).map(i=>`${i}-${n[i]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),j=Y({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},n);return this.defs.element.querySelector(`#${y}`)||this.definition({tagName:"filter",attributes:{id:y,filterUnits:j.filterUnits},children:this.getShadowFilterContent(j)}),y}getShadowFilterContent(n){return[{tagName:"feDropShadow",attributes:{dx:n.offsetX,dy:n.offsetY,"flood-color":n.color,"flood-opacity":Math.min(5*n.opacity,1),stdDeviation:n.width/2}}]}buildText(n){new q(n).buildSVG()}getContrast(n){let y=J.parse(n).rgba.map(i=>{let c=i/255;return c<=.03928?c/12.92:Math.pow((c+.055)/1.055,2.4)}),j=.2126*y[0]+.7152*y[1]+.0722*y[2];return 1.05/(j+.05)>(j+.05)/.05?"#FFFFFF":"#000000"}button(n,y,j,i,c={},d,M,w,z,X){let U=this.label(n,y,j,z,void 0,void 0,X,void 0,"button"),_=this.styledMode,lt=arguments,rt=0;c=Y(R.global.buttonTheme,c),_&&(delete c.fill,delete c.stroke,delete c["stroke-width"]);let N=c.states||{},E=c.style||{};delete c.states,delete c.style;let W=[Z.filterUserAttributes(c)],F=[E];return _||["hover","select","disabled"].forEach((Q,st)=>{W.push(Y(W[0],Z.filterUserAttributes(lt[st+5]||N[Q]||{}))),F.push(W[st+1].style),delete W[st+1].style}),x(U.element,k?"mouseover":"mouseenter",function(){rt!==3&&U.setState(1)}),x(U.element,k?"mouseout":"mouseleave",function(){rt!==3&&U.setState(rt)}),U.setState=(Q=0)=>{if(Q!==1&&(U.state=rt=Q),U.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][Q]),!_){U.attr(W[Q]);let st=F[Q];h(st)&&U.css(st)}},U.attr(W[0]),!_&&(U.css(a({cursor:"default"},E)),X&&U.text.css({pointerEvents:"none"})),U.on("touchstart",Q=>Q.stopPropagation()).on("click",function(Q){rt!==3&&i.call(U,Q)})}crispLine(n,y){let[j,i]=n;return t(j[1])&&j[1]===i[1]&&(j[1]=i[1]=s(j[1],y)),t(j[2])&&j[2]===i[2]&&(j[2]=i[2]=s(j[2],y)),n}path(n){let y=this.styledMode?{}:{fill:"none"};return f(n)?y.d=n:h(n)&&a(y,n),this.createElement("path").attr(y)}circle(n,y,j){let i=h(n)?n:n===void 0?{}:{x:n,y,r:j},c=this.createElement("circle");return c.xSetter=c.ySetter=function(d,M,w){w.setAttribute("c"+M,d)},c.attr(i)}arc(n,y,j,i,c,d){let M;h(n)?(y=(M=n).y,j=M.r,i=M.innerR,c=M.start,d=M.end,n=M.x):M={innerR:i,start:c,end:d};let w=this.symbol("arc",n,y,j,j,M);return w.r=j,w}rect(n,y,j,i,c,d){let M=h(n)?n:n===void 0?{}:{x:n,y,r:c,width:Math.max(j||0,0),height:Math.max(i||0,0)},w=this.createElement("rect");return this.styledMode||(d!==void 0&&(M["stroke-width"]=d,a(M,w.crisp(M))),M.fill="none"),w.rSetter=function(z,X,U){w.r=z,r(U,{rx:z,ry:z})},w.rGetter=function(){return w.r||0},w.attr(M)}roundedRect(n){return this.symbol("roundedRect").attr(n)}setSize(n,y,j){this.width=n,this.height=y,this.boxWrapper.animate({width:n,height:y},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:g(j,!0)?void 0:0}),this.alignElements()}g(n){let y=this.createElement("g");return n?y.attr({class:"highcharts-"+n}):y}image(n,y,j,i,c,d){let M={preserveAspectRatio:"none"};v(y)&&(M.x=y),v(j)&&(M.y=j),v(i)&&(M.width=i),v(c)&&(M.height=c);let w=this.createElement("image").attr(M),z=function(X){w.attr({href:n}),d.call(w,X)};if(d){w.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let X=new A.Image;x(X,"load",z),X.src=n,X.complete&&z({})}else w.attr({href:n});return w}symbol(n,y,j,i,c,d){let M,w,z,X,U=this,_=/^url\((.*?)\)$/,lt=_.test(n),rt=!lt&&(this.symbols[n]?n:"circle"),N=rt&&this.symbols[rt];if(N)typeof y=="number"&&(w=N.call(this.symbols,y||0,j||0,i||0,c||0,d)),M=this.path(w),U.styledMode||M.attr("fill","none"),a(M,{symbolName:rt||void 0,x:y,y:j,width:i,height:c}),d&&a(M,d);else if(lt){z=n.match(_)[1];let E=M=this.image(z);E.imgwidth=g(d&&d.width,D[z]&&D[z].width),E.imgheight=g(d&&d.height,D[z]&&D[z].height),X=W=>W.attr({width:W.width,height:W.height}),["width","height"].forEach(W=>{E[`${W}Setter`]=function(F,Q){this[Q]=F;let{alignByTranslate:st,element:tt,width:nt,height:ht,imgwidth:ct,imgheight:ut}=this,ft=Q==="width"?ct:ut,bt=1;d&&d.backgroundSize==="within"&&nt&&ht&&ct&&ut?(bt=Math.min(nt/ct,ht/ut),r(tt,{width:Math.round(ct*bt),height:Math.round(ut*bt)})):tt&&ft&&tt.setAttribute(Q,ft),!st&&ct&&ut&&this.translate(((nt||0)-ct*bt)/2,((ht||0)-ut*bt)/2)}}),t(y)&&E.attr({x:y,y:j}),E.isImg=!0,E.symbolUrl=n,t(E.imgwidth)&&t(E.imgheight)?X(E):(E.attr({width:0,height:0}),u("img",{onload:function(){let W=I[U.chartIndex];this.width===0&&(e(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this)),D[z]={width:this.width,height:this.height},E.imgwidth=this.width,E.imgheight=this.height,E.element&&X(E),this.parentNode&&this.parentNode.removeChild(this),U.imgCount--,U.imgCount||!W||W.hasLoaded||W.onload()},src:z}),this.imgCount++)}return M}clipRect(n,y,j,i){return this.rect(n,y,j,i,0)}text(n,y,j,i){let c={};if(i&&(this.allowHTML||!this.forExport))return this.html(n,y,j);c.x=Math.round(y||0),j&&(c.y=Math.round(j)),t(n)&&(c.text=n);let d=this.createElement("text").attr(c);return i&&(!this.forExport||this.allowHTML)||(d.xSetter=function(M,w,z){let X=z.getElementsByTagName("tspan"),U=z.getAttribute(w);for(let _=0,lt;_<X.length;_++)(lt=X[_]).getAttribute(w)===U&<.setAttribute(w,M);z.setAttribute(w,M)}),d}fontMetrics(n){let y=L(ot.prototype.getStyle.call(n,"font-size")||0),j=y<24?y+3:Math.round(1.2*y),i=Math.round(.8*j);return{h:j,b:i,f:y}}rotCorr(n,y,j){let i=n;return y&&j&&(i=Math.max(i*Math.cos(y*O),4)),{x:-n/3*Math.sin(y*O),y:i}}pathToSegments(n){let y=[],j=[],i={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let c=0;c<n.length;c++)P(j[0])&&v(n[c])&&j.length===i[j[0].toUpperCase()]&&n.splice(c,0,j[0].replace("M","L").replace("m","l")),typeof n[c]=="string"&&(j.length&&y.push(j.slice(0)),j.length=0),j.push(n[c]);return y.push(j.slice(0)),y}label(n,y,j,i,c,d,M,w,z){return new dt(this,n,y,j,i,c,d,M,w,z)}alignElements(){this.alignedObjects.forEach(n=>n.align())}}return a(et.prototype,{Element:ot,SVG_NS:b,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:$,draw:p}),at.registerRendererType("svg",et,!0),et}),yt(H,"Core/Renderer/HTML/HTMLElement.js",[H["Core/Renderer/HTML/AST.js"],H["Core/Globals.js"],H["Core/Renderer/SVG/SVGElement.js"],H["Core/Utilities.js"]],function(Z,K,J,it){let{composed:at}=K,{attr:ot,css:dt,createElement:$,defined:q,extend:V,pInt:C,pushUnique:R}=it;function I(k,T,p){var D;let b=((D=this.div)==null?void 0:D.style)||p.style;J.prototype[`${T}Setter`].call(this,k,T,p),b&&(b[T]=k)}let O=(k,T)=>{var p;if(!k.div){let b=ot(k.element,"class"),D=k.css,A=$("div",b?{className:b}:void 0,{position:"absolute",left:`${k.translateX||0}px`,top:`${k.translateY||0}px`,...k.styles,display:k.display,opacity:k.opacity,visibility:k.visibility},((p=k.parentGroup)==null?void 0:p.div)||T);k.classSetter=(x,r,u)=>{u.setAttribute("class",x),A.className=x},k.translateXSetter=k.translateYSetter=(x,r)=>{k[r]=x,A.style[r==="translateX"?"left":"top"]=`${x}px`,k.doTransform=!0},k.opacitySetter=k.visibilitySetter=I,k.css=x=>(D.call(k,x),x.cursor&&(A.style.cursor=x.cursor),x.pointerEvents&&(A.style.pointerEvents=x.pointerEvents),k),k.on=function(){return J.prototype.on.apply({element:A,onEvents:k.onEvents},arguments),k},k.div=A}return k.div};class m extends J{static compose(T){R(at,this.compose)&&(T.prototype.html=function(p,b,D){return new m(this,"span").attr({text:p,x:Math.round(b),y:Math.round(D)})})}constructor(T,p){super(T,p),this.css({position:"absolute",...T.styledMode?{}:{fontFamily:T.style.fontFamily,fontSize:T.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(T,p,b){this.xCorr=-T*b,this.yCorr=-p}css(T){let p,{element:b}=this,D=b.tagName==="SPAN"&&T&&"width"in T,A=D&&T.width;return D&&(delete T.width,this.textWidth=C(A)||void 0,p=!0),(T==null?void 0:T.textOverflow)==="ellipsis"&&(T.whiteSpace="nowrap",T.overflow="hidden"),V(this.styles,T),dt(b,T),p&&this.updateTransform(),this}htmlGetBBox(){let{element:T}=this;return{x:T.offsetLeft,y:T.offsetTop,width:T.offsetWidth,height:T.offsetHeight}}updateTransform(){var v;if(!this.added){this.alignOnAdd=!0;return}let{element:T,renderer:p,rotation:b,rotationOriginX:D,rotationOriginY:A,styles:x,textAlign:r="left",textWidth:u,translateX:s=0,translateY:e=0,x:t=0,y:o=0}=this,a={left:0,center:.5,right:1}[r],f=x.whiteSpace;if(dt(T,{marginLeft:`${s}px`,marginTop:`${e}px`}),T.tagName==="SPAN"){let h=[b,r,T.innerHTML,u,this.textAlign].join(","),P=-(((v=this.parentGroup)==null?void 0:v.padding)*1)||0,Y,g=!1;if(u!==this.oldTextWidth){let l=this.textPxLength?this.textPxLength:(dt(T,{width:"",whiteSpace:f||"nowrap"}),T.offsetWidth),n=u||0;(n>this.oldTextWidth||l>n)&&(/[ \-]/.test(T.textContent||T.innerText)||T.style.textOverflow==="ellipsis")&&(dt(T,{width:l>n||b?u+"px":"auto",display:"block",whiteSpace:f||"normal"}),this.oldTextWidth=u,g=!0)}this.hasBoxWidthChanged=g,h!==this.cTT&&(Y=p.fontMetrics(T).b,q(b)&&(b!==(this.oldRotation||0)||r!==this.oldAlign)&&this.setSpanRotation(b,P,P),this.getSpanCorrection(!q(b)&&this.textPxLength||T.offsetWidth,Y,a));let{xCorr:L=0,yCorr:B=0}=this,G=(D??t)-L-t-P,et=(A??o)-B-o-P;dt(T,{left:`${t+L}px`,top:`${o+B}px`,transformOrigin:`${G}px ${et}px`}),this.cTT=h,this.oldRotation=b,this.oldAlign=r}}setSpanRotation(T,p,b){dt(this.element,{transform:`rotate(${T}deg)`,transformOrigin:`${p}% ${b}px`})}add(T){let p,b=this.renderer.box.parentNode,D=[];if(this.parentGroup=T,T&&!(p=T.div)){let A=T;for(;A;)D.push(A),A=A.parentGroup;for(let x of D.reverse())p=O(x,b)}return(p||b).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(T){T!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,Z.setElementHTML(this.element,T??""),this.textStr=T,this.doTransform=!0)}alignSetter(T){this.alignValue=this.textAlign=T,this.doTransform=!0}xSetter(T,p){this[p]=T,this.doTransform=!0}}let S=m.prototype;return S.visibilitySetter=S.opacitySetter=I,S.ySetter=S.rotationSetter=S.rotationOriginXSetter=S.rotationOriginYSetter=S.xSetter,m}),yt(H,"Core/Axis/AxisDefaults.js",[],function(){var Z,K;return(K=Z||(Z={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},K.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:J}=this.axis.chart;return J(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},Z}),yt(H,"Core/Foundation.js",[H["Core/Utilities.js"]],function(Z){var K;let{addEvent:J,isFunction:it,objectEach:at,removeEvent:ot}=Z;return(K||(K={})).registerEventOptions=function(dt,$){dt.eventOptions=dt.eventOptions||{},at($.events,function(q,V){dt.eventOptions[V]!==q&&(dt.eventOptions[V]&&(ot(dt,V,dt.eventOptions[V]),delete dt.eventOptions[V]),it(q)&&(dt.eventOptions[V]=q,J(dt,V,q,{order:0})))})},K}),yt(H,"Core/Axis/Tick.js",[H["Core/Templating.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(Z,K,J){let{deg2rad:it}=K,{clamp:at,correctFloat:ot,defined:dt,destroyObjectProperties:$,extend:q,fireEvent:V,isNumber:C,merge:R,objectEach:I,pick:O}=J;return class{constructor(m,S,k,T,p){this.isNew=!0,this.isNewLabel=!0,this.axis=m,this.pos=S,this.type=k||"",this.parameters=p||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,V(this,"init"),k||T||this.addLabel()}addLabel(){let m=this,S=m.axis,k=S.options,T=S.chart,p=S.categories,b=S.logarithmic,D=S.names,A=m.pos,x=O(m.options&&m.options.labels,k.labels),r=S.tickPositions,u=A===r[0],s=A===r[r.length-1],e=(!x.step||x.step===1)&&S.tickInterval===1,t=r.info,o=m.label,a,f,v,h=this.parameters.category||(p?O(p[A],D[A],A):A);b&&C(h)&&(h=ot(b.lin2log(h))),S.dateTime&&(t?a=(f=T.time.resolveDTLFormat(k.dateTimeLabelFormats[!k.grid&&t.higherRanks[A]||t.unitName])).main:C(h)&&(a=S.dateTime.getXDateFormat(h,k.dateTimeLabelFormats||{}))),m.isFirst=u,m.isLast=s;let P={axis:S,chart:T,dateTimeLabelFormat:a,isFirst:u,isLast:s,pos:A,tick:m,tickPositionInfo:t,value:h};V(this,"labelFormat",P);let Y=B=>x.formatter?x.formatter.call(B,B):x.format?(B.text=S.defaultLabelFormatter.call(B),Z.format(x.format,B,T)):S.defaultLabelFormatter.call(B),g=Y.call(P,P),L=f&&f.list;L?m.shortenLabel=function(){for(v=0;v<L.length;v++)if(q(P,{dateTimeLabelFormat:L[v]}),o.attr({text:Y.call(P,P)}),o.getBBox().width<S.getSlotWidth(m)-2*(x.padding||0))return;o.attr({text:""})}:m.shortenLabel=void 0,e&&S._addedPlotLB&&m.moveLabel(g,x),dt(o)||m.movedLabel?o&&o.textStr!==g&&!e&&(!o.textWidth||x.style.width||o.styles.width||o.css({width:null}),o.attr({text:g}),o.textPxLength=o.getBBox().width):(m.label=o=m.createLabel(g,x),m.rotation=0)}createLabel(m,S,k){let T=this.axis,p=T.chart,b=dt(m)&&S.enabled?p.renderer.text(m,k==null?void 0:k.x,k==null?void 0:k.y,S.useHTML).add(T.labelGroup):void 0;return b&&(p.styledMode||b.css(R(S.style)),b.textPxLength=b.getBBox().width),b}destroy(){$(this,this.axis)}getPosition(m,S,k,T){let p=this.axis,b=p.chart,D=T&&b.oldChartHeight||b.chartHeight,A={x:m?ot(p.translate(S+k,void 0,void 0,T)+p.transB):p.left+p.offset+(p.opposite?(T&&b.oldChartWidth||b.chartWidth)-p.right-p.left:0),y:m?D-p.bottom+p.offset-(p.opposite?p.height:0):ot(D-p.translate(S+k,void 0,void 0,T)-p.transB)};return A.y=at(A.y,-1e9,1e9),V(this,"afterGetPosition",{pos:A}),A}getLabelPosition(m,S,k,T,p,b,D,A){let x,r,u=this.axis,s=u.transA,e=u.isLinked&&u.linkedParent?u.linkedParent.reversed:u.reversed,t=u.staggerLines,o=u.tickRotCorr||{x:0,y:0},a=T||u.reserveSpaceDefault?0:-u.labelOffset*(u.labelAlign==="center"?.5:1),f=p.distance,v={};return x=u.side===0?k.rotation?-f:-k.getBBox().height:u.side===2?o.y+f:Math.cos(k.rotation*it)*(o.y-k.getBBox(!1,0).height/2),dt(p.y)&&(x=u.side===0&&u.horiz?p.y+x:p.y),m=m+O(p.x,[0,1,0,-1][u.side]*f)+a+o.x-(b&&T?b*s*(e?-1:1):0),S=S+x-(b&&!T?b*s*(e?1:-1):0),t&&(r=D/(A||1)%t,u.opposite&&(r=t-r-1),S+=r*(u.labelOffset/t)),v.x=m,v.y=Math.round(S),V(this,"afterGetLabelPosition",{pos:v,tickmarkOffset:b,index:D}),v}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(m,S,k,T,p=!1,b){return b.crispLine([["M",m,S],["L",m+(p?0:-k),S+(p?k:0)]],T)}handleOverflow(m){let S=this.axis,k=S.options.labels,T=m.x,p=S.chart.chartWidth,b=S.chart.spacing,D=O(S.labelLeft,Math.min(S.pos,b[3])),A=O(S.labelRight,Math.max(S.isRadial?0:S.pos+S.len,p-b[1])),x=this.label,r=this.rotation,u={left:0,center:.5,right:1}[S.labelAlign||x.attr("align")],s=x.getBBox().width,e=S.getSlotWidth(this),t={},o=e,a=1,f,v,h;r||k.overflow!=="justify"?r<0&&T-u*s<D?h=Math.round(T/Math.cos(r*it)-D):r>0&&T+u*s>A&&(h=Math.round((p-T)/Math.cos(r*it))):(f=T-u*s,v=T+(1-u)*s,f<D?o=m.x+o*(1-u)-D:v>A&&(o=A-m.x+o*u,a=-1),(o=Math.min(e,o))<e&&S.labelAlign==="center"&&(m.x+=a*(e-o-u*(e-Math.min(s,o)))),(s>o||S.autoRotation&&(x.styles||{}).width)&&(h=o)),h&&(this.shortenLabel?this.shortenLabel():(t.width=Math.floor(h)+"px",(k.style||{}).textOverflow||(t.textOverflow="ellipsis"),x.css(t)))}moveLabel(m,S){let k=this,T=k.label,p=k.axis,b=!1,D;T&&T.textStr===m?(k.movedLabel=T,b=!0,delete k.label):I(p.ticks,function(A){b||A.isNew||A===k||!A.label||A.label.textStr!==m||(k.movedLabel=A.label,b=!0,A.labelPos=k.movedLabel.xy,delete A.label)}),!b&&(k.labelPos||T)&&(D=k.labelPos||T.xy,k.movedLabel=k.createLabel(m,S,D),k.movedLabel&&k.movedLabel.attr({opacity:0}))}render(m,S,k){let T=this.axis,p=T.horiz,b=this.pos,D=O(this.tickmarkOffset,T.tickmarkOffset),A=this.getPosition(p,b,D,S),x=A.x,r=A.y,u=T.pos,s=u+T.len,e=p?x:r;!T.chart.polar&&this.isNew&&(ot(e)<u||e>s)&&(k=0);let t=O(k,this.label&&this.label.newOpacity,1);k=O(k,1),this.isActive=!0,this.renderGridLine(S,k),this.renderMark(A,k),this.renderLabel(A,S,t,m),this.isNew=!1,V(this,"afterRender")}renderGridLine(m,S){let k=this.axis,T=k.options,p={},b=this.pos,D=this.type,A=O(this.tickmarkOffset,k.tickmarkOffset),x=k.chart.renderer,r=this.gridLine,u,s=T.gridLineWidth,e=T.gridLineColor,t=T.gridLineDashStyle;this.type==="minor"&&(s=T.minorGridLineWidth,e=T.minorGridLineColor,t=T.minorGridLineDashStyle),r||(k.chart.styledMode||(p.stroke=e,p["stroke-width"]=s||0,p.dashstyle=t),D||(p.zIndex=1),m&&(S=0),this.gridLine=r=x.path().attr(p).addClass("highcharts-"+(D?D+"-":"")+"grid-line").add(k.gridGroup)),r&&(u=k.getPlotLinePath({value:b+A,lineWidth:r.strokeWidth(),force:"pass",old:m,acrossPanes:!1}))&&r[m||this.isNew?"attr":"animate"]({d:u,opacity:S})}renderMark(m,S){let k=this.axis,T=k.options,p=k.chart.renderer,b=this.type,D=k.tickSize(b?b+"Tick":"tick"),A=m.x,x=m.y,r=O(T[b!=="minor"?"tickWidth":"minorTickWidth"],!b&&k.isXAxis?1:0),u=T[b!=="minor"?"tickColor":"minorTickColor"],s=this.mark,e=!s;D&&(k.opposite&&(D[0]=-D[0]),s||(this.mark=s=p.path().addClass("highcharts-"+(b?b+"-":"")+"tick").add(k.axisGroup),k.chart.styledMode||s.attr({stroke:u,"stroke-width":r})),s[e?"attr":"animate"]({d:this.getMarkPath(A,x,D[0],s.strokeWidth(),k.horiz,p),opacity:S}))}renderLabel(m,S,k,T){let p=this.axis,b=p.horiz,D=p.options,A=this.label,x=D.labels,r=x.step,u=O(this.tickmarkOffset,p.tickmarkOffset),s=m.x,e=m.y,t=!0;A&&C(s)&&(A.xy=m=this.getLabelPosition(s,e,A,b,x,u,T,r),(!this.isFirst||this.isLast||D.showFirstLabel)&&(!this.isLast||this.isFirst||D.showLastLabel)?!b||x.step||x.rotation||S||k===0||this.handleOverflow(m):t=!1,r&&T%r&&(t=!1),t&&C(m.y)?(m.opacity=k,A[this.isNewLabel?"attr":"animate"](m).show(!0),this.isNewLabel=!1):(A.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let m=this.label,S=this.axis;m&&!this.isNew&&(m.animate({opacity:0},void 0,m.destroy),delete this.label),S.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),yt(H,"Core/Axis/Axis.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Axis/AxisDefaults.js"],H["Core/Color/Color.js"],H["Core/Defaults.js"],H["Core/Foundation.js"],H["Core/Globals.js"],H["Core/Axis/Tick.js"],H["Core/Utilities.js"]],function(Z,K,J,it,at,ot,dt,$){let{animObject:q}=Z,{xAxis:V,yAxis:C}=K,{defaultOptions:R}=it,{registerEventOptions:I}=at,{deg2rad:O}=ot,{arrayMax:m,arrayMin:S,clamp:k,correctFloat:T,defined:p,destroyObjectProperties:b,erase:D,error:A,extend:x,fireEvent:r,getClosestDistance:u,insertItem:s,isArray:e,isNumber:t,isString:o,merge:a,normalizeTickInterval:f,objectEach:v,pick:h,relativeLength:P,removeEvent:Y,splat:g,syncTimeout:L}=$,B=(et,l)=>f(l,void 0,void 0,h(et.options.allowDecimals,l<.5||et.tickAmount!==void 0),!!et.tickAmount);x(R,{xAxis:V,yAxis:a(V,C)});class G{constructor(l,n,y){this.init(l,n,y)}init(l,n,y=this.coll){let j=y==="xAxis",i=this.isZAxis||(l.inverted?!j:j);this.chart=l,this.horiz=i,this.isXAxis=j,this.coll=y,r(this,"init",{userOptions:n}),this.opposite=h(n.opposite,this.opposite),this.side=h(n.side,this.side,i?this.opposite?0:2:this.opposite?1:3),this.setOptions(n);let c=this.options,d=c.labels;this.type??(this.type=c.type||"linear"),this.uniqueNames??(this.uniqueNames=c.uniqueNames??!0),r(this,"afterSetType"),this.userOptions=n,this.minPixelPadding=0,this.reversed=h(c.reversed,this.reversed),this.visible=c.visible,this.zoomEnabled=c.zoomEnabled,this.hasNames=this.type==="category"||c.categories===!0,this.categories=e(c.categories)&&c.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=p(c.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=c.minRange||c.maxZoom,this.range=c.range,this.offset=c.offset||0,this.max=void 0,this.min=void 0;let M=h(c.crosshair,g(l.options.tooltip.crosshairs)[j?0:1]);this.crosshair=M===!0?{}:M,l.axes.indexOf(this)===-1&&(j?l.axes.splice(l.xAxis.length,0,this):l.axes.push(this),s(this,l[this.coll])),l.orderItems(this.coll),this.series=this.series||[],l.inverted&&!this.isZAxis&&j&&!p(this.reversed)&&(this.reversed=!0),this.labelRotation=t(d.rotation)?d.rotation:void 0,I(this,c),r(this,"afterInit")}setOptions(l){let n=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=a(n,R[this.coll],l),r(this,"afterSetOptions",{userOptions:l})}defaultLabelFormatter(){let l=this.axis,{numberFormatter:n}=this.chart,y=t(this.value)?this.value:NaN,j=l.chart.time,i=l.categories,c=this.dateTimeLabelFormat,d=R.lang,M=d.numericSymbols,w=d.numericSymbolMagnitude||1e3,z=l.logarithmic?Math.abs(y):l.tickInterval,X=M&&M.length,U,_;if(i)_=`${this.value}`;else if(c)_=j.dateFormat(c,y);else if(X&&M&&z>=1e3)for(;X--&&_===void 0;)z>=(U=Math.pow(w,X+1))&&10*y%U==0&&M[X]!==null&&y!==0&&(_=n(y/U,-1)+M[X]);return _===void 0&&(_=Math.abs(y)>=1e4?n(y,-1):n(y,-1,void 0,"")),_}getSeriesExtremes(){let l,n=this;r(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1,n.dataMin=n.dataMax=n.threshold=void 0,n.softThreshold=!n.isXAxis,n.series.forEach(y=>{if(y.reserveSpace()){let j=y.options,i,c=j.threshold,d,M;if(n.hasVisibleSeries=!0,n.positiveValuesOnly&&0>=(c||0)&&(c=void 0),n.isXAxis)(i=y.xData)&&i.length&&(i=n.logarithmic?i.filter(w=>w>0):i,d=(l=y.getXExtremes(i)).min,M=l.max,t(d)||d instanceof Date||(i=i.filter(t),d=(l=y.getXExtremes(i)).min,M=l.max),i.length&&(n.dataMin=Math.min(h(n.dataMin,d),d),n.dataMax=Math.max(h(n.dataMax,M),M)));else{let w=y.applyExtremes();t(w.dataMin)&&(d=w.dataMin,n.dataMin=Math.min(h(n.dataMin,d),d)),t(w.dataMax)&&(M=w.dataMax,n.dataMax=Math.max(h(n.dataMax,M),M)),p(c)&&(n.threshold=c),(!j.softThreshold||n.positiveValuesOnly)&&(n.softThreshold=!1)}}})}),r(this,"afterGetSeriesExtremes")}translate(l,n,y,j,i,c){var rt;let d=this.linkedParent||this,M=j&&d.old?d.old.min:d.min;if(!t(M))return NaN;let w=d.minPixelPadding,z=(d.isOrdinal||((rt=d.brokenAxis)==null?void 0:rt.hasBreaks)||d.logarithmic&&i)&&d.lin2val,X=1,U=0,_=j&&d.old?d.old.transA:d.transA,lt=0;return _||(_=d.transA),y&&(X*=-1,U=d.len),d.reversed&&(X*=-1,U-=X*(d.sector||d.len)),n?(lt=(l=l*X+U-w)/_+M,z&&(lt=d.lin2val(lt))):(z&&(l=d.val2lin(l)),lt=X*(l-M)*_+U+X*w+(t(c)?_*c:0),d.isRadial||(lt=T(lt))),lt}toPixels(l,n){return this.translate(l,!1,!this.horiz,void 0,!0)+(n?0:this.pos)}toValue(l,n){return this.translate(l-(n?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(l){let n=this,y=n.chart,j=n.left,i=n.top,c=l.old,d=l.value,M=l.lineWidth,w=c&&y.oldChartHeight||y.chartHeight,z=c&&y.oldChartWidth||y.chartWidth,X=n.transB,U=l.translatedValue,_=l.force,lt,rt,N,E,W;function F(st,tt,nt){return _!=="pass"&&(st<tt||st>nt)&&(_?st=k(st,tt,nt):W=!0),st}let Q={value:d,lineWidth:M,old:c,force:_,acrossPanes:l.acrossPanes,translatedValue:U};return r(this,"getPlotLinePath",Q,function(st){lt=N=(U=k(U=h(U,n.translate(d,void 0,void 0,c)),-1e9,1e9))+X,rt=E=w-U-X,t(U)?n.horiz?(rt=i,E=w-n.bottom+(n.options.isInternal?0:y.scrollablePixelsY||0),lt=N=F(lt,j,j+n.width)):(lt=j,N=z-n.right+(y.scrollablePixelsX||0),rt=E=F(rt,i,i+n.height)):(W=!0,_=!1),st.path=W&&!_?void 0:y.renderer.crispLine([["M",lt,rt],["L",N,E]],M||1)}),Q.path}getLinearTickPositions(l,n,y){let j,i,c,d=T(Math.floor(n/l)*l),M=T(Math.ceil(y/l)*l),w=[];if(T(d+l)===d&&(c=20),this.single)return[n];for(j=d;j<=M&&(w.push(j),(j=T(j+l,c))!==i);)i=j;return w}getMinorTickInterval(){let{minorTicks:l,minorTickInterval:n}=this.options;return l===!0?h(n,"auto"):l!==!1?n:void 0}getMinorTickPositions(){let l=this.options,n=this.tickPositions,y=this.minorTickInterval,j=this.pointRangePadding||0,i=(this.min||0)-j,c=(this.max||0)+j,d=c-i,M=[],w;if(d&&d/y<this.len/3){let z=this.logarithmic;if(z)this.paddedTicks.forEach(function(X,U,_){U&&M.push.apply(M,z.getLogTickPositions(y,_[U-1],_[U],!0))});else if(this.dateTime&&this.getMinorTickInterval()==="auto")M=M.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(y),i,c,l.startOfWeek));else for(w=i+(n[0]-i)%y;w<=c&&w!==M[0];w+=y)M.push(w)}return M.length!==0&&this.trimTicks(M),M}adjustForMinRange(){let l=this.options,n=this.logarithmic,{max:y,min:j,minRange:i}=this,c,d,M,w;this.isXAxis&&i===void 0&&!n&&(i=p(l.min)||p(l.max)||p(l.floor)||p(l.ceiling)?null:Math.min(5*(u(this.series.map(z=>{var X;return(z.xIncrement?(X=z.xData)==null?void 0:X.slice(0,2):z.xData)||[]}))||0),this.dataMax-this.dataMin)),t(y)&&t(j)&&t(i)&&y-j<i&&(d=this.dataMax-this.dataMin>=i,c=(i-y+j)/2,M=[j-c,h(l.min,j-c)],d&&(M[2]=n?n.log2lin(this.dataMin):this.dataMin),w=[(j=m(M))+i,h(l.max,j+i)],d&&(w[2]=n?n.log2lin(this.dataMax):this.dataMax),(y=S(w))-j<i&&(M[0]=y-i,M[1]=h(l.min,y-i),j=m(M))),this.minRange=i,this.min=j,this.max=y}getClosest(){let l,n;if(this.categories)n=1;else{let y=[];this.series.forEach(function(j){var c;let i=j.closestPointRange;((c=j.xData)==null?void 0:c.length)===1?y.push(j.xData[0]):!j.noSharedTooltip&&p(i)&&j.reserveSpace()&&(n=p(n)?Math.min(n,i):i)}),y.length&&(y.sort((j,i)=>j-i),l=u([y]))}return l&&n?Math.min(l,n):l||n}nameToX(l){let n=e(this.options.categories),y=n?this.categories:this.names,j=l.options.x,i;return l.series.requireSorting=!1,p(j)||(j=this.uniqueNames&&y?n?y.indexOf(l.name):h(y.keys[l.name],-1):l.series.autoIncrement()),j===-1?!n&&y&&(i=y.length):i=j,i!==void 0?(this.names[i]=l.name,this.names.keys[l.name]=i):l.x&&(i=l.x),i}updateNames(){let l=this,n=this.names;n.length>0&&(Object.keys(n.keys).forEach(function(y){delete n.keys[y]}),n.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(y=>{y.xIncrement=null,(!y.points||y.isDirtyData)&&(l.max=Math.max(l.max,y.xData.length-1),y.processData(),y.generatePoints()),y.data.forEach(function(j,i){let c;j!=null&&j.options&&j.name!==void 0&&(c=l.nameToX(j))!==void 0&&c!==j.x&&(j.x=c,y.xData[i]=c)})}))}setAxisTranslation(){let l=this,n=l.max-l.min,y=l.linkedParent,j=!!l.categories,i=l.isXAxis,c=l.axisPointRange||0,d,M=0,w=0,z,X=l.transA;(i||j||c)&&(d=l.getClosest(),y?(M=y.minPointOffset,w=y.pointRangePadding):l.series.forEach(function(U){let _=j?1:i?h(U.options.pointRange,d,0):l.axisPointRange||0,lt=U.options.pointPlacement;if(c=Math.max(c,_),!l.single||j){let rt=U.is("xrange")?!i:i;M=Math.max(M,rt&&o(lt)?0:_/2),w=Math.max(w,rt&<==="on"?0:_)}}),z=l.ordinal&&l.ordinal.slope&&d?l.ordinal.slope/d:1,l.minPointOffset=M*=z,l.pointRangePadding=w*=z,l.pointRange=Math.min(c,l.single&&j?1:n),i&&d&&(l.closestPointRange=d)),l.translationSlope=l.transA=X=l.staticScale||l.len/(n+w||1),l.transB=l.horiz?l.left:l.bottom,l.minPixelPadding=X*M,r(this,"afterSetAxisTranslation")}minFromRange(){let{max:l,min:n}=this;return t(l)&&t(n)&&l-n||void 0}setTickInterval(l){var xt,mt,kt,St;let{categories:n,chart:y,dataMax:j,dataMin:i,dateTime:c,isXAxis:d,logarithmic:M,options:w,softThreshold:z}=this,X=t(this.threshold)?this.threshold:void 0,U=this.minRange||0,{ceiling:_,floor:lt,linkedTo:rt,softMax:N,softMin:E}=w,W=t(rt)&&((xt=y[this.coll])==null?void 0:xt[rt]),F=w.tickPixelInterval,Q=w.maxPadding,st=w.minPadding,tt=0,nt,ht=t(w.tickInterval)&&w.tickInterval>=0?w.tickInterval:void 0,ct,ut,ft,bt;if(c||n||W||this.getTickAmount(),ft=h(this.userMin,w.min),bt=h(this.userMax,w.max),W?(this.linkedParent=W,nt=W.getExtremes(),this.min=h(nt.min,nt.dataMin),this.max=h(nt.max,nt.dataMax),this.type!==W.type&&A(11,!0,y)):(z&&p(X)&&t(j)&&t(i)&&(i>=X?(ct=X,st=0):j<=X&&(ut=X,Q=0)),this.min=h(ft,ct,i),this.max=h(bt,ut,j)),t(this.max)&&t(this.min)&&(M&&(this.positiveValuesOnly&&!l&&0>=Math.min(this.min,h(i,this.min))&&A(10,!0,y),this.min=T(M.log2lin(this.min),16),this.max=T(M.log2lin(this.max),16)),this.range&&t(i)&&(this.userMin=this.min=ft=Math.max(i,this.minFromRange()||0),this.userMax=bt=this.max,this.range=void 0)),r(this,"foundExtremes"),this.adjustForMinRange(),t(this.min)&&t(this.max)){if(!t(this.userMin)&&t(E)&&E<this.min&&(this.min=ft=E),!t(this.userMax)&&t(N)&&N>this.max&&(this.max=bt=N),n||this.axisPointRange||(mt=this.stacking)!=null&&mt.usePercentage||W||!(tt=this.max-this.min)||(!p(ft)&&st&&(this.min-=tt*st),p(bt)||!Q||(this.max+=tt*Q)),!t(this.userMin)&&t(lt)&&(this.min=Math.max(this.min,lt)),!t(this.userMax)&&t(_)&&(this.max=Math.min(this.max,_)),z&&t(i)&&t(j)){let Ct=X||0;!p(ft)&&this.min<Ct&&i>=Ct?this.min=w.minRange?Math.min(Ct,this.max-U):Ct:!p(bt)&&this.max>Ct&&j<=Ct&&(this.max=w.minRange?Math.max(Ct,this.min+U):Ct)}!y.polar&&this.min>this.max&&(p(w.min)?this.max=this.min:p(w.max)&&(this.min=this.max)),tt=this.max-this.min}if(this.min!==this.max&&t(this.min)&&t(this.max)?W&&!ht&&F===W.options.tickPixelInterval?this.tickInterval=ht=W.tickInterval:this.tickInterval=h(ht,this.tickAmount?tt/Math.max(this.tickAmount-1,1):void 0,n?1:tt*F/Math.max(this.len,F)):this.tickInterval=1,d&&!l){let Ct=this.min!==((kt=this.old)==null?void 0:kt.min)||this.max!==((St=this.old)==null?void 0:St.max);this.series.forEach(function(Tt){var Mt;Tt.forceCrop=(Mt=Tt.forceCropping)==null?void 0:Mt.call(Tt),Tt.processData(Ct)}),r(this,"postProcessData",{hasExtremesChanged:Ct})}this.setAxisTranslation(),r(this,"initialAxisTranslation"),this.pointRange&&!ht&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let vt=h(w.minTickInterval,c&&!this.series.some(Ct=>Ct.noSharedTooltip)?this.closestPointRange:0);!ht&&this.tickInterval<vt&&(this.tickInterval=vt),c||M||ht||(this.tickInterval=B(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){var z,X;let l=this.options,n=l.tickPositions,y=l.tickPositioner,j=this.getMinorTickInterval(),i=!this.isPanning,c=i&&l.startOnTick,d=i&&l.endOnTick,M=[],w;if(this.tickmarkOffset=this.categories&&l.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.single=this.min===this.max&&p(this.min)&&!this.tickAmount&&(this.min%1==0||l.allowDecimals!==!1),n)M=n.slice();else if(t(this.min)&&t(this.max)){if(!((z=this.ordinal)!=null&&z.positions)&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))M=[this.min,this.max],A(19,!1,this.chart);else if(this.dateTime)M=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,l.units),this.min,this.max,l.startOfWeek,(X=this.ordinal)==null?void 0:X.positions,this.closestPointRange,!0);else if(this.logarithmic)M=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let U=this.tickInterval,_=U;for(;_<=2*U&&(M=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&M.length>this.tickAmount);)this.tickInterval=B(this,_*=1.1)}M.length>this.len&&(M=[M[0],M[M.length-1]])[0]===M[1]&&(M.length=1),y&&(this.tickPositions=M,(w=y.apply(this,[this.min,this.max]))&&(M=w))}this.tickPositions=M,this.minorTickInterval=j==="auto"&&this.tickInterval?this.tickInterval/l.minorTicksPerMajor:j,this.paddedTicks=M.slice(0),this.trimTicks(M,c,d),!this.isLinked&&t(this.min)&&t(this.max)&&(this.single&&M.length<2&&!this.categories&&!this.series.some(U=>U.is("heatmap")&&U.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),n||w||this.adjustTickAmount()),r(this,"afterSetTickPositions")}trimTicks(l,n,y){let j=l[0],i=l[l.length-1],c=!this.isOrdinal&&this.minPointOffset||0;if(r(this,"trimTicks"),!this.isLinked){if(n&&j!==-1/0)this.min=j;else for(;this.min-c>l[0];)l.shift();if(y)this.max=i;else for(;this.max+c<l[l.length-1];)l.pop();l.length===0&&p(j)&&!this.options.tickPositions&&l.push((i+j)/2)}}alignToOthers(){let l,n=this,y=n.chart,j=[this],i=n.options,c=y.options.chart,d=this.coll==="yAxis"&&c.alignThresholds,M=[];if(n.thresholdAlignment=void 0,(c.alignTicks!==!1&&i.alignTicks||d)&&i.startOnTick!==!1&&i.endOnTick!==!1&&!n.logarithmic){let w=X=>{let{horiz:U,options:_}=X;return[U?_.left:_.top,_.width,_.height,_.pane].join(",")},z=w(this);y[this.coll].forEach(function(X){let{series:U}=X;U.length&&U.some(_=>_.visible)&&X!==n&&w(X)===z&&(l=!0,j.push(X))})}if(l&&d){j.forEach(z=>{let X=z.getThresholdAlignment(n);t(X)&&M.push(X)});let w=M.length>1?M.reduce((z,X)=>z+=X,0)/M.length:void 0;j.forEach(z=>{z.thresholdAlignment=w})}return l}getThresholdAlignment(l){if((!t(this.dataMin)||this!==l&&this.series.some(n=>n.isDirty||n.isDirtyData))&&this.getSeriesExtremes(),t(this.threshold)){let n=k((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(n=1-n),n}}getTickAmount(){let l=this.options,n=l.tickPixelInterval,y=l.tickAmount;p(l.tickInterval)||y||!(this.len<n)||this.isRadial||this.logarithmic||!l.startOnTick||!l.endOnTick||(y=2),!y&&this.alignToOthers()&&(y=Math.ceil(this.len/n)+1),y<4&&(this.finalTickAmt=y,y=5),this.tickAmount=y}adjustTickAmount(){let l=this,{finalTickAmt:n,max:y,min:j,options:i,tickPositions:c,tickAmount:d,thresholdAlignment:M}=l,w=c==null?void 0:c.length,z=h(l.threshold,l.softThreshold?0:null),X,U,_=l.tickInterval,lt,rt=()=>c.push(T(c[c.length-1]+_)),N=()=>c.unshift(T(c[0]-_));if(t(M)&&(lt=M<.5?Math.ceil(M*(d-1)):Math.floor(M*(d-1)),i.reversed&&(lt=d-1-lt)),l.hasData()&&t(j)&&t(y)){let E=()=>{l.transA*=(w-1)/(d-1),l.min=i.startOnTick?c[0]:Math.min(j,c[0]),l.max=i.endOnTick?c[c.length-1]:Math.max(y,c[c.length-1])};if(t(lt)&&t(l.threshold)){for(;c[lt]!==z||c.length!==d||c[0]>j||c[c.length-1]<y;){for(c.length=0,c.push(l.threshold);c.length<d;)c[lt]===void 0||c[lt]>l.threshold?N():rt();if(_>8*l.tickInterval)break;_*=2}E()}else if(w<d){for(;c.length<d;)c.length%2||j===z?rt():N();E()}if(p(n)){for(U=X=c.length;U--;)(n===3&&U%2==1||n<=2&&U>0&&U<X-1)&&c.splice(U,1);l.finalTickAmt=void 0}}}setScale(){var c,d;let{coll:l,stacking:n}=this,y=!1,j=!1;this.series.forEach(M=>{y=y||M.isDirtyData||M.isDirty,j=j||M.xAxis&&M.xAxis.isDirty||!1}),this.setAxisSize();let i=this.len!==(this.old&&this.old.len);i||y||j||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(n&&l==="yAxis"&&n.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),n&&l==="xAxis"&&n.buildStacks(),this.isDirty||(this.isDirty=i||this.min!==((c=this.old)==null?void 0:c.min)||this.max!==((d=this.old)==null?void 0:d.max))):n&&n.cleanStacks(),y&&delete this.allExtremes,r(this,"afterSetScale")}setExtremes(l,n,y=!0,j,i){this.series.forEach(c=>{delete c.kdTree}),r(this,"setExtremes",i=x(i,{min:l,max:n}),c=>{this.userMin=c.min,this.userMax=c.max,this.eventArgs=c,y&&this.chart.redraw(j)})}setAxisSize(){let l=this.chart,n=this.options,y=n.offsets||[0,0,0,0],j=this.horiz,i=this.width=Math.round(P(h(n.width,l.plotWidth-y[3]+y[1]),l.plotWidth)),c=this.height=Math.round(P(h(n.height,l.plotHeight-y[0]+y[2]),l.plotHeight)),d=this.top=Math.round(P(h(n.top,l.plotTop+y[0]),l.plotHeight,l.plotTop)),M=this.left=Math.round(P(h(n.left,l.plotLeft+y[3]),l.plotWidth,l.plotLeft));this.bottom=l.chartHeight-c-d,this.right=l.chartWidth-i-M,this.len=Math.max(j?i:c,0),this.pos=j?M:d}getExtremes(){let l=this.logarithmic;return{min:l?T(l.lin2log(this.min)):this.min,max:l?T(l.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(l){let n=this.logarithmic,y=n?n.lin2log(this.min):this.min,j=n?n.lin2log(this.max):this.max;return l===null||l===-1/0?l=y:l===1/0?l=j:y>l?l=y:j<l&&(l=j),this.translate(l,0,1,0,1)}autoLabelAlign(l){let n=(h(l,0)-90*this.side+720)%360,y={align:"center"};return r(this,"autoLabelAlign",y,function(j){n>15&&n<165?j.align="right":n>195&&n<345&&(j.align="left")}),y.align}tickSize(l){let n=this.options,y=h(n[l==="tick"?"tickWidth":"minorTickWidth"],l==="tick"&&this.isXAxis&&!this.categories?1:0),j=n[l==="tick"?"tickLength":"minorTickLength"],i;y&&j&&(n[l+"Position"]==="inside"&&(j=-j),i=[j,y]);let c={tickSize:i};return r(this,"afterTickSize",c),c.tickSize}labelMetrics(){let l=this.chart.renderer,n=this.ticks,y=n[Object.keys(n)[0]]||{};return this.chart.renderer.fontMetrics(y.label||y.movedLabel||l.box)}unsquish(){let l=this.options.labels,n=l.padding||0,y=this.horiz,j=this.tickInterval,i=this.len/(((this.categories?1:0)+this.max-this.min)/j),c=l.rotation,d=T(.8*this.labelMetrics().h),M=Math.max(this.max-this.min,0),w=function(lt){let rt=(lt+2*n)/(i||1);return(rt=rt>1?Math.ceil(rt):1)*j>M&<!==1/0&&i!==1/0&&M&&(rt=Math.ceil(M/j)),T(rt*j)},z=j,X,U=Number.MAX_VALUE,_;if(y){if(!l.staggerLines&&(t(c)?_=[c]:i<l.autoRotationLimit&&(_=l.autoRotation)),_){let lt,rt;for(let N of _)(N===c||N&&N>=-90&&N<=90)&&(rt=(lt=w(Math.abs(d/Math.sin(O*N))))+Math.abs(N/360))<U&&(U=rt,X=N,z=lt)}}else z=w(.75*d);return this.autoRotation=_,this.labelRotation=h(X,t(c)?c:0),l.step?j:z}getSlotWidth(l){let n=this.chart,y=this.horiz,j=this.options.labels,i=Math.max(this.tickPositions.length-(this.categories?0:1),1),c=n.margin[3];if(l&&t(l.slotWidth))return l.slotWidth;if(y&&j.step<2)return j.rotation?0:(this.staggerLines||1)*this.len/i;if(!y){let d=j.style.width;if(d!==void 0)return parseInt(String(d),10);if(c)return c-n.spacing[3]}return .33*n.chartWidth}renderUnsquish(){let l=this.chart,n=l.renderer,y=this.tickPositions,j=this.ticks,i=this.options.labels,c=i.style,d=this.horiz,M=this.getSlotWidth(),w=Math.max(1,Math.round(M-(d?2*(i.padding||0):i.distance||0))),z={},X=this.labelMetrics(),U=c.textOverflow,_,lt,rt=0,N,E;if(o(i.rotation)||(z.rotation=i.rotation||0),y.forEach(function(W){let F=j[W];F.movedLabel&&F.replaceMovedLabel(),F&&F.label&&F.label.textPxLength>rt&&(rt=F.label.textPxLength)}),this.maxLabelLength=rt,this.autoRotation)rt>w&&rt>X.h?z.rotation=this.labelRotation:this.labelRotation=0;else if(M&&(_=w,!U))for(lt="clip",E=y.length;!d&&E--;)(N=j[y[E]].label)&&(N.styles.textOverflow==="ellipsis"?N.css({textOverflow:"clip"}):N.textPxLength>M&&N.css({width:M+"px"}),N.getBBox().height>this.len/y.length-(X.h-X.f)&&(N.specificTextOverflow="ellipsis"));z.rotation&&(_=rt>.5*l.chartHeight?.33*l.chartHeight:rt,U||(lt="ellipsis")),this.labelAlign=i.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(z.align=this.labelAlign),y.forEach(function(W){let F=j[W],Q=F&&F.label,st=c.width,tt={};Q&&(Q.attr(z),F.shortenLabel?F.shortenLabel():_&&!st&&c.whiteSpace!=="nowrap"&&(_<Q.textPxLength||Q.element.tagName==="SPAN")?(tt.width=_+"px",U||(tt.textOverflow=Q.specificTextOverflow||lt),Q.css(tt)):!Q.styles.width||tt.width||st||Q.css({width:null}),delete Q.specificTextOverflow,F.rotation=z.rotation)},this),this.tickRotCorr=n.rotCorr(X.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(l){return l.hasData()})||this.options.showEmpty&&p(this.min)&&p(this.max)}addTitle(l){let n,y=this.chart.renderer,j=this.horiz,i=this.opposite,c=this.options.title,d=this.chart.styledMode;this.axisTitle||((n=c.textAlign)||(n=(j?{low:"left",middle:"center",high:"right"}:{low:i?"right":"left",middle:"center",high:i?"left":"right"})[c.align]),this.axisTitle=y.text(c.text||"",0,0,c.useHTML).attr({zIndex:7,rotation:c.rotation||0,align:n}).addClass("highcharts-axis-title"),d||this.axisTitle.css(a(c.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),d||c.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[l?"show":"hide"](l)}generateTick(l){let n=this.ticks;n[l]?n[l].addLabel():n[l]=new dt(this,l)}createGroups(){let{axisParent:l,chart:n,coll:y,options:j}=this,i=n.renderer,c=(d,M,w)=>i.g(d).attr({zIndex:w}).addClass(`highcharts-${y.toLowerCase()}${M} `+(this.isRadial?`highcharts-radial-axis${M} `:"")+(j.className||"")).add(l);this.axisGroup||(this.gridGroup=c("grid","-grid",j.gridZIndex),this.axisGroup=c("axis","",j.zIndex),this.labelGroup=c("axis-labels","-labels",j.labels.zIndex))}getOffset(){let l=this,{chart:n,horiz:y,options:j,side:i,ticks:c,tickPositions:d,coll:M}=l,w=n.inverted&&!l.isZAxis?[1,0,3,2][i]:i,z=l.hasData(),X=j.title,U=j.labels,_=t(j.crossing),lt=n.axisOffset,rt=n.clipOffset,N=[-1,1,1,-1][i],E,W=0,F,Q=0,st=0,tt,nt;if(l.showAxis=E=z||j.showEmpty,l.staggerLines=l.horiz&&U.staggerLines||void 0,l.createGroups(),z||l.isLinked?(d.forEach(function(ht){l.generateTick(ht)}),l.renderUnsquish(),l.reserveSpaceDefault=i===0||i===2||{1:"left",3:"right"}[i]===l.labelAlign,h(U.reserveSpace,!_&&null,l.labelAlign==="center"||null,l.reserveSpaceDefault)&&d.forEach(function(ht){st=Math.max(c[ht].getLabelSize(),st)}),l.staggerLines&&(st*=l.staggerLines),l.labelOffset=st*(l.opposite?-1:1)):v(c,function(ht,ct){ht.destroy(),delete c[ct]}),X!=null&&X.text&&X.enabled!==!1&&(l.addTitle(E),E&&!_&&X.reserveSpace!==!1&&(l.titleOffset=W=l.axisTitle.getBBox()[y?"height":"width"],Q=p(F=X.offset)?0:h(X.margin,y?5:10))),l.renderLine(),l.offset=N*h(j.offset,lt[i]?lt[i]+(j.margin||0):0),l.tickRotCorr=l.tickRotCorr||{x:0,y:0},nt=i===0?-l.labelMetrics().h:i===2?l.tickRotCorr.y:0,tt=Math.abs(st)+Q,st&&(tt-=nt,tt+=N*(y?h(U.y,l.tickRotCorr.y+N*U.distance):h(U.x,N*U.distance))),l.axisTitleMargin=h(F,tt),l.getMaxLabelDimensions&&(l.maxLabelDimensions=l.getMaxLabelDimensions(c,d)),M!=="colorAxis"&&rt){let ht=this.tickSize("tick");lt[i]=Math.max(lt[i],(l.axisTitleMargin||0)+W+N*l.offset,tt,d&&d.length&&ht?ht[0]+N*l.offset:0);let ct=!l.axisLine||j.offset?0:l.axisLine.strokeWidth()/2;rt[w]=Math.max(rt[w],ct)}r(this,"afterGetOffset")}getLinePath(l){let n=this.chart,y=this.opposite,j=this.offset,i=this.horiz,c=this.left+(y?this.width:0)+j,d=n.chartHeight-this.bottom-(y?this.height:0)+j;return y&&(l*=-1),n.renderer.crispLine([["M",i?this.left:c,i?d:this.top],["L",i?n.chartWidth-this.right:c,i?d:n.chartHeight-this.bottom]],l)}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(l){let n=this.horiz,y=this.left,j=this.top,i=this.len,c=this.options.title,d=n?y:j,M=this.opposite,w=this.offset,z=c.x,X=c.y,U=this.chart.renderer.fontMetrics(l),_=l?Math.max(l.getBBox(!1,0).height-U.h-1,0):0,lt={low:d+(n?0:i),middle:d+i/2,high:d+(n?i:0)}[c.align],rt=(n?j+this.height:y)+(n?1:-1)*(M?-1:1)*(this.axisTitleMargin||0)+[-_,_,U.f,-_][this.side],N={x:n?lt+z:rt+(M?this.width:0)+w+z,y:n?rt+X-(M?this.height:0)+w:lt+X};return r(this,"afterGetTitlePosition",{titlePosition:N}),N}renderMinorTick(l,n){let y=this.minorTicks;y[l]||(y[l]=new dt(this,l,"minor")),n&&y[l].isNew&&y[l].render(null,!0),y[l].render(null,!1,1)}renderTick(l,n,y){let j=this.isLinked,i=this.ticks;(!j||l>=this.min&&l<=this.max||this.grid&&this.grid.isColumn)&&(i[l]||(i[l]=new dt(this,l)),y&&i[l].isNew&&i[l].render(n,!0,-1),i[l].render(n))}render(){let l,n,y=this,j=y.chart,i=y.logarithmic,c=j.renderer,d=y.options,M=y.isLinked,w=y.tickPositions,z=y.axisTitle,X=y.ticks,U=y.minorTicks,_=y.alternateBands,lt=d.stackLabels,rt=d.alternateGridColor,N=d.crossing,E=y.tickmarkOffset,W=y.axisLine,F=y.showAxis,Q=q(c.globalAnimation);if(y.labelEdge.length=0,y.overlap=!1,[X,U,_].forEach(function(st){v(st,function(tt){tt.isActive=!1})}),t(N)){let st=this.isXAxis?j.yAxis[0]:j.xAxis[0],tt=[1,-1,-1,1][this.side];if(st){let nt=st.toPixels(N,!0);y.horiz&&(nt=st.len-nt),y.offset=tt*nt}}if(y.hasData()||M){let st=y.chart.hasRendered&&y.old&&t(y.old.min);y.minorTickInterval&&!y.categories&&y.getMinorTickPositions().forEach(function(tt){y.renderMinorTick(tt,st)}),w.length&&(w.forEach(function(tt,nt){y.renderTick(tt,nt,st)}),E&&(y.min===0||y.single)&&(X[-1]||(X[-1]=new dt(y,-1,null,!0)),X[-1].render(-1))),rt&&w.forEach(function(tt,nt){n=w[nt+1]!==void 0?w[nt+1]+E:y.max-E,nt%2==0&&tt<y.max&&n<=y.max+(j.polar?-E:E)&&(_[tt]||(_[tt]=new ot.PlotLineOrBand(y,{})),l=tt+E,_[tt].options={from:i?i.lin2log(l):l,to:i?i.lin2log(n):n,color:rt,className:"highcharts-alternate-grid"},_[tt].render(),_[tt].isActive=!0)}),y._addedPlotLB||(y._addedPlotLB=!0,(d.plotLines||[]).concat(d.plotBands||[]).forEach(function(tt){y.addPlotBandOrLine(tt)}))}[X,U,_].forEach(function(st){let tt=[],nt=Q.duration;v(st,function(ht,ct){ht.isActive||(ht.render(ct,!1,0),ht.isActive=!1,tt.push(ct))}),L(function(){let ht=tt.length;for(;ht--;)st[tt[ht]]&&!st[tt[ht]].isActive&&(st[tt[ht]].destroy(),delete st[tt[ht]])},st!==_&&j.hasRendered&&nt?nt:0)}),W&&(W[W.isPlaced?"animate":"attr"]({d:this.getLinePath(W.strokeWidth())}),W.isPlaced=!0,W[F?"show":"hide"](F)),z&&F&&(z[z.isNew?"attr":"animate"](y.getTitlePosition(z)),z.isNew=!1),lt&<.enabled&&y.stacking&&y.stacking.renderStackTotals(),y.old={len:y.len,max:y.max,min:y.min,transA:y.transA,userMax:y.userMax,userMin:y.userMin},y.isDirty=!1,r(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(l){l.render()})),this.series.forEach(function(l){l.isDirty=!0})}getKeepProps(){return this.keepProps||G.keepProps}destroy(l){let n=this,y=n.plotLinesAndBands,j=this.eventOptions;if(r(this,"destroy",{keepEvents:l}),l||Y(n),[n.ticks,n.minorTicks,n.alternateBands].forEach(function(i){b(i)}),y){let i=y.length;for(;i--;)y[i].destroy()}for(let i in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(c){n[c]&&(n[c]=n[c].destroy())}),n.plotLinesAndBandsGroups)n.plotLinesAndBandsGroups[i]=n.plotLinesAndBandsGroups[i].destroy();v(n,function(i,c){n.getKeepProps().indexOf(c)===-1&&delete n[c]}),this.eventOptions=j}drawCrosshair(l,n){let y=this.crosshair,j=h(y&&y.snap,!0),i=this.chart,c,d,M,w=this.cross,z;if(r(this,"drawCrosshair",{e:l,point:n}),l||(l=this.cross&&this.cross.e),y&&(p(n)||!j)!==!1){if(j?p(n)&&(d=h(this.coll!=="colorAxis"?n.crosshairPos:null,this.isXAxis?n.plotX:this.len-n.plotY)):d=l&&(this.horiz?l.chartX-this.pos:this.len-l.chartY+this.pos),p(d)&&(z={value:n&&(this.isXAxis?n.x:h(n.stackY,n.y)),translatedValue:d},i.polar&&x(z,{isCrosshair:!0,chartX:l&&l.chartX,chartY:l&&l.chartY,point:n}),c=this.getPlotLinePath(z)||null),!p(c)){this.hideCrosshair();return}M=this.categories&&!this.isRadial,w||(this.cross=w=i.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(M?"category ":"thin ")+(y.className||"")).attr({zIndex:h(y.zIndex,2)}).add(),!i.styledMode&&(w.attr({stroke:y.color||(M?J.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":h(y.width,1)}).css({"pointer-events":"none"}),y.dashStyle&&w.attr({dashstyle:y.dashStyle}))),w.show().attr({d:c}),M&&!y.width&&w.attr({"stroke-width":this.transA}),this.cross.e=l}else this.hideCrosshair();r(this,"afterDrawCrosshair",{e:l,point:n})}hideCrosshair(){this.cross&&this.cross.hide(),r(this,"afterHideCrosshair")}update(l,n){let y=this.chart;l=a(this.userOptions,l),this.destroy(!0),this.init(y,l),y.isDirtyBox=!0,h(n,!0)&&y.redraw()}remove(l){let n=this.chart,y=this.coll,j=this.series,i=j.length;for(;i--;)j[i]&&j[i].remove(!1);D(n.axes,this),D(n[y]||[],this),n.orderItems(y),this.destroy(),n.isDirtyBox=!0,h(l,!0)&&n.redraw()}setTitle(l,n){this.update({title:l},n)}setCategories(l,n){this.update({categories:l},n)}}return G.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],G}),yt(H,"Core/Axis/DateTimeAxis.js",[H["Core/Utilities.js"]],function(Z){var K;let{addEvent:J,getMagnitude:it,normalizeTickInterval:at,timeUnits:ot}=Z;return function(dt){function $(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function q(){if(this.type!=="datetime"){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new V(this))}dt.compose=function(C){return C.keepProps.includes("dateTime")||(C.keepProps.push("dateTime"),C.prototype.getTimeTicks=$,J(C,"afterSetType",q)),C};class V{constructor(R){this.axis=R}normalizeTimeTickInterval(R,I){let O=I||[["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]],m=O[O.length-1],S=ot[m[0]],k=m[1],T;for(T=0;T<O.length&&(S=ot[(m=O[T])[0]],k=m[1],!O[T+1]||!(R<=(S*k[k.length-1]+ot[O[T+1][0]])/2));T++);S===ot.year&&R<5*S&&(k=[1,2,5]);let p=at(R/S,k,m[0]==="year"?Math.max(it(R/S),1):1);return{unitRange:S,count:p,unitName:m[0]}}getXDateFormat(R,I){let{axis:O}=this,m=O.chart.time;return O.closestPointRange?m.getDateFormat(O.closestPointRange,R,O.options.startOfWeek,I)||m.resolveDTLFormat(I.year).main:m.resolveDTLFormat(I.day).main}}dt.Additions=V}(K||(K={})),K}),yt(H,"Core/Axis/LogarithmicAxis.js",[H["Core/Utilities.js"]],function(Z){var K;let{addEvent:J,normalizeTickInterval:it,pick:at}=Z;return function(ot){function dt(){this.type!=="logarithmic"?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new q(this))}function $(){let V=this.logarithmic;V&&(this.lin2val=function(C){return V.lin2log(C)},this.val2lin=function(C){return V.log2lin(C)})}ot.compose=function(V){return V.keepProps.includes("logarithmic")||(V.keepProps.push("logarithmic"),J(V,"afterSetType",dt),J(V,"afterInit",$)),V};class q{constructor(C){this.axis=C}getLogTickPositions(C,R,I,O){let m=this.axis,S=m.len,k=m.options,T=[];if(O||(this.minorAutoInterval=void 0),C>=.5)C=Math.round(C),T=m.getLinearTickPositions(C,R,I);else if(C>=.08){let p,b,D,A,x,r,u,s=Math.floor(R);for(p=C>.3?[1,2,4]:C>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],b=s;b<I+1&&!u;b++)for(D=0,A=p.length;D<A&&!u;D++)(x=this.log2lin(this.lin2log(b)*p[D]))>R&&(!O||r<=I)&&r!==void 0&&T.push(r),r>I&&(u=!0),r=x}else{let p=this.lin2log(R),b=this.lin2log(I),D=O?m.getMinorTickInterval():k.tickInterval,A=k.tickPixelInterval/(O?5:1),x=O?S/m.tickPositions.length:S;C=it(C=at(D==="auto"?null:D,this.minorAutoInterval,(b-p)*A/(x||1))),T=m.getLinearTickPositions(C,p,b).map(this.log2lin),O||(this.minorAutoInterval=C/5)}return O||(m.tickInterval=C),T}lin2log(C){return Math.pow(10,C)}log2lin(C){return Math.log(C)/Math.LN10}}ot.Additions=q}(K||(K={})),K}),yt(H,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[H["Core/Utilities.js"]],function(Z){var K;let{erase:J,extend:it,isNumber:at}=Z;return function(ot){let dt;function $(m){return this.addPlotBandOrLine(m,"plotBands")}function q(m,S){let k=this.userOptions,T=new dt(this,m);if(this.visible&&(T=T.render()),T){if(this._addedPlotLB||(this._addedPlotLB=!0,(k.plotLines||[]).concat(k.plotBands||[]).forEach(p=>{this.addPlotBandOrLine(p)})),S){let p=k[S]||[];p.push(m),k[S]=p}this.plotLinesAndBands.push(T)}return T}function V(m){return this.addPlotBandOrLine(m,"plotLines")}function C(m,S,k){k=k||this.options;let T=this.getPlotLinePath({value:S,force:!0,acrossPanes:k.acrossPanes}),p=[],b=this.horiz,D=!at(this.min)||!at(this.max)||m<this.min&&S<this.min||m>this.max&&S>this.max,A=this.getPlotLinePath({value:m,force:!0,acrossPanes:k.acrossPanes}),x,r=1,u;if(A&&T)for(D&&(u=A.toString()===T.toString(),r=0),x=0;x<A.length;x+=2){let s=A[x],e=A[x+1],t=T[x],o=T[x+1];(s[0]==="M"||s[0]==="L")&&(e[0]==="M"||e[0]==="L")&&(t[0]==="M"||t[0]==="L")&&(o[0]==="M"||o[0]==="L")&&(b&&t[1]===s[1]?(t[1]+=r,o[1]+=r):b||t[2]!==s[2]||(t[2]+=r,o[2]+=r),p.push(["M",s[1],s[2]],["L",e[1],e[2]],["L",o[1],o[2]],["L",t[1],t[2]],["Z"])),p.isFlat=u}return p}function R(m){this.removePlotBandOrLine(m)}function I(m){let S=this.plotLinesAndBands,k=this.options,T=this.userOptions;if(S){let p=S.length;for(;p--;)S[p].id===m&&S[p].destroy();[k.plotLines||[],T.plotLines||[],k.plotBands||[],T.plotBands||[]].forEach(function(b){for(p=b.length;p--;)(b[p]||{}).id===m&&J(b,b[p])})}}function O(m){this.removePlotBandOrLine(m)}ot.compose=function(m,S){let k=S.prototype;return k.addPlotBand||(dt=m,it(k,{addPlotBand:$,addPlotLine:V,addPlotBandOrLine:q,getPlotBandPath:C,removePlotBand:R,removePlotLine:O,removePlotBandOrLine:I})),S}}(K||(K={})),K}),yt(H,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[H["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],H["Core/Utilities.js"]],function(Z,K){let{addEvent:J,arrayMax:it,arrayMin:at,defined:ot,destroyObjectProperties:dt,erase:$,fireEvent:q,merge:V,objectEach:C,pick:R}=K;class I{static compose(m,S){return J(m,"afterInit",function(){this.labelCollectors.push(()=>{var T;let k=[];for(let p of this.axes)for(let{label:b,options:D}of p.plotLinesAndBands)b&&!((T=D==null?void 0:D.label)!=null&&T.allowOverlap)&&k.push(b);return k})}),Z.compose(I,S)}constructor(m,S){this.axis=m,this.options=S,this.id=S.id}render(){q(this,"render");let{axis:m,options:S}=this,{horiz:k,logarithmic:T}=m,{color:p,events:b,zIndex:D=0}=S,A={},x=m.chart.renderer,r=S.to,u=S.from,s=S.value,e=S.borderWidth,t=S.label,{label:o,svgElem:a}=this,f=[],v,h=ot(u)&&ot(r),P=ot(s),Y=!a,g={class:"highcharts-plot-"+(h?"band ":"line ")+(S.className||"")},L=h?"bands":"lines";if(!m.chart.styledMode&&(P?(g.stroke=p||"#999999",g["stroke-width"]=R(S.width,1),S.dashStyle&&(g.dashstyle=S.dashStyle)):h&&(g.fill=p||"#e6e9ff",e&&(g.stroke=S.borderColor,g["stroke-width"]=e))),A.zIndex=D,L+="-"+D,(v=m.plotLinesAndBandsGroups[L])||(m.plotLinesAndBandsGroups[L]=v=x.g("plot-"+L).attr(A).add()),a||(this.svgElem=a=x.path().attr(g).add(v)),ot(s))f=m.getPlotLinePath({value:(T==null?void 0:T.log2lin(s))??s,lineWidth:a.strokeWidth(),acrossPanes:S.acrossPanes});else{if(!(ot(u)&&ot(r)))return;f=m.getPlotBandPath((T==null?void 0:T.log2lin(u))??u,(T==null?void 0:T.log2lin(r))??r,S)}return!this.eventsAdded&&b&&(C(b,(B,G)=>{a==null||a.on(G,et=>{b[G].apply(this,[et])})}),this.eventsAdded=!0),(Y||!a.d)&&(f!=null&&f.length)?a.attr({d:f}):a&&(f?(a.show(),a.animate({d:f})):a.d&&(a.hide(),o&&(this.label=o=o.destroy()))),t&&(ot(t.text)||ot(t.formatter))&&(f!=null&&f.length)&&m.width>0&&m.height>0&&!f.isFlat?(t=V({align:k&&h?"center":void 0,x:k?!h&&4:10,verticalAlign:!k&&h?"middle":void 0,y:k?h?16:10:h?6:-4,rotation:k&&!h?90:0,...h?{inside:!0}:{}},t),this.renderLabel(t,f,h,D)):o&&o.hide(),this}renderLabel(m,S,k,T){var t;let p=this.axis,b=p.chart.renderer,D=m.inside,A=this.label;A||(this.label=A=b.text(this.getLabelText(m),0,0,m.useHTML).attr({align:m.textAlign||m.align,rotation:m.rotation,class:"highcharts-plot-"+(k?"band":"line")+"-label "+(m.className||""),zIndex:T}),p.chart.styledMode||A.css(V({fontSize:"0.8em",textOverflow:k&&!D?"":"ellipsis"},m.style)),A.add());let x=S.xBounds||[S[0][1],S[1][1],k?S[2][1]:S[0][1]],r=S.yBounds||[S[0][2],S[1][2],k?S[2][2]:S[0][2]],u=at(x),s=at(r),e=it(x)-u;A.align(m,!1,{x:u,y:s,width:e,height:it(r)-s}),(!A.alignValue||A.alignValue==="left"||ot(D))&&A.css({width:(((t=m.style)==null?void 0:t.width)||(k&&D?e:A.rotation===90?p.height-(A.alignAttr.y-p.top):(m.clip?p.width:p.chart.chartWidth)-(A.alignAttr.x-p.left)))+"px"}),A.show(!0)}getLabelText(m){return ot(m.formatter)?m.formatter.call(this):m.text}destroy(){$(this.axis.plotLinesAndBands,this),delete this.axis,dt(this)}}return I}),yt(H,"Core/Tooltip.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Templating.js"],H["Core/Globals.js"],H["Core/Renderer/RendererUtilities.js"],H["Core/Renderer/RendererRegistry.js"],H["Core/Utilities.js"]],function(Z,K,J,it,at,ot){var dt;let{animObject:$}=Z,{format:q}=K,{composed:V,doc:C,isSafari:R}=J,{distribute:I}=it,{addEvent:O,clamp:m,css:S,discardElement:k,extend:T,fireEvent:p,isArray:b,isNumber:D,isString:A,merge:x,pick:r,pushUnique:u,splat:s,syncTimeout:e}=ot;class t{constructor(a,f,v){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=a,this.init(a,f),this.pointer=v}bodyFormatter(a){return a.map(function(f){let v=f.series.tooltipOptions;return(v[(f.point.formatPrefix||"point")+"Formatter"]||f.point.tooltipFormatter).call(f.point,v[(f.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(a){this.chart.series.forEach(function(f){let v=f&&f.tt;v&&(!v.isActive||a?f.tt=v.destroy():v.isActive=!1)})}defaultFormatter(a){let f,v=this.points||s(this);return(f=(f=[a.tooltipFooterHeaderFormatter(v[0])]).concat(a.bodyFormatter(v))).push(a.tooltipFooterHeaderFormatter(v[0],!0)),f}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(),k(this.container)),ot.clearTimeout(this.hideTimer)}getAnchor(a,f){let v,{chart:h,pointer:P}=this,Y=h.inverted,g=h.plotTop,L=h.plotLeft;if((a=s(a))[0].series&&a[0].series.yAxis&&!a[0].series.yAxis.options.reversedStacks&&(a=a.slice().reverse()),this.followPointer&&f)f.chartX===void 0&&(f=P.normalize(f)),v=[f.chartX-L,f.chartY-g];else if(a[0].tooltipPos)v=a[0].tooltipPos;else{let B=0,G=0;a.forEach(function(et){let l=et.pos(!0);l&&(B+=l[0],G+=l[1])}),B/=a.length,G/=a.length,this.shared&&a.length>1&&f&&(Y?B=f.chartX:G=f.chartY),v=[B-L,G-g]}return v.map(Math.round)}getClassName(a,f,v){let h=this.options,P=a.series,Y=P.options;return[h.className,"highcharts-label",v&&"highcharts-tooltip-header",f?"highcharts-tooltip-box":"highcharts-tooltip",!v&&"highcharts-color-"+r(a.colorIndex,P.colorIndex),Y&&Y.className].filter(A).join(" ")}getLabel({anchorX:a,anchorY:f}={anchorX:0,anchorY:0}){let v=this,h=this.chart.styledMode,P=this.options,Y=this.split&&this.allowShared,g=this.container,L=this.chart.renderer;if(this.label){let B=!this.label.hasClass("highcharts-label");(!Y&&B||Y&&!B)&&this.destroy()}if(!this.label){if(this.outside){let B=this.chart.options.chart.style,G=at.getRendererType();this.container=g=J.doc.createElement("div"),g.className="highcharts-tooltip-container",S(g,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(B&&B.zIndex||0)+3)}),this.renderer=L=new G(g,0,0,B,void 0,void 0,L.styledMode)}if(Y?this.label=L.g("tooltip"):(this.label=L.label("",a,f,P.shape,void 0,void 0,P.useHTML,void 0,"tooltip").attr({padding:P.padding,r:P.borderRadius}),h||this.label.attr({fill:P.backgroundColor,"stroke-width":P.borderWidth||0}).css(P.style).css({pointerEvents:P.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),v.outside){let B=this.label;[B.xSetter,B.ySetter].forEach((G,et)=>{B[et?"ySetter":"xSetter"]=l=>{G.call(B,v.distance),B[et?"y":"x"]=l,g&&(g.style[et?"top":"left"]=`${l}px`)}})}this.label.attr({zIndex:8}).shadow(P.shadow).add()}return g&&!g.parentElement&&J.doc.body.appendChild(g),this.label}getPlayingField(){let{body:a,documentElement:f}=C,{chart:v,distance:h,outside:P}=this;return{width:P?Math.max(a.scrollWidth,f.scrollWidth,a.offsetWidth,f.offsetWidth,f.clientWidth)-2*h:v.chartWidth,height:P?Math.max(a.scrollHeight,f.scrollHeight,a.offsetHeight,f.offsetHeight,f.clientHeight):v.chartHeight}}getPosition(a,f,v){var Q,st;let{distance:h,chart:P,outside:Y,pointer:g}=this,{inverted:L,plotLeft:B,plotTop:G,polar:et}=P,{plotX:l=0,plotY:n=0}=v,y={},j=L&&v.h||0,{height:i,width:c}=this.getPlayingField(),d=g.getChartPosition(),M=tt=>tt*d.scaleX,w=tt=>tt*d.scaleY,z=tt=>{let nt=tt==="x";return[tt,nt?c:i,nt?a:f].concat(Y?[nt?M(a):w(f),nt?d.left-h+M(l+B):d.top-h+w(n+G),0,nt?c:i]:[nt?a:f,nt?l+B:n+G,nt?B:G,nt?B+P.plotWidth:G+P.plotHeight])},X=z("y"),U=z("x"),_,lt=!!v.negative;!et&&((st=(Q=P.hoverSeries)==null?void 0:Q.yAxis)!=null&&st.reversed)&&(lt=!lt);let rt=!this.followPointer&&r(v.ttBelow,!et&&!L===lt),N=function(tt,nt,ht,ct,ut,ft,bt){let vt=Y?tt==="y"?w(h):M(h):h,xt=(ht-ct)/2,mt=ct<ut-h,kt=ut+h+ct<nt,St=ut-vt-ht+xt,Ct=ut+vt-xt;if(rt&&kt)y[tt]=Ct;else if(!rt&&mt)y[tt]=St;else if(mt)y[tt]=Math.min(bt-ct,St-j<0?St:St-j);else{if(!kt)return!1;y[tt]=Math.max(ft,Ct+j+ht>nt?Ct:Ct+j)}},E=function(tt,nt,ht,ct,ut){if(ut<h||ut>nt-h)return!1;ut<ht/2?y[tt]=1:ut>nt-ct/2?y[tt]=nt-ct-2:y[tt]=ut-ht/2},W=function(tt){[X,U]=[U,X],_=tt},F=()=>{N.apply(0,X)!==!1?E.apply(0,U)!==!1||_||(W(!0),F()):_?y.x=y.y=0:(W(!0),F())};return(L&&!et||this.len>1)&&W(),F(),y}hide(a){let f=this;ot.clearTimeout(this.hideTimer),a=r(a,this.options.hideDelay),this.isHidden||(this.hideTimer=e(function(){let v=f.getLabel();f.getLabel().animate({opacity:0},{duration:a&&150,complete:()=>{v.hide(),f.container&&f.container.remove()}}),f.isHidden=!0},a))}init(a,f){this.chart=a,this.options=f,this.crosshairs=[],this.isHidden=!0,this.split=f.split&&!a.inverted&&!a.polar,this.shared=f.shared||this.split,this.outside=r(f.outside,!!(a.scrollablePixelsX||a.scrollablePixelsY))}shouldStickOnContact(a){return!!(!this.followPointer&&this.options.stickOnContact&&(!a||this.pointer.inClass(a.target,"highcharts-tooltip")))}move(a,f,v,h){let P=this,Y=$(!P.isHidden&&P.options.animation),g=P.followPointer||(P.len||0)>1,L={x:a,y:f};g||(L.anchorX=v,L.anchorY=h),Y.step=()=>P.drawTracker(),P.getLabel().animate(L,Y)}refresh(a,f){let{chart:v,options:h,pointer:P,shared:Y}=this,g=s(a),L=g[0],B=[],G=h.format,et=h.formatter||this.defaultFormatter,l=v.styledMode,n={},y=this.allowShared;if(!h.enabled||!L.series)return;ot.clearTimeout(this.hideTimer),this.allowShared=!(!b(a)&&a.series&&a.series.noSharedTooltip),y=y&&!this.allowShared,this.followPointer=!this.split&&L.series.tooltipOptions.followPointer;let j=this.getAnchor(a,f),i=j[0],c=j[1];Y&&this.allowShared?(P.applyInactiveState(g),g.forEach(function(w){w.setState("hover"),B.push(w.getLabelConfig())}),(n=L.getLabelConfig()).points=B):n=L.getLabelConfig(),this.len=B.length;let d=A(G)?q(G,n,v):et.call(n,this),M=L.series;if(this.distance=r(M.tooltipOptions.distance,16),d===!1)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(d,g);else{let w=i,z=c;if(f&&P.isDirectTouch&&(w=f.chartX-v.plotLeft,z=f.chartY-v.plotTop),v.polar||M.options.clip===!1||g.some(X=>P.isDirectTouch||X.series.shouldShowTooltip(w,z))){let X=this.getLabel(y&&this.tt||{});(!h.style.width||l)&&X.css({width:(this.outside?this.getPlayingField():v.spacingBox).width+"px"}),X.attr({class:this.getClassName(L),text:d&&d.join?d.join(""):d}),this.outside&&X.attr({x:m(X.x||0,0,this.getPlayingField().width-(X.width||0))}),l||X.attr({stroke:h.borderColor||L.color||M.color||"#666666"}),this.updatePosition({plotX:i,plotY:c,negative:L.negative,ttBelow:L.ttBelow,h:j[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}p(this,"refresh")}renderSplit(a,f){var nt;let v=this,{chart:h,chart:{chartWidth:P,chartHeight:Y,plotHeight:g,plotLeft:L,plotTop:B,scrollablePixelsY:G=0,scrollablePixelsX:et,styledMode:l},distance:n,options:y,options:{positioner:j},pointer:i}=v,{scrollLeft:c=0,scrollTop:d=0}=((nt=h.scrollablePlotArea)==null?void 0:nt.scrollingContainer)||{},M=v.outside&&typeof et!="number"?C.documentElement.getBoundingClientRect():{left:c,right:c+P,top:d,bottom:d+Y},w=v.getLabel(),z=this.renderer||h.renderer,X=!!(h.xAxis[0]&&h.xAxis[0].opposite),{left:U,top:_}=i.getChartPosition(),lt=B+d,rt=0,N=g-G;function E(ht,ct,ut,ft,bt=!0){let vt,xt;return ut?(vt=X?0:N,xt=m(ht-ft/2,M.left,M.right-ft-(v.outside?U:0))):(vt=ct-lt,xt=m(xt=bt?ht-ft-n:ht+n,bt?xt:M.left,M.right)),{x:xt,y:vt}}A(a)&&(a=[!1,a]);let W=a.slice(0,f.length+1).reduce(function(ht,ct,ut){if(ct!==!1&&ct!==""){let ft=f[ut-1]||{isHeader:!0,plotX:f[0].plotX,plotY:g,series:{}},bt=ft.isHeader,vt=bt?v:ft.series,xt=vt.tt=function(Tt,Mt,Lt){let At=Tt,{isHeader:It,series:Xt}=Mt;if(!At){let Wt={padding:y.padding,r:y.borderRadius};l||(Wt.fill=y.backgroundColor,Wt["stroke-width"]=y.borderWidth??1),At=z.label("",0,0,y[It?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(v.getClassName(Mt,!0,It)).attr(Wt).add(w)}return At.isActive=!0,At.attr({text:Lt}),l||At.css(y.style).attr({stroke:y.borderColor||Mt.color||Xt.color||"#333333"}),At}(vt.tt,ft,ct.toString()),mt=xt.getBBox(),kt=mt.width+xt.strokeWidth();bt&&(rt=mt.height,N+=rt,X&&(lt-=rt));let{anchorX:St,anchorY:Ct}=function(Tt){let Mt,Lt,{isHeader:At,plotX:It=0,plotY:Xt=0,series:Wt}=Tt;if(At)Mt=Math.max(L+It,L),Lt=B+g/2;else{let{xAxis:Ft,yAxis:Et}=Wt;Mt=Ft.pos+m(It,-n,Ft.len+n),Wt.shouldShowTooltip(0,Et.pos-B+Xt,{ignoreX:!0})&&(Lt=Et.pos+Xt)}return{anchorX:Mt=m(Mt,M.left-n,M.right+n),anchorY:Lt}}(ft);if(typeof Ct=="number"){let Tt=mt.height+1,Mt=j?j.call(v,kt,Tt,ft):E(St,Ct,bt,kt);ht.push({align:j?0:void 0,anchorX:St,anchorY:Ct,boxWidth:kt,point:ft,rank:r(Mt.rank,bt?1:0),size:Tt,target:Mt.y,tt:xt,x:Mt.x})}else xt.isActive=!1}return ht},[]);!j&&W.some(ht=>{let{outside:ct}=v,ut=(ct?U:0)+ht.anchorX;return ut<M.left&&ut+ht.boxWidth<M.right||ut<U-M.left+ht.boxWidth&&M.right-ut>ut})&&(W=W.map(ht=>{let{x:ct,y:ut}=E(ht.anchorX,ht.anchorY,ht.point.isHeader,ht.boxWidth,!1);return T(ht,{target:ut,x:ct})})),v.cleanSplit(),I(W,N);let F={left:U,right:U};W.forEach(function(ht){let{x:ct,boxWidth:ut,isHeader:ft}=ht;!ft&&(v.outside&&U+ct<F.left&&(F.left=U+ct),!ft&&v.outside&&F.left+ut>F.right&&(F.right=U+ct))}),W.forEach(function(ht){let{x:ct,anchorX:ut,anchorY:ft,pos:bt,point:{isHeader:vt}}=ht,xt={visibility:bt===void 0?"hidden":"inherit",x:ct,y:(bt||0)+lt,anchorX:ut,anchorY:ft};if(v.outside&&ct<ut){let mt=U-F.left;mt>0&&(vt||(xt.x=ct+mt,xt.anchorX=ut+mt),vt&&(xt.x=(F.right-F.left)/2,xt.anchorX=ut+mt))}ht.tt.attr(xt)});let{container:Q,outside:st,renderer:tt}=v;if(st&&Q&&tt){let{width:ht,height:ct,x:ut,y:ft}=w.getBBox();tt.setSize(ht+ut,ct+ft,!1),Q.style.left=F.left+"px",Q.style.top=_+"px"}R&&w.attr({opacity:w.opacity===1?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let a=this.chart,f=this.label,v=this.shared?a.hoverPoints:a.hoverPoint;if(!f||!v)return;let h={x:0,y:0,width:0,height:0},P=this.getAnchor(v),Y=f.getBBox();P[0]+=a.plotLeft-(f.translateX||0),P[1]+=a.plotTop-(f.translateY||0),h.x=Math.min(0,P[0]),h.y=Math.min(0,P[1]),h.width=P[0]<0?Math.max(Math.abs(P[0]),Y.width-P[0]):Math.max(Math.abs(P[0]),Y.width),h.height=P[1]<0?Math.max(Math.abs(P[1]),Y.height-Math.abs(P[1])):Math.max(Math.abs(P[1]),Y.height),this.tracker?this.tracker.attr(h):(this.tracker=f.renderer.rect(h).addClass("highcharts-tracker").add(f),a.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(a){return a.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(a,f){let v=a.series,h=v.tooltipOptions,P=v.xAxis,Y=P&&P.dateTime,g={isFooter:f,labelConfig:a},L=h.xDateFormat,B=h[f?"footerFormat":"headerFormat"];return p(this,"headerFormatter",g,function(G){Y&&!L&&D(a.key)&&(L=Y.getXDateFormat(a.key,h.dateTimeLabelFormats)),Y&&L&&(a.point&&a.point.tooltipDateKeys||["key"]).forEach(function(et){B=B.replace("{point."+et+"}","{point."+et+":"+L+"}")}),v.chart.styledMode&&(B=this.styledModeFormat(B)),G.text=q(B,{point:a,series:v},this.chart)}),g.text}update(a){this.destroy(),this.init(this.chart,x(!0,this.options,a))}updatePosition(a){let{chart:f,container:v,distance:h,options:P,pointer:Y,renderer:g}=this,{height:L=0,width:B=0}=this.getLabel(),{left:G,top:et,scaleX:l,scaleY:n}=Y.getChartPosition(),y=(P.positioner||this.getPosition).call(this,B,L,a),j=(a.plotX||0)+f.plotLeft,i=(a.plotY||0)+f.plotTop,c;g&&v&&(P.positioner&&(y.x+=G-h,y.y+=et-h),c=(P.borderWidth||0)+2*h+2,g.setSize(B+c,L+c,!1),(l!==1||n!==1)&&(S(v,{transform:`scale(${l}, ${n})`}),j*=l,i*=n),j+=G-y.x,i+=et-y.y),this.move(Math.round(y.x),Math.round(y.y||0),j,i)}}return(dt=t||(t={})).compose=function(o){u(V,"Core.Tooltip")&&O(o,"afterInit",function(){let a=this.chart;a.options.tooltip&&(a.tooltip=new dt(a,a.options.tooltip,this))})},t}),yt(H,"Core/Series/Point.js",[H["Core/Renderer/HTML/AST.js"],H["Core/Animation/AnimationUtilities.js"],H["Core/Defaults.js"],H["Core/Templating.js"],H["Core/Utilities.js"]],function(Z,K,J,it,at){let{animObject:ot}=K,{defaultOptions:dt}=J,{format:$}=it,{addEvent:q,crisp:V,erase:C,extend:R,fireEvent:I,getNestedProperty:O,isArray:m,isFunction:S,isNumber:k,isObject:T,merge:p,pick:b,syncTimeout:D,removeEvent:A,uniqueKey:x}=at;class r{animateBeforeDestroy(){let s=this,e={x:s.startXPos,opacity:0},t=s.getGraphicalProps();t.singular.forEach(function(o){s[o]=s[o].animate(o==="dataLabel"?{x:s[o].startXPos,y:s[o].startYPos,opacity:0}:e)}),t.plural.forEach(function(o){s[o].forEach(function(a){a.element&&a.animate(R({x:s.startXPos},a.startYPos?{x:a.startXPos,y:a.startYPos}:{}))})})}applyOptions(s,e){let t=this.series,o=t.options.pointValKey||t.pointValKey;return R(this,s=r.prototype.optionsToObject.call(this,s)),this.options=this.options?R(this.options,s):s,s.group&&delete this.group,s.dataLabels&&delete this.dataLabels,o&&(this.y=r.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&e===void 0&&t.xAxis&&t.xAxis.hasNames&&(this.x=t.xAxis.nameToX(this)),this.x===void 0&&t?this.x=e??t.autoIncrement():k(s.x)&&t.options.relativeXValue&&(this.x=t.autoIncrement(s.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let s=this,e=s.series,t=e.chart,o=e.options.dataSorting,a=t.hoverPoints,f=ot(s.series.chart.renderer.globalAnimation),v=()=>{for(let h in(s.graphic||s.graphics||s.dataLabel||s.dataLabels)&&(A(s),s.destroyElements()),s)delete s[h]};s.legendItem&&t.legend.destroyItem(s),a&&(s.setState(),C(a,s),a.length||(t.hoverPoints=null)),s===t.hoverPoint&&s.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),D(v,f.duration)):v(),t.pointCount--}this.destroyed=!0}destroyElements(s){let e=this,t=e.getGraphicalProps(s);t.singular.forEach(function(o){e[o]=e[o].destroy()}),t.plural.forEach(function(o){e[o].forEach(function(a){a&&a.element&&a.destroy()}),delete e[o]})}firePointEvent(s,e,t){let o=this,a=this.series.options;o.manageEvent(s),s==="click"&&a.allowPointSelect&&(t=function(f){!o.destroyed&&o.select&&o.select(null,f.ctrlKey||f.metaKey||f.shiftKey)}),I(o,s,e,t)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(this.colorIndex!==void 0?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(s){let e,t,o=this,a=[],f={singular:[],plural:[]};for((s=s||{graphic:1,dataLabel:1}).graphic&&a.push("graphic","connector"),s.dataLabel&&a.push("dataLabel","dataLabelPath","dataLabelUpper"),t=a.length;t--;)o[e=a[t]]&&f.singular.push(e);return["graphic","dataLabel"].forEach(function(v){let h=v+"s";s[v]&&o[h]&&f.plural.push(h)}),f}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(s){return s?s.indexOf("custom.")===0?O(s,this.options):this[s]:void 0}getZone(){let s=this.series,e=s.zones,t=s.zoneAxis||"y",o,a=0;for(o=e[0];this[t]>=o.value;)o=e[++a];return this.nonZonedColor||(this.nonZonedColor=this.color),o&&o.color&&!this.options.color?this.color=o.color:this.color=this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(s,e,t){this.formatPrefix="point",this.visible=!0,this.series=s,this.applyOptions(e,t),this.id??(this.id=x()),this.resolveColor(),s.chart.pointCount++,I(this,"afterInit")}isValid(){return(k(this.x)||this.x instanceof Date)&&k(this.y)}optionsToObject(s){let e=this.series,t=e.options.keys,o=t||e.pointArrayMap||["y"],a=o.length,f={},v,h=0,P=0;if(k(s)||s===null)f[o[0]]=s;else if(m(s))for(!t&&s.length>a&&((v=typeof s[0])=="string"?f.name=s[0]:v==="number"&&(f.x=s[0]),h++);P<a;)t&&s[h]===void 0||(o[P].indexOf(".")>0?r.prototype.setNestedProperty(f,s[h],o[P]):f[o[P]]=s[h]),h++,P++;else typeof s=="object"&&(f=s,s.dataLabels&&(e.hasDataLabels=()=>!0),s.marker&&(e._hasPointMarkers=!0));return f}pos(s,e=this.plotY){if(!this.destroyed){let{plotX:t,series:o}=this,{chart:a,xAxis:f,yAxis:v}=o,h=0,P=0;if(k(t)&&k(e))return s&&(h=f?f.pos:a.plotLeft,P=v?v.pos:a.plotTop),a.inverted&&f&&v?[v.len-e+P,f.len-t+h]:[t+h,e+P]}}resolveColor(){let s=this.series,e=s.chart.options.chart,t=s.chart.styledMode,o,a,f=e.colorCount,v;delete this.nonZonedColor,s.options.colorByPoint?(t||(o=(a=s.options.colors||s.chart.options.colors)[s.colorCounter],f=a.length),v=s.colorCounter,s.colorCounter++,s.colorCounter===f&&(s.colorCounter=0)):(t||(o=s.color),v=s.colorIndex),this.colorIndex=b(this.options.colorIndex,v),this.color=b(this.options.color,o)}setNestedProperty(s,e,t){return t.split(".").reduce(function(o,a,f,v){let h=v.length-1===f;return o[a]=h?e:T(o[a],!0)?o[a]:{},o[a]},s),s}shouldDraw(){return!this.isNull}tooltipFormatter(s){let e=this.series,t=e.tooltipOptions,o=b(t.valueDecimals,""),a=t.valuePrefix||"",f=t.valueSuffix||"";return e.chart.styledMode&&(s=e.chart.tooltip.styledModeFormat(s)),(e.pointArrayMap||["y"]).forEach(function(v){v="{point."+v,(a||f)&&(s=s.replace(RegExp(v+"}","g"),a+v+"}"+f)),s=s.replace(RegExp(v+"}","g"),v+":,."+o+"f}")}),$(s,{point:this,series:this.series},e.chart)}update(s,e,t,o){let a,f=this,v=f.series,h=f.graphic,P=v.chart,Y=v.options;function g(){f.applyOptions(s);let L=h&&f.hasMockGraphic,B=f.y===null?!L:L;h&&B&&(f.graphic=h.destroy(),delete f.hasMockGraphic),T(s,!0)&&(h&&h.element&&s&&s.marker&&s.marker.symbol!==void 0&&(f.graphic=h.destroy()),s!=null&&s.dataLabels&&f.dataLabel&&(f.dataLabel=f.dataLabel.destroy())),a=f.index,v.updateParallelArrays(f,a),Y.data[a]=T(Y.data[a],!0)||T(s,!0)?f.options:b(s,Y.data[a]),v.isDirty=v.isDirtyData=!0,!v.fixedBox&&v.hasCartesianSeries&&(P.isDirtyBox=!0),Y.legendType==="point"&&(P.isDirtyLegend=!0),e&&P.redraw(t)}e=b(e,!0),o===!1?g():f.firePointEvent("update",{options:s},g)}remove(s,e){this.series.removePoint(this.series.data.indexOf(this),s,e)}select(s,e){let t=this,o=t.series,a=o.chart;s=b(s,!t.selected),this.selectedStaging=s,t.firePointEvent(s?"select":"unselect",{accumulate:e},function(){t.selected=t.options.selected=s,o.options.data[o.data.indexOf(t)]=t.options,t.setState(s&&"select"),e||a.getSelectedPoints().forEach(function(f){let v=f.series;f.selected&&f!==t&&(f.selected=f.options.selected=!1,v.options.data[v.data.indexOf(f)]=f.options,f.setState(a.hoverPoints&&v.options.inactiveOtherPoints?"inactive":""),f.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(s){let{inverted:e,pointer:t}=this.series.chart;t&&(s=s?t.normalize(s):t.getChartCoordinatesFromPoint(this,e),t.runPointActions(s,this))}onMouseOut(){let s=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(s.hoverPoints||[]).forEach(function(e){e.setState()}),s.hoverPoints=s.hoverPoint=null}manageEvent(s){var o,a,f,v,h,P;let e=p(this.series.options.point,this.options),t=(o=e.events)==null?void 0:o[s];S(t)&&(!((a=this.hcEvents)!=null&&a[s])||((v=(f=this.hcEvents)==null?void 0:f[s])==null?void 0:v.map(Y=>Y.fn).indexOf(t))===-1)?((h=this.importedUserEvent)==null||h.call(this),this.importedUserEvent=q(this,s,t)):this.importedUserEvent&&!t&&((P=this.hcEvents)!=null&&P[s])&&(A(this,s),delete this.hcEvents[s],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(s,e){var d;let t=this.series,o=this.state,a=t.options.states[s||"normal"]||{},f=dt.plotOptions[t.type].marker&&t.options.marker,v=f&&f.enabled===!1,h=f&&f.states&&f.states[s||"normal"]||{},P=h.enabled===!1,Y=this.marker||{},g=t.chart,L=f&&t.markerAttribs,B=t.halo,G,et,l,n=t.stateMarkerGraphic,y;if((s=s||"")===this.state&&!e||this.selected&&s!=="select"||a.enabled===!1||s&&(P||v&&h.enabled===!1)||s&&Y.states&&Y.states[s]&&Y.states[s].enabled===!1)return;if(this.state=s,L&&(G=t.markerAttribs(this,s)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),s&&this.graphic.addClass("highcharts-point-"+s),!g.styledMode){et=t.pointAttribs(this,s),l=b(g.options.chart.animation,a.animation);let M=et.opacity;t.options.inactiveOtherPoints&&k(M)&&(this.dataLabels||[]).forEach(function(w){w&&!w.hasClass("highcharts-data-label-hidden")&&(w.animate({opacity:M},l),w.connector&&w.connector.animate({opacity:M},l))}),this.graphic.animate(et,l)}G&&this.graphic.animate(G,b(g.options.chart.animation,h.animation,f.animation)),n&&n.hide()}else s&&h&&(y=Y.symbol||t.symbol,n&&n.currentSymbol!==y&&(n=n.destroy()),G&&(n?n[e?"animate":"attr"]({x:G.x,y:G.y}):y&&(t.stateMarkerGraphic=n=g.renderer.symbol(y,G.x,G.y,G.width,G.height).add(t.markerGroup),n.currentSymbol=y)),!g.styledMode&&n&&this.state!=="inactive"&&n.attr(t.pointAttribs(this,s))),n&&(n[s&&this.isInside?"show":"hide"](),n.element.point=this,n.addClass(this.getClassName(),!0));let j=a.halo,i=this.graphic||n,c=i&&i.visibility||"inherit";j&&j.size&&i&&c!=="hidden"&&!this.isCluster?(B||(t.halo=B=g.renderer.path().add(i.parentGroup)),B.show()[e?"animate":"attr"]({d:this.haloPath(j.size)}),B.attr({class:"highcharts-halo highcharts-color-"+b(this.colorIndex,t.colorIndex)+(this.className?" "+this.className:""),visibility:c,zIndex:-1}),B.point=this,g.styledMode||B.attr(R({fill:this.color||t.color,"fill-opacity":j.opacity},Z.filterUserAttributes(j.attributes||{})))):(d=B==null?void 0:B.point)!=null&&d.haloPath&&!B.point.destroyed&&B.animate({d:B.point.haloPath(0)},null,B.hide),I(this,"afterSetState",{state:s})}haloPath(s){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(V(e[0],1)-s,e[1]-s,2*s,2*s):[]}}return r}),yt(H,"Core/Pointer.js",[H["Core/Color/Color.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(Z,K,J){var it;let{parse:at}=Z,{charts:ot,composed:dt,isTouchDevice:$}=K,{addEvent:q,attr:V,css:C,extend:R,find:I,fireEvent:O,isNumber:m,isObject:S,objectEach:k,offset:T,pick:p,pushUnique:b,splat:D}=J;class A{applyInactiveState(r){let u=[],s;(r||[]).forEach(function(e){s=e.series,u.push(s),s.linkedParent&&u.push(s.linkedParent),s.linkedSeries&&(u=u.concat(s.linkedSeries)),s.navigatorSeries&&u.push(s.navigatorSeries)}),this.chart.series.forEach(function(e){u.indexOf(e)===-1?e.setState("inactive",!0):e.options.inactiveOtherPoints&&e.setAllPointsToState("inactive")})}destroy(){let r=this;this.eventsToUnbind.forEach(u=>u()),this.eventsToUnbind=[],!K.chartCount&&(A.unbindDocumentMouseUp&&A.unbindDocumentMouseUp.forEach(u=>u()),A.unbindDocumentTouchEnd&&(A.unbindDocumentTouchEnd=A.unbindDocumentTouchEnd())),clearInterval(r.tooltipTimeout),k(r,function(u,s){r[s]=void 0})}getSelectionMarkerAttrs(r,u){let s={args:{chartX:r,chartY:u},attrs:{},shapeType:"rect"};return O(this,"getSelectionMarkerAttrs",s,e=>{let t,{chart:o,zoomHor:a,zoomVert:f}=this,{mouseDownX:v=0,mouseDownY:h=0}=o,P=e.attrs;P.x=o.plotLeft,P.y=o.plotTop,P.width=a?1:o.plotWidth,P.height=f?1:o.plotHeight,a&&(t=r-v,P.width=Math.max(1,Math.abs(t)),P.x=(t>0?0:t)+v),f&&(t=u-h,P.height=Math.max(1,Math.abs(t)),P.y=(t>0?0:t)+h)}),s}drag(r){let{chart:u}=this,{mouseDownX:s=0,mouseDownY:e=0}=u,{panning:t,panKey:o,selectionMarkerFill:a}=u.options.chart,f=u.plotLeft,v=u.plotTop,h=u.plotWidth,P=u.plotHeight,Y=S(t)?t.enabled:t,g=o&&r[`${o}Key`],L=r.chartX,B=r.chartY,G,et=this.selectionMarker;if((!et||!et.touch)&&(L<f?L=f:L>f+h&&(L=f+h),B<v?B=v:B>v+P&&(B=v+P),this.hasDragged=Math.sqrt(Math.pow(s-L,2)+Math.pow(e-B,2)),this.hasDragged>10)){G=u.isInsidePlot(s-f,e-v,{visiblePlotOnly:!0});let{shapeType:l,attrs:n}=this.getSelectionMarkerAttrs(L,B);(u.hasCartesianSeries||u.mapView)&&this.hasZoom&&G&&!g&&!et&&(this.selectionMarker=et=u.renderer[l](),et.attr({class:"highcharts-selection-marker",zIndex:7}).add(),u.styledMode||et.attr({fill:a||at("#334eff").setOpacity(.25).get()})),et&&et.attr(n),G&&!et&&Y&&u.pan(r,t)}}dragStart(r){let u=this.chart;u.mouseIsDown=r.type,u.cancelClick=!1,u.mouseDownX=r.chartX,u.mouseDownY=r.chartY}getSelectionBox(r){let u={args:{marker:r},result:r.getBBox()};return O(this,"getSelectionBox",u),u.result}drop(r){let u,{chart:s,selectionMarker:e}=this;for(let t of s.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(o=>o.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),u=!0));if(u&&s.redraw(),e&&r){if(this.hasDragged){let t=this.getSelectionBox(e);s.transform({axes:s.axes.filter(o=>o.zoomEnabled&&(o.coll==="xAxis"&&this.zoomX||o.coll==="yAxis"&&this.zoomY)),selection:{originalEvent:r,xAxis:[],yAxis:[],...t},from:t})}m(s.index)&&(this.selectionMarker=e.destroy())}s&&m(s.index)&&(C(s.container,{cursor:s._cursor}),s.cancelClick=this.hasDragged>10,s.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(r,u,s){let e;return r.forEach(function(t){let o=!(t.noSharedTooltip&&u)&&0>t.options.findNearestPointBy.indexOf("y"),a=t.searchPoint(s,o);S(a,!0)&&a.series&&(!S(e,!0)||function(f,v){var g,L;let h=f.distX-v.distX,P=f.dist-v.dist,Y=((g=v.series.group)==null?void 0:g.zIndex)-((L=f.series.group)==null?void 0:L.zIndex);return h!==0&&u?h:P!==0?P:Y!==0?Y:f.series.index>v.series.index?-1:1}(e,a)>0)&&(e=a)}),e}getChartCoordinatesFromPoint(r,u){let{xAxis:s,yAxis:e}=r.series,t=r.shapeArgs;if(s&&e){let o=r.clientX??r.plotX??0,a=r.plotY||0;return r.isNode&&t&&m(t.x)&&m(t.y)&&(o=t.x,a=t.y),u?{chartX:e.len+e.pos-a,chartY:s.len+s.pos-o}:{chartX:o+s.pos,chartY:a+e.pos}}if(t&&t.x&&t.y)return{chartX:t.x,chartY:t.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:r}=this.chart,u=T(r);this.chartPosition={left:u.left,top:u.top,scaleX:1,scaleY:1};let{offsetHeight:s,offsetWidth:e}=r;return e>2&&s>2&&(this.chartPosition.scaleX=u.width/e,this.chartPosition.scaleY=u.height/s),this.chartPosition}getCoordinates(r){let u={xAxis:[],yAxis:[]};for(let s of this.chart.axes)u[s.isXAxis?"xAxis":"yAxis"].push({axis:s,value:s.toValue(r[s.horiz?"chartX":"chartY"])});return u}getHoverData(r,u,s,e,t,o){let a=[],f=function(g){return g.visible&&!(!t&&g.directTouch)&&p(g.options.enableMouseTracking,!0)},v=u,h,P={chartX:o?o.chartX:void 0,chartY:o?o.chartY:void 0,shared:t};O(this,"beforeGetHoverData",P),h=v&&!v.stickyTracking?[v]:s.filter(g=>g.stickyTracking&&(P.filter||f)(g));let Y=e&&r||!o?r:this.findNearestKDPoint(h,t,o);return v=Y&&Y.series,Y&&(t&&!v.noSharedTooltip?(h=s.filter(function(g){return P.filter?P.filter(g):f(g)&&!g.noSharedTooltip})).forEach(function(g){let L=I(g.points,function(B){return B.x===Y.x&&!B.isNull});S(L)&&(g.boosted&&g.boost&&(L=g.boost.getPoint(L)),a.push(L))}):a.push(Y)),O(this,"afterGetHoverData",P={hoverPoint:Y}),{hoverPoint:P.hoverPoint,hoverSeries:v,hoverPoints:a}}getPointFromEvent(r){let u=r.target,s;for(;u&&!s;)s=u.point,u=u.parentNode;return s}onTrackerMouseOut(r){let u=this.chart,s=r.relatedTarget,e=u.hoverSeries;this.isDirectTouch=!1,!e||!s||e.stickyTracking||this.inClass(s,"highcharts-tooltip")||this.inClass(s,"highcharts-series-"+e.index)&&this.inClass(s,"highcharts-tracker")||e.onMouseOut()}inClass(r,u){let s=r,e;for(;s;){if(e=V(s,"class")){if(e.indexOf(u)!==-1)return!0;if(e.indexOf("highcharts-container")!==-1)return!1}s=s.parentElement}}constructor(r,u){var s;this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=u,this.chart=r,this.runChartClick=!!((s=u.chart.events)!=null&&s.click),this.pinchDown=[],this.setDOMEvents(),O(this,"afterInit")}normalize(r,u){let s=r.touches,e=s?s.length?s.item(0):p(s.changedTouches,r.changedTouches)[0]:r;u||(u=this.getChartPosition());let t=e.pageX-u.left,o=e.pageY-u.top;return R(r,{chartX:Math.round(t/=u.scaleX),chartY:Math.round(o/=u.scaleY)})}onContainerClick(r){let u=this.chart,s=u.hoverPoint,e=this.normalize(r),t=u.plotLeft,o=u.plotTop;!u.cancelClick&&(s&&this.inClass(e.target,"highcharts-tracker")?(O(s.series,"click",R(e,{point:s})),u.hoverPoint&&s.firePointEvent("click",e)):(R(e,this.getCoordinates(e)),u.isInsidePlot(e.chartX-t,e.chartY-o,{visiblePlotOnly:!0})&&O(u,"click",e)))}onContainerMouseDown(r){var s;let u=(1&(r.buttons||r.button))==1;r=this.normalize(r),K.isFirefox&&r.button!==0&&this.onContainerMouseMove(r),(r.button===void 0||u)&&(this.zoomOption(r),u&&((s=r.preventDefault)==null||s.call(r)),this.dragStart(r))}onContainerMouseLeave(r){let{pointer:u}=ot[p(A.hoverChartIndex,-1)]||{};r=this.normalize(r),this.onContainerMouseMove(r),u&&!this.inClass(r.relatedTarget,"highcharts-tooltip")&&(u.reset(),u.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(r){let u=this.chart,s=u.tooltip,e=this.normalize(r);this.setHoverChartIndex(r),(u.mouseIsDown==="mousedown"||this.touchSelect(e))&&this.drag(e),!u.openMenu&&(this.inClass(e.target,"highcharts-tracker")||u.isInsidePlot(e.chartX-u.plotLeft,e.chartY-u.plotTop,{visiblePlotOnly:!0}))&&!(s&&s.shouldStickOnContact(e))&&(this.inClass(e.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(e))}onDocumentTouchEnd(r){this.onDocumentMouseUp(r)}onContainerTouchMove(r){this.touchSelect(r)?this.onContainerMouseMove(r):this.touch(r)}onContainerTouchStart(r){this.touchSelect(r)?this.onContainerMouseDown(r):(this.zoomOption(r),this.touch(r,!0))}onDocumentMouseMove(r){let u=this.chart,s=u.tooltip,e=this.chartPosition,t=this.normalize(r,e);!e||u.isInsidePlot(t.chartX-u.plotLeft,t.chartY-u.plotTop,{visiblePlotOnly:!0})||s&&s.shouldStickOnContact(t)||t.target!==u.container.ownerDocument&&this.inClass(t.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(r){var u,s;(s=(u=ot[p(A.hoverChartIndex,-1)])==null?void 0:u.pointer)==null||s.drop(r)}pinch(r){let u=this,{chart:s,hasZoom:e,lastTouches:t}=u,o=[].map.call(r.touches||[],P=>u.normalize(P)),a=o.length,f=a===1&&(u.inClass(r.target,"highcharts-tracker")&&s.runTrackerClick||u.runChartClick),v=s.tooltip,h=a===1&&p(v==null?void 0:v.options.followTouchMove,!0);a>1?u.initiated=!0:h&&(u.initiated=!1),e&&u.initiated&&!f&&r.cancelable!==!1&&r.preventDefault(),r.type==="touchstart"?(u.pinchDown=o,u.res=!0,s.mouseDownX=r.chartX):h?this.runPointActions(u.normalize(r)):t&&(O(s,"touchpan",{originalEvent:r,touches:o},()=>{let P=Y=>{let g=Y[0],L=Y[1]||g;return{x:g.chartX,y:g.chartY,width:L.chartX-g.chartX,height:L.chartY-g.chartY}};s.transform({axes:s.axes.filter(Y=>Y.zoomEnabled&&(this.zoomHor&&Y.horiz||this.zoomVert&&!Y.horiz)),to:P(o),from:P(t),trigger:r.type})}),u.res&&(u.res=!1,this.reset(!1,0))),u.lastTouches=o}reset(r,u){let s=this.chart,e=s.hoverSeries,t=s.hoverPoint,o=s.hoverPoints,a=s.tooltip,f=a&&a.shared?o:t;r&&f&&D(f).forEach(function(v){v.series.isCartesian&&v.plotX===void 0&&(r=!1)}),r?a&&f&&D(f).length&&(a.refresh(f),a.shared&&o?o.forEach(function(v){v.setState(v.state,!0),v.series.isCartesian&&(v.series.xAxis.crosshair&&v.series.xAxis.drawCrosshair(null,v),v.series.yAxis.crosshair&&v.series.yAxis.drawCrosshair(null,v))}):t&&(t.setState(t.state,!0),s.axes.forEach(function(v){v.crosshair&&t.series[v.coll]===v&&v.drawCrosshair(null,t)}))):(t&&t.onMouseOut(),o&&o.forEach(function(v){v.setState()}),e&&e.onMouseOut(),a&&a.hide(u),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),s.axes.forEach(function(v){v.hideCrosshair()}),s.hoverPoints=s.hoverPoint=void 0)}runPointActions(r,u,s){let e=this.chart,t=e.series,o=e.tooltip&&e.tooltip.options.enabled?e.tooltip:void 0,a=!!o&&o.shared,f=u||e.hoverPoint,v=f&&f.series||e.hoverSeries,h=(!r||r.type!=="touchmove")&&(!!u||v&&v.directTouch&&this.isDirectTouch),P=this.getHoverData(f,v,t,h,a,r);f=P.hoverPoint,v=P.hoverSeries;let Y=P.hoverPoints,g=v&&v.tooltipOptions.followPointer&&!v.tooltipOptions.split,L=a&&v&&!v.noSharedTooltip;if(f&&(s||f!==e.hoverPoint||o&&o.isHidden)){if((e.hoverPoints||[]).forEach(function(B){Y.indexOf(B)===-1&&B.setState()}),e.hoverSeries!==v&&v.onMouseOver(),this.applyInactiveState(Y),(Y||[]).forEach(function(B){B.setState("hover")}),e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut"),!f.series)return;e.hoverPoints=Y,e.hoverPoint=f,f.firePointEvent("mouseOver",void 0,()=>{o&&f&&o.refresh(L?Y:f,r)})}else if(g&&o&&!o.isHidden){let B=o.getAnchor([{}],r);e.isInsidePlot(B[0],B[1],{visiblePlotOnly:!0})&&o.updatePosition({plotX:B[0],plotY:B[1]})}this.unDocMouseMove||(this.unDocMouseMove=q(e.container.ownerDocument,"mousemove",B=>{var G,et;return(et=(G=ot[A.hoverChartIndex??-1])==null?void 0:G.pointer)==null?void 0:et.onDocumentMouseMove(B)}),this.eventsToUnbind.push(this.unDocMouseMove)),e.axes.forEach(function(B){let G,et=p((B.crosshair||{}).snap,!0);!et||(G=e.hoverPoint)&&G.series[B.coll]===B||(G=I(Y,l=>l.series&&l.series[B.coll]===B)),G||!et?B.drawCrosshair(r,G):B.hideCrosshair()})}setDOMEvents(){let r=this.chart.container,u=r.ownerDocument;r.onmousedown=this.onContainerMouseDown.bind(this),r.onmousemove=this.onContainerMouseMove.bind(this),r.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(q(r,"mouseenter",this.onContainerMouseEnter.bind(this)),q(r,"mouseleave",this.onContainerMouseLeave.bind(this))),A.unbindDocumentMouseUp||(A.unbindDocumentMouseUp=[]),A.unbindDocumentMouseUp.push(q(u,"mouseup",this.onDocumentMouseUp.bind(this)));let s=this.chart.renderTo.parentElement;for(;s&&s.tagName!=="BODY";)this.eventsToUnbind.push(q(s,"scroll",()=>{delete this.chartPosition})),s=s.parentElement;this.eventsToUnbind.push(q(r,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),q(r,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),A.unbindDocumentTouchEnd||(A.unbindDocumentTouchEnd=q(u,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),q(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){var t,o;if(!$)return;let r=this.pointerCaptureEventsToUnbind,u=this.chart,s=u.container,e=p((t=u.options.tooltip)==null?void 0:t.followTouchMove,!0)&&u.series.some(a=>a.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&e?(r.push(q(s,"pointerdown",a=>{var f,v;(f=a.target)!=null&&f.hasPointerCapture(a.pointerId)&&((v=a.target)==null||v.releasePointerCapture(a.pointerId))}),q(s,"pointermove",a=>{var f,v;(v=(f=u.pointer)==null?void 0:f.getPointFromEvent(a))==null||v.onMouseOver(a)})),u.styledMode||C(s,{"touch-action":"none"}),s.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!e&&(r.forEach(a=>a()),r.length=0,u.styledMode||C(s,{"touch-action":p((o=u.options.chart.style)==null?void 0:o["touch-action"],"manipulation")}),s.className=s.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(r){var e;let u=this.chart,s=K.charts[p(A.hoverChartIndex,-1)];if(s&&s!==u){let t={relatedTarget:u.container};r&&!(r!=null&&r.relatedTarget)&&(r={...t,...r}),(e=s.pointer)==null||e.onContainerMouseLeave(r||t)}s&&s.mouseIsDown||(A.hoverChartIndex=u.index)}touch(r,u){let s,{chart:e,pinchDown:t=[]}=this;this.setHoverChartIndex(),(r=this.normalize(r)).touches.length===1?e.isInsidePlot(r.chartX-e.plotLeft,r.chartY-e.plotTop,{visiblePlotOnly:!0})&&!e.openMenu?(u&&this.runPointActions(r),r.type==="touchmove"&&(s=!!t[0]&&Math.pow(t[0].chartX-r.chartX,2)+Math.pow(t[0].chartY-r.chartY,2)>=16),p(s,!0)&&this.pinch(r)):u&&this.reset():r.touches.length===2&&this.pinch(r)}touchSelect(r){return!!(this.chart.zooming.singleTouch&&r.touches&&r.touches.length===1)}zoomOption(r){let u=this.chart,s=u.inverted,e=u.zooming.type||"",t,o;/touch/.test(r.type)&&(e=p(u.zooming.pinchType,e)),this.zoomX=t=/x/.test(e),this.zoomY=o=/y/.test(e),this.zoomHor=t&&!s||o&&s,this.zoomVert=o&&!s||t&&s,this.hasZoom=t||o}}return(it=A||(A={})).compose=function(x){b(dt,"Core.Pointer")&&q(x,"beforeRender",function(){this.pointer=new it(this,this.options)})},A}),yt(H,"Core/Legend/LegendSymbol.js",[H["Core/Utilities.js"]],function(Z){var K;let{extend:J,merge:it,pick:at}=Z;return function(ot){function dt($,q,V){var s,e;let C=this.legendItem=this.legendItem||{},{chart:R,options:I}=this,{baseline:O=0,symbolWidth:m,symbolHeight:S}=$,k=this.symbol||"circle",T=S/2,p=R.renderer,b=C.group,D=O-Math.round((((s=$.fontMetrics)==null?void 0:s.b)||S)*(V?.4:.3)),A={},x,r=I.marker,u=0;if(R.styledMode||(A["stroke-width"]=Math.min(I.lineWidth||0,24),I.dashStyle?A.dashstyle=I.dashStyle:I.linecap==="square"||(A["stroke-linecap"]="round")),C.line=p.path().addClass("highcharts-graph").attr(A).add(b),V&&(C.area=p.path().addClass("highcharts-area").add(b)),A["stroke-linecap"]&&(u=Math.min(C.line.strokeWidth(),m)/2),m){let t=[["M",u,D],["L",m-u,D]];C.line.attr({d:t}),(e=C.area)==null||e.attr({d:[...t,["L",m-u,O],["L",u,O]]})}if(r&&r.enabled!==!1&&m){let t=Math.min(at(r.radius,T),T);k.indexOf("url")===0&&(r=it(r,{width:S,height:S}),t=0),C.symbol=x=p.symbol(k,m/2-t,D-t,2*t,2*t,J({context:"legend"},r)).addClass("highcharts-point").add(b),x.isMarker=!0}}ot.areaMarker=function($,q){dt.call(this,$,q,!0)},ot.lineMarker=dt,ot.rectangle=function($,q){let V=q.legendItem||{},C=$.options,R=$.symbolHeight,I=C.squareSymbol,O=I?R:$.symbolWidth;V.symbol=this.chart.renderer.rect(I?($.symbolWidth-R)/2:0,$.baseline-R+1,O,R,at($.options.symbolRadius,R/2)).addClass("highcharts-point").attr({zIndex:3}).add(V.group)}}(K||(K={})),K}),yt(H,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:Z}=this.series.chart;return typeof this.y!="number"?"":Z(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"}}),yt(H,"Core/Series/SeriesRegistry.js",[H["Core/Globals.js"],H["Core/Defaults.js"],H["Core/Series/Point.js"],H["Core/Utilities.js"]],function(Z,K,J,it){var at;let{defaultOptions:ot}=K,{extend:dt,extendClass:$,merge:q}=it;return function(V){function C(R,I){let O=ot.plotOptions||{},m=I.defaultOptions,S=I.prototype;return S.type=R,S.pointClass||(S.pointClass=J),!V.seriesTypes[R]&&(m&&(O[R]=m),V.seriesTypes[R]=I,!0)}V.seriesTypes=Z.seriesTypes,V.registerSeriesType=C,V.seriesType=function(R,I,O,m,S){let k=ot.plotOptions||{};if(I=I||"",k[R]=q(k[I],O),delete V.seriesTypes[R],C(R,$(V.seriesTypes[I]||function(){},m)),V.seriesTypes[R].prototype.type=R,S){class T extends J{}dt(T.prototype,S),V.seriesTypes[R].prototype.pointClass=T}return V.seriesTypes[R]}}(at||(at={})),at}),yt(H,"Core/Series/Series.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Defaults.js"],H["Core/Foundation.js"],H["Core/Globals.js"],H["Core/Legend/LegendSymbol.js"],H["Core/Series/Point.js"],H["Core/Series/SeriesDefaults.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Renderer/SVG/SVGElement.js"],H["Core/Utilities.js"]],function(Z,K,J,it,at,ot,dt,$,q,V){let{animObject:C,setAnimation:R}=Z,{defaultOptions:I}=K,{registerEventOptions:O}=J,{svg:m,win:S}=it,{seriesTypes:k}=$,{arrayMax:T,arrayMin:p,clamp:b,correctFloat:D,crisp:A,defined:x,destroyObjectProperties:r,diffObjects:u,erase:s,error:e,extend:t,find:o,fireEvent:a,getClosestDistance:f,getNestedProperty:v,insertItem:h,isArray:P,isNumber:Y,isString:g,merge:L,objectEach:B,pick:G,removeEvent:et,splat:l,syncTimeout:n}=V;class y{constructor(){this.zoneAxis="y"}init(i,c){let d;a(this,"init",{options:c});let M=this,w=i.series;this.eventsToUnbind=[],M.chart=i,M.options=M.setOptions(c);let z=M.options,X=z.visible!==!1;M.linkedSeries=[],M.bindAxes(),t(M,{name:z.name,state:"",visible:X,selected:z.selected===!0}),O(this,z);let U=z.events;(U&&U.click||z.point&&z.point.events&&z.point.events.click||z.allowPointSelect)&&(i.runTrackerClick=!0),M.getColor(),M.getSymbol(),M.parallelArrays.forEach(function(_){M[_+"Data"]||(M[_+"Data"]=[])}),M.isCartesian&&(i.hasCartesianSeries=!0),w.length&&(d=w[w.length-1]),M._i=G(d&&d._i,-1)+1,M.opacity=M.options.opacity,i.orderItems("series",h(this,w)),z.dataSorting&&z.dataSorting.enabled?M.setDataSortingOptions():M.points||M.data||M.setData(z.data,!1),a(this,"afterInit")}is(i){return k[i]&&this instanceof k[i]}bindAxes(){let i,c=this,d=c.options,M=c.chart;a(this,"bindAxes",null,function(){(c.axisTypes||[]).forEach(function(w){(M[w]||[]).forEach(function(z){i=z.options,(G(d[w],0)===z.index||d[w]!==void 0&&d[w]===i.id)&&(h(c,z.series),c[w]=z,z.isDirty=!0)}),c[w]||c.optionalAxis===w||e(18,!0,M)})}),a(this,"afterBindAxes")}updateParallelArrays(i,c,d){let M=i.series,w=Y(c)?function(z){let X=z==="y"&&M.toYData?M.toYData(i):i[z];M[z+"Data"][c]=X}:function(z){Array.prototype[c].apply(M[z+"Data"],d)};M.parallelArrays.forEach(w)}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(i,c){let d=i.marker,M=c.marker||{};return d&&(M.enabled&&!d.enabled||M.symbol!==d.symbol||M.height!==d.height||M.width!==d.width)}autoIncrement(i){let c=this.options,d=c.pointIntervalUnit,M=c.relativeXValue,w=this.chart.time,z=this.xIncrement,X,U;return z=G(z,c.pointStart,0),this.pointInterval=U=G(this.pointInterval,c.pointInterval,1),M&&Y(i)&&(U*=i),d&&(X=new w.Date(z),d==="day"?w.set("Date",X,w.get("Date",X)+U):d==="month"?w.set("Month",X,w.get("Month",X)+U):d==="year"&&w.set("FullYear",X,w.get("FullYear",X)+U),U=X.getTime()-z),M&&Y(i)?z+U:(this.xIncrement=z+U,z)}setDataSortingOptions(){let i=this.options;t(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),x(i.pointRange)||(i.pointRange=1)}setOptions(i){var Q,st;let c,d=this.chart,M=d.options.plotOptions,w=d.userOptions||{},z=L(i),X=d.styledMode,U={plotOptions:M,userOptions:z};a(this,"setOptions",U);let _=U.plotOptions[this.type],lt=w.plotOptions||{},rt=lt.series||{},N=I.plotOptions[this.type]||{},E=lt[this.type]||{};this.userOptions=U.userOptions;let W=L(_,M.series,E,z);this.tooltipOptions=L(I.tooltip,(Q=I.plotOptions.series)==null?void 0:Q.tooltip,N==null?void 0:N.tooltip,d.userOptions.tooltip,(st=lt.series)==null?void 0:st.tooltip,E.tooltip,z.tooltip),this.stickyTracking=G(z.stickyTracking,E.stickyTracking,rt.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||W.stickyTracking),_.marker===null&&delete W.marker,this.zoneAxis=W.zoneAxis||"y";let F=this.zones=(W.zones||[]).map(tt=>({...tt}));return(W.negativeColor||W.negativeFillColor)&&!W.zones&&(c={value:W[this.zoneAxis+"Threshold"]||W.threshold||0,className:"highcharts-negative"},X||(c.color=W.negativeColor,c.fillColor=W.negativeFillColor),F.push(c)),F.length&&x(F[F.length-1].value)&&F.push(X?{}:{color:this.color,fillColor:this.fillColor}),a(this,"afterSetOptions",{options:W}),W}getName(){return G(this.options.name,"Series "+(this.index+1))}getCyclic(i,c,d){let M,w,z=this.chart,X=`${i}Index`,U=`${i}Counter`,_=(d==null?void 0:d.length)||z.options.chart.colorCount;!c&&(x(w=G(i==="color"?this.options.colorIndex:void 0,this[X]))?M=w:(z.series.length||(z[U]=0),M=z[U]%_,z[U]+=1),d&&(c=d[M])),M!==void 0&&(this[X]=M),this[i]=c}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||I.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let i=this.options.marker;this.getCyclic("symbol",i.symbol,this.chart.options.symbols)}findPointIndex(i,c){let d,M,w,z=i.id,X=i.x,U=this.points,_=this.options.dataSorting;if(z){let lt=this.chart.get(z);lt instanceof ot&&(d=lt)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let lt=rt=>!rt.touched&&rt.index===i.index;if(_&&_.matchByName?lt=rt=>!rt.touched&&rt.name===i.name:this.options.relativeXValue&&(lt=rt=>!rt.touched&&rt.options.x===i.x),!(d=o(U,lt)))return}return d&&(w=d&&d.index)!==void 0&&(M=!0),w===void 0&&Y(X)&&(w=this.xData.indexOf(X,c)),w!==-1&&w!==void 0&&this.cropped&&(w=w>=this.cropStart?w-this.cropStart:w),!M&&Y(w)&&U[w]&&U[w].touched&&(w=void 0),w}updateData(i,c){let d=this.options,M=d.dataSorting,w=this.points,z=[],X=this.requireSorting,U=i.length===w.length,_,lt,rt,N,E=!0;if(this.xIncrement=null,i.forEach(function(W,F){let Q,st=x(W)&&this.pointClass.prototype.optionsToObject.call({series:this},W)||{},tt=st.x;st.id||Y(tt)?((Q=this.findPointIndex(st,N))===-1||Q===void 0?z.push(W):w[Q]&&W!==d.data[Q]?(w[Q].update(W,!1,null,!1),w[Q].touched=!0,X&&(N=Q+1)):w[Q]&&(w[Q].touched=!0),(!U||F!==Q||M&&M.enabled||this.hasDerivedData)&&(_=!0)):z.push(W)},this),_)for(lt=w.length;lt--;)(rt=w[lt])&&!rt.touched&&rt.remove&&rt.remove(!1,c);else!U||M&&M.enabled?E=!1:(i.forEach(function(W,F){W===w[F].y||w[F].destroyed||w[F].update(W,!1,null,!1)}),z.length=0);return w.forEach(function(W){W&&(W.touched=!1)}),!!E&&(z.forEach(function(W){this.addPoint(W,!1,null,null,!1)},this),this.xIncrement===null&&this.xData&&this.xData.length&&(this.xIncrement=T(this.xData),this.autoIncrement()),!0)}setData(i,c=!0,d,M){var vt;let w=this,z=w.points,X=z&&z.length||0,U=w.options,_=w.chart,lt=U.dataSorting,rt=w.xAxis,N=U.turboThreshold,E=this.xData,W=this.yData,F=w.pointArrayMap,Q=F&&F.length,st=U.keys,tt,nt,ht,ct=0,ut=1,ft;_.options.chart.allowMutatingData||(U.data&&delete w.options.data,w.userOptions.data&&delete w.userOptions.data,ft=L(!0,i));let bt=(i=ft||i||[]).length;if(lt&<.enabled&&(i=this.sortData(i)),_.options.chart.allowMutatingData&&M!==!1&&bt&&X&&!w.cropped&&!w.hasGroupedData&&w.visible&&!w.boosted&&(ht=this.updateData(i,d)),!ht){w.xIncrement=null,w.colorCounter=0,this.parallelArrays.forEach(function(mt){w[mt+"Data"].length=0});let xt=N&&bt>N;if(xt){let mt=w.getFirstValidPoint(i),kt=w.getFirstValidPoint(i,bt-1,-1),St=Ct=>!!(P(Ct)&&(st||Y(Ct[0])));if(Y(mt)&&Y(kt))for(tt=0;tt<bt;tt++)E[tt]=this.autoIncrement(),W[tt]=i[tt];else if(St(mt)&&St(kt))if(Q)if(mt.length===Q)for(tt=0;tt<bt;tt++)E[tt]=this.autoIncrement(),W[tt]=i[tt];else for(tt=0;tt<bt;tt++)nt=i[tt],E[tt]=nt[0],W[tt]=nt.slice(1,Q+1);else if(st&&(ct=st.indexOf("x"),ut=st.indexOf("y"),ct=ct>=0?ct:0,ut=ut>=0?ut:1),mt.length===1&&(ut=0),ct===ut)for(tt=0;tt<bt;tt++)E[tt]=this.autoIncrement(),W[tt]=i[tt][ut];else for(tt=0;tt<bt;tt++)nt=i[tt],E[tt]=nt[ct],W[tt]=nt[ut];else xt=!1}if(!xt)for(tt=0;tt<bt;tt++)nt={series:w},w.pointClass.prototype.applyOptions.apply(nt,[i[tt]]),w.updateParallelArrays(nt,tt);for(W&&g(W[0])&&e(14,!0,_),w.data=[],w.options.data=w.userOptions.data=i,tt=X;tt--;)(vt=z[tt])==null||vt.destroy();rt&&(rt.minRange=rt.userMinRange),w.isDirty=_.isDirtyBox=!0,w.isDirtyData=!!z,d=!1}U.legendType==="point"&&(this.processData(),this.generatePoints()),c&&_.redraw(d)}sortData(i){let c=this,d=c.options.dataSorting.sortKey||"y",M=function(w,z){return x(z)&&w.pointClass.prototype.optionsToObject.call({series:w},z)||{}};return i.forEach(function(w,z){i[z]=M(c,w),i[z].index=z},this),i.concat().sort((w,z)=>{let X=v(d,w),U=v(d,z);return U<X?-1:U>X?1:0}).forEach(function(w,z){w.x=z},this),c.linkedSeries&&c.linkedSeries.forEach(function(w){let z=w.options,X=z.data;z.dataSorting&&z.dataSorting.enabled||!X||(X.forEach(function(U,_){X[_]=M(w,U),i[_]&&(X[_].x=i[_].x,X[_].index=_)}),w.setData(X,!1))}),i}getProcessedData(i){let c=this,d=c.xAxis,M=c.options.cropThreshold,w=d==null?void 0:d.logarithmic,z=c.isCartesian,X,U,_=0,lt,rt,N,E=c.xData,W=c.yData,F=!1,Q=E.length;d&&(rt=(lt=d.getExtremes()).min,N=lt.max,F=!!(d.categories&&!d.names.length)),z&&c.sorted&&!i&&(!M||Q>M||c.forceCrop)&&(E[Q-1]<rt||E[0]>N?(E=[],W=[]):c.yData&&(E[0]<rt||E[Q-1]>N)&&(E=(X=this.cropData(c.xData,c.yData,rt,N)).xData,W=X.yData,_=X.start,U=!0));let st=f([w?E.map(w.log2lin):E],()=>c.requireSorting&&!F&&e(15,!1,c.chart));return{xData:E,yData:W,cropped:U,cropStart:_,closestPointRange:st}}processData(i){let c=this.xAxis;if(this.isCartesian&&!this.isDirty&&!c.isDirty&&!this.yAxis.isDirty&&!i)return!1;let d=this.getProcessedData();this.cropped=d.cropped,this.cropStart=d.cropStart,this.processedXData=d.xData,this.processedYData=d.yData,this.closestPointRange=this.basePointRange=d.closestPointRange,a(this,"afterProcessData")}cropData(i,c,d,M){let w=i.length,z,X,U=0,_=w;for(z=0;z<w;z++)if(i[z]>=d){U=Math.max(0,z-1);break}for(X=z;X<w;X++)if(i[X]>M){_=X+1;break}return{xData:i.slice(U,_),yData:c.slice(U,_),start:U,end:_}}generatePoints(){let i=this.options,c=this.processedData||i.data,d=this.processedXData,M=this.processedYData,w=this.pointClass,z=d.length,X=this.cropStart||0,U=this.hasGroupedData,_=i.keys,lt=[],rt=i.dataGrouping&&i.dataGrouping.groupAll?X:0,N,E,W,F,Q=this.data;if(!Q&&!U){let st=[];st.length=c.length,Q=this.data=st}for(_&&U&&(this.options.keys=!1),F=0;F<z;F++)E=X+F,U?((W=new w(this,[d[F]].concat(l(M[F])))).dataGroup=this.groupMap[rt+F],W.dataGroup.options&&(W.options=W.dataGroup.options,t(W,W.dataGroup.options),delete W.dataLabels)):(W=Q[E])||c[E]===void 0||(Q[E]=W=new w(this,c[E],d[F])),W&&(W.index=U?rt+F:E,lt[F]=W);if(this.options.keys=_,Q&&(z!==(N=Q.length)||U))for(F=0;F<N;F++)F!==X||U||(F+=z),Q[F]&&(Q[F].destroyElements(),Q[F].plotX=void 0);this.data=Q,this.points=lt,a(this,"afterGeneratePoints")}getXExtremes(i){return{min:p(i),max:T(i)}}getExtremes(i,c){let d=this.xAxis,M=this.yAxis,w=[],z=this.requireSorting&&!this.is("column")?1:0,X=!!M&&M.positiveValuesOnly,U=c||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:_,processedYData:lt}=this,rt,N,E,W,F,Q,st,tt=0,nt=0,ht=0;if(this.cropped&&U){let bt=this.getProcessedData(!0);_=bt.xData,lt=bt.yData}let ct=(i=i||this.stackedYData||lt||[]).length,ut=_||this.xData;for(d&&(tt=(rt=d.getExtremes()).min,nt=rt.max),Q=0;Q<ct;Q++)if(W=ut[Q],N=(Y(F=i[Q])||P(F))&&((Y(F)?F>0:F.length)||!X),E=c||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!d||(ut[Q+z]||W)>=tt&&(ut[Q-z]||W)<=nt,N&&E)if(st=F.length)for(;st--;)Y(F[st])&&(w[ht++]=F[st]);else w[ht++]=F;let ft={activeYData:w,dataMin:p(w),dataMax:T(w)};return a(this,"afterGetExtremes",{dataExtremes:ft}),ft}applyExtremes(){let i=this.getExtremes();return this.dataMin=i.dataMin,this.dataMax=i.dataMax,i}getFirstValidPoint(i,c=0,d=1){let M=i.length,w=c;for(;w>=0&&w<M;){if(x(i[w]))return i[w];w+=d}}translate(){var nt;this.processedXData||this.processData(),this.generatePoints();let i=this.options,c=i.stacking,d=this.xAxis,M=d.categories,w=this.enabledDataSorting,z=this.yAxis,X=this.points,U=X.length,_=this.pointPlacementToXValue(),lt=!!_,rt=i.threshold,N=i.startFromThreshold?rt:0,E,W,F,Q,st=Number.MAX_VALUE;function tt(ht){return b(ht,-1e9,1e9)}for(E=0;E<U;E++){let ht,ct=X[E],ut=ct.x,ft,bt,vt=ct.y,xt=ct.low,mt=c&&((nt=z.stacking)==null?void 0:nt.stacks[(this.negStacks&&vt<(N?0:rt)?"-":"")+this.stackKey]);W=d.translate(ut,!1,!1,!1,!0,_),ct.plotX=Y(W)?D(tt(W)):void 0,c&&this.visible&&mt&&mt[ut]&&(Q=this.getStackIndicator(Q,ut,this.index),!ct.isNull&&Q.key&&(bt=(ft=mt[ut]).points[Q.key]),ft&&P(bt)&&(xt=bt[0],vt=bt[1],xt===N&&Q.key===mt[ut].base&&(xt=G(Y(rt)?rt:z.min)),z.positiveValuesOnly&&x(xt)&&xt<=0&&(xt=void 0),ct.total=ct.stackTotal=G(ft.total),ct.percentage=x(ct.y)&&ft.total?ct.y/ft.total*100:void 0,ct.stackY=vt,this.irregularWidths||ft.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),ct.yBottom=x(xt)?tt(z.translate(xt,!1,!0,!1,!0)):void 0,this.dataModify&&(vt=this.dataModify.modifyValue(vt,E)),Y(vt)&&ct.plotX!==void 0&&(ht=Y(ht=z.translate(vt,!1,!0,!1,!0))?tt(ht):void 0),ct.plotY=ht,ct.isInside=this.isPointInside(ct),ct.clientX=lt?D(d.translate(ut,!1,!1,!1,!0,_)):W,ct.negative=(ct.y||0)<(rt||0),ct.category=G(M&&M[ct.x],ct.x),ct.isNull||ct.visible===!1||(F!==void 0&&(st=Math.min(st,Math.abs(W-F))),F=W),ct.zone=this.zones.length?ct.getZone():void 0,!ct.graphic&&this.group&&w&&(ct.isNew=!0)}this.closestPointRangePx=st,a(this,"afterTranslate")}getValidPoints(i,c,d){let M=this.chart;return(i||this.points||[]).filter(function(w){let{plotX:z,plotY:X}=w;return!!((d||!w.isNull&&Y(X))&&(!c||M.isInsidePlot(z,X,{inverted:M.inverted})))&&w.visible!==!1})}getClipBox(){let{chart:i,xAxis:c,yAxis:d}=this,{x:M,y:w,width:z,height:X}=L(i.clipBox);return c&&c.len!==i.plotSizeX&&(z=c.len),d&&d.len!==i.plotSizeY&&(X=d.len),i.inverted&&!this.invertible&&([z,X]=[X,z]),{x:M,y:w,width:z,height:X}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:i,group:c,markerGroup:d}=this,M=i.sharedClips,w=i.renderer,z=this.getClipBox(),X=this.getSharedClipKey(),U=M[X];U?U.animate(z):M[X]=U=w.clipRect(z),c&&c.clip(this.options.clip===!1?void 0:U),d&&d.clip()}animate(i){let{chart:c,group:d,markerGroup:M}=this,w=c.inverted,z=C(this.options.animation),X=[this.getSharedClipKey(),z.duration,z.easing,z.defer].join(","),U=c.sharedClips[X],_=c.sharedClips[X+"m"];if(i&&d){let lt=this.getClipBox();if(U)U.attr("height",lt.height);else{lt.width=0,w&&(lt.x=c.plotHeight),U=c.renderer.clipRect(lt),c.sharedClips[X]=U;let rt={x:-99,y:-99,width:w?c.plotWidth+199:99,height:w?99:c.plotHeight+199};_=c.renderer.clipRect(rt),c.sharedClips[X+"m"]=_}d.clip(U),M==null||M.clip(_)}else if(U&&!U.hasClass("highcharts-animating")){let lt=this.getClipBox(),rt=z.step;(M!=null&&M.element.childNodes.length||c.series.length>1)&&(z.step=function(N,E){rt&&rt.apply(E,arguments),E.prop==="width"&&(_!=null&&_.element)&&_.attr(w?"height":"width",N+99)}),U.addClass("highcharts-animating").animate(lt,z)}}afterAnimate(){this.setClip(),B(this.chart.sharedClips,(i,c,d)=>{i&&!this.chart.container.querySelector(`[clip-path="url(#${i.id})"]`)&&(i.destroy(),delete d[c])}),this.finishedAnimating=!0,a(this,"afterAnimate")}drawPoints(i=this.points){let c,d,M,w,z,X,U,_=this.chart,lt=_.styledMode,{colorAxis:rt,options:N}=this,E=N.marker,W=this[this.specialGroup||"markerGroup"],F=this.xAxis,Q=G(E.enabled,!F||!!F.isRadial||null,this.closestPointRangePx>=E.enabledThreshold*E.radius);if(E.enabled!==!1||this._hasPointMarkers)for(c=0;c<i.length;c++)if(w=(M=(d=i[c]).graphic)?"animate":"attr",z=d.marker||{},X=!!d.marker,(Q&&z.enabled===void 0||z.enabled)&&!d.isNull&&d.visible!==!1){let st=G(z.symbol,this.symbol,"rect");U=this.markerAttribs(d,d.selected&&"select"),this.enabledDataSorting&&(d.startXPos=F.reversed?-(U.width||0):F.width);let tt=d.isInside!==!1;if(!M&&tt&&((U.width||0)>0||d.hasImage)&&(d.graphic=M=_.renderer.symbol(st,U.x,U.y,U.width,U.height,X?z:E).add(W),this.enabledDataSorting&&_.hasRendered&&(M.attr({x:d.startXPos}),w="animate")),M&&w==="animate"&&M[tt?"show":"hide"](tt).animate(U),M){let nt=this.pointAttribs(d,lt||!d.selected?void 0:"select");lt?rt&&M.css({fill:nt.fill}):M[w](nt)}M&&M.addClass(d.getClassName(),!0)}else M&&(d.graphic=M.destroy())}markerAttribs(i,c){let d=this.options,M=d.marker,w=i.marker||{},z=w.symbol||M.symbol,X={},U,_,lt=G(w.radius,M&&M.radius);c&&(U=M.states[c],lt=G((_=w.states&&w.states[c])&&_.radius,U&&U.radius,lt&<+(U&&U.radiusPlus||0))),i.hasImage=z&&z.indexOf("url")===0,i.hasImage&&(lt=0);let rt=i.pos();return Y(lt)&&rt&&(d.crisp&&(rt[0]=A(rt[0],i.hasImage?0:z==="rect"?(M==null?void 0:M.lineWidth)||0:1)),X.x=rt[0]-lt,X.y=rt[1]-lt),lt&&(X.width=X.height=2*lt),X}pointAttribs(i,c){let d=this.options.marker,M=i&&i.options,w=M&&M.marker||{},z=M&&M.color,X=i&&i.color,U=i&&i.zone&&i.zone.color,_,lt,rt=this.color,N,E,W=G(w.lineWidth,d.lineWidth),F=1;return rt=z||U||X||rt,N=w.fillColor||d.fillColor||rt,E=w.lineColor||d.lineColor||rt,c=c||"normal",_=d.states[c]||{},W=G((lt=w.states&&w.states[c]||{}).lineWidth,_.lineWidth,W+G(lt.lineWidthPlus,_.lineWidthPlus,0)),N=lt.fillColor||_.fillColor||N,{stroke:E=lt.lineColor||_.lineColor||E,"stroke-width":W,fill:N,opacity:F=G(lt.opacity,_.opacity,F)}}destroy(i){let c,d,M,w=this,z=w.chart,X=/AppleWebKit\/533/.test(S.navigator.userAgent),U=w.data||[];for(a(w,"destroy",{keepEventsForUpdate:i}),this.removeEvents(i),(w.axisTypes||[]).forEach(function(_){(M=w[_])&&M.series&&(s(M.series,w),M.isDirty=M.forceRedraw=!0)}),w.legendItem&&w.chart.legend.destroyItem(w),c=U.length;c--;)(d=U[c])&&d.destroy&&d.destroy();for(let _ of w.zones)r(_,void 0,!0);V.clearTimeout(w.animationTimeout),B(w,function(_,lt){_ instanceof q&&!_.survive&&_[X&<==="group"?"hide":"destroy"]()}),z.hoverSeries===w&&(z.hoverSeries=void 0),s(z.series,w),z.orderItems("series"),B(w,function(_,lt){i&<==="hcEvents"||delete w[lt]})}applyZones(){let{area:i,chart:c,graph:d,zones:M,points:w,xAxis:z,yAxis:X,zoneAxis:U}=this,{inverted:_,renderer:lt}=c,rt=this[`${U}Axis`],{isXAxis:N,len:E=0}=rt||{},W=((d==null?void 0:d.strokeWidth())||0)/2+1,F=(Q,st=0,tt=0)=>{_&&(tt=E-tt);let{translated:nt=0,lineClip:ht}=Q,ct=tt-nt;ht==null||ht.push(["L",st,Math.abs(ct)<W?tt-W*(ct<=0?-1:1):nt])};if(M.length&&(d||i)&&rt&&Y(rt.min)){let Q=rt.getExtremes().max,st=ht=>{ht.forEach((ct,ut)=>{(ct[0]==="M"||ct[0]==="L")&&(ht[ut]=[ct[0],N?E-ct[1]:ct[1],N?ct[2]:E-ct[2]])})};if(M.forEach(ht=>{ht.lineClip=[],ht.translated=b(rt.toPixels(G(ht.value,Q),!0)||0,0,E)}),d&&!this.showLine&&d.hide(),i&&i.hide(),U==="y"&&w.length<z.len)for(let ht of w){let{plotX:ct,plotY:ut,zone:ft}=ht,bt=ft&&M[M.indexOf(ft)-1];ft&&F(ft,ct,ut),bt&&F(bt,ct,ut)}let tt=[],nt=rt.toPixels(rt.getExtremes().min,!0);M.forEach(ht=>{var Tt,Mt;let ct=ht.lineClip||[],ut=Math.round(ht.translated||0);z.reversed&&ct.reverse();let{clip:ft,simpleClip:bt}=ht,vt=0,xt=0,mt=z.len,kt=X.len;N?(vt=ut,mt=nt):(xt=ut,kt=nt);let St=[["M",vt,xt],["L",mt,xt],["L",mt,kt],["L",vt,kt],["Z"]],Ct=[St[0],...ct,St[1],St[2],...tt,St[3],St[4]];tt=ct.reverse(),nt=ut,_&&(st(Ct),i&&st(St)),ft?(ft.animate({d:Ct}),bt==null||bt.animate({d:St})):(ft=ht.clip=lt.path(Ct),i&&(bt=ht.simpleClip=lt.path(St))),d&&((Tt=ht.graph)==null||Tt.clip(ft)),i&&((Mt=ht.area)==null||Mt.clip(bt))})}else this.visible&&(d&&d.show(),i&&i.show())}plotGroup(i,c,d,M,w){let z=this[i],X=!z,U={visibility:d,zIndex:M||.1};return x(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(U.opacity=this.opacity),z||(this[i]=z=this.chart.renderer.g().add(w)),z.addClass("highcharts-"+c+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(x(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(z.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),z.attr(U)[X?"attr":"animate"](this.getPlotBox(c)),z}getPlotBox(i){let c=this.xAxis,d=this.yAxis,M=this.chart,w=M.inverted&&!M.polar&&c&&this.invertible&&i==="series";return M.inverted&&(c=d,d=this.xAxis),{translateX:c?c.left:M.plotLeft,translateY:d?d.top:M.plotTop,rotation:w?90:0,rotationOriginX:w?(c.len-d.len)/2:0,rotationOriginY:w?(c.len+d.len)/2:0,scaleX:w?-1:1,scaleY:1}}removeEvents(i){let{eventsToUnbind:c}=this;i||et(this),c.length&&(c.forEach(d=>{d()}),c.length=0)}render(){var lt,rt,N,E,W;let i=this,{chart:c,options:d,hasRendered:M}=i,w=C(d.animation),z=i.visible?"inherit":"hidden",X=d.zIndex,U=c.seriesGroup,_=i.finishedAnimating?0:w.duration;a(this,"render"),i.plotGroup("group","series",z,X,U),i.markerGroup=i.plotGroup("markerGroup","markers",z,X,U),d.clip!==!1&&i.setClip(),_&&((lt=i.animate)==null||lt.call(i,!0)),i.drawGraph&&(i.drawGraph(),i.applyZones()),i.visible&&i.drawPoints(),(rt=i.drawDataLabels)==null||rt.call(i),(N=i.redrawPoints)==null||N.call(i),d.enableMouseTracking&&((E=i.drawTracker)==null||E.call(i)),_&&((W=i.animate)==null||W.call(i)),M||(_&&w.defer&&(_+=w.defer),i.animationTimeout=n(()=>{i.afterAnimate()},_||0)),i.isDirty=!1,i.hasRendered=!0,a(i,"afterRender")}redraw(){let i=this.isDirty||this.isDirtyData;this.translate(),this.render(),i&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(i,c){let{xAxis:d,yAxis:M}=this,w=this.chart.inverted;return this.searchKDTree({clientX:w?d.len-i.chartY+d.pos:i.chartX-d.pos,plotY:w?M.len-i.chartX+M.pos:i.chartY-M.pos},c,i)}buildKDTree(i){this.buildingKdTree=!0;let c=this,d=c.options.findNearestPointBy.indexOf("y")>-1?2:1;delete c.kdTree,n(function(){c.kdTree=function M(w,z,X){let U,_,lt=w==null?void 0:w.length;if(lt)return U=c.kdAxisArray[z%X],w.sort((rt,N)=>(rt[U]||0)-(N[U]||0)),{point:w[_=Math.floor(lt/2)],left:M(w.slice(0,_),z+1,X),right:M(w.slice(_+1),z+1,X)}}(c.getValidPoints(void 0,!c.directTouch),d,d),c.buildingKdTree=!1},c.options.kdNow||(i==null?void 0:i.type)==="touchstart"?0:1)}searchKDTree(i,c,d){let M=this,[w,z]=this.kdAxisArray,X=c?"distX":"dist",U=(M.options.findNearestPointBy||"").indexOf("y")>-1?2:1,_=!!M.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(d),this.kdTree)return function lt(rt,N,E,W){var ft;let F=N.point,Q=M.kdAxisArray[E%W],st,tt,nt=F;(function(bt,vt){var Lt;let xt=bt[w],mt=vt[w],kt=x(xt)&&x(mt)?xt-mt:null,St=bt[z],Ct=vt[z],Tt=x(St)&&x(Ct)?St-Ct:0,Mt=_&&((Lt=vt.marker)==null?void 0:Lt.radius)||0;vt.dist=Math.sqrt((kt&&kt*kt||0)+Tt*Tt)-Mt,vt.distX=x(kt)?Math.abs(kt)-Mt:Number.MAX_VALUE})(rt,F);let ht=(rt[Q]||0)-(F[Q]||0)+(_&&((ft=F.marker)==null?void 0:ft.radius)||0),ct=ht<0?"left":"right",ut=ht<0?"right":"left";return N[ct]&&(nt=(st=lt(rt,N[ct],E+1,W))[X]<nt[X]?st:F),N[ut]&&Math.sqrt(ht*ht)<nt[X]&&(nt=(tt=lt(rt,N[ut],E+1,W))[X]<nt[X]?tt:nt),nt}(i,this.kdTree,U,U)}pointPlacementToXValue(){let{options:i,xAxis:c}=this,d=i.pointPlacement;return d==="between"&&(d=c.reversed?-.5:.5),Y(d)?d*(i.pointRange||c.pointRange):0}isPointInside(i){let{chart:c,xAxis:d,yAxis:M}=this,{plotX:w=-1,plotY:z=-1}=i;return z>=0&&z<=(M?M.len:c.plotHeight)&&w>=0&&w<=(d?d.len:c.plotWidth)}drawTracker(){var N;let i=this,c=i.options,d=c.trackByArea,M=[].concat((d?i.areaPath:i.graphPath)||[]),w=i.chart,z=w.pointer,X=w.renderer,U=((N=w.options.tooltip)==null?void 0:N.snap)||0,_=()=>{c.enableMouseTracking&&w.hoverSeries!==i&&i.onMouseOver()},lt="rgba(192,192,192,"+(m?1e-4:.002)+")",rt=i.tracker;rt?rt.attr({d:M}):i.graph&&(i.tracker=rt=X.path(M).attr({visibility:i.visible?"inherit":"hidden",zIndex:2}).addClass(d?"highcharts-tracker-area":"highcharts-tracker-line").add(i.group),w.styledMode||rt.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:lt,fill:d?lt:"none","stroke-width":i.graph.strokeWidth()+(d?0:2*U)}),[i.tracker,i.markerGroup,i.dataLabelsGroup].forEach(E=>{E&&(E.addClass("highcharts-tracker").on("mouseover",_).on("mouseout",W=>{z==null||z.onTrackerMouseOut(W)}),c.cursor&&!w.styledMode&&E.css({cursor:c.cursor}),E.on("touchstart",_))})),a(this,"afterDrawTracker")}addPoint(i,c,d,M,w){let z,X,U=this.options,_=this.data,lt=this.chart,rt=this.xAxis,N=rt&&rt.hasNames&&rt.names,E=U.data,W=this.xData;c=G(c,!0);let F={series:this};this.pointClass.prototype.applyOptions.apply(F,[i]);let Q=F.x;if(X=W.length,this.requireSorting&&Q<W[X-1])for(z=!0;X&&W[X-1]>Q;)X--;this.updateParallelArrays(F,"splice",[X,0,0]),this.updateParallelArrays(F,X),N&&F.name&&(N[Q]=F.name),E.splice(X,0,i),(z||this.processedData)&&(this.data.splice(X,0,null),this.processData()),U.legendType==="point"&&this.generatePoints(),d&&(_[0]&&_[0].remove?_[0].remove(!1):(_.shift(),this.updateParallelArrays(F,"shift"),E.shift())),w!==!1&&a(this,"addPoint",{point:F}),this.isDirty=!0,this.isDirtyData=!0,c&<.redraw(M)}removePoint(i,c,d){let M=this,w=M.data,z=w[i],X=M.points,U=M.chart,_=function(){X&&X.length===w.length&&X.splice(i,1),w.splice(i,1),M.options.data.splice(i,1),M.updateParallelArrays(z||{series:M},"splice",[i,1]),z&&z.destroy(),M.isDirty=!0,M.isDirtyData=!0,c&&U.redraw()};R(d,U),c=G(c,!0),z?z.firePointEvent("remove",null,_):_()}remove(i,c,d,M){let w=this,z=w.chart;function X(){w.destroy(M),z.isDirtyLegend=z.isDirtyBox=!0,z.linkSeries(M),G(i,!0)&&z.redraw(c)}d!==!1?a(w,"remove",null,X):X()}update(i,c){var st,tt,nt;a(this,"update",{options:i=u(i,this.userOptions)});let d=this,M=d.chart,w=d.userOptions,z=d.initialType||d.type,X=M.options.plotOptions,U=k[z].prototype,_=d.finishedAnimating&&{animation:!1},lt={},rt,N,E=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],W=i.type||w.type||M.options.chart.type,F=!(this.hasDerivedData||W&&W!==this.type||i.pointStart!==void 0||i.pointInterval!==void 0||i.relativeXValue!==void 0||i.joinBy||i.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(ht=>d.hasOptionChanged(ht)));W=W||z,F&&(E.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),i.visible!==!1&&E.push("area","graph"),d.parallelArrays.forEach(function(ht){E.push(ht+"Data")}),i.data&&(i.dataSorting&&t(d.options.dataSorting,i.dataSorting),this.setData(i.data,!1))),i=L(w,{index:w.index===void 0?d.index:w.index,pointStart:((st=X==null?void 0:X.series)==null?void 0:st.pointStart)??w.pointStart??((tt=d.xData)==null?void 0:tt[0])},!F&&{data:d.options.data},i,_),F&&i.data&&(i.data=d.options.data),(E=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(E)).forEach(function(ht){E[ht]=d[ht],delete d[ht]});let Q=!1;if(k[W]){if(Q=W!==d.type,d.remove(!1,!1,!1,!0),Q)if(M.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(d,k[W].prototype);else{let ht=Object.hasOwnProperty.call(d,"hcEvents")&&d.hcEvents;for(N in U)d[N]=void 0;t(d,k[W].prototype),ht?d.hcEvents=ht:delete d.hcEvents}}else e(17,!0,M,{missingModuleFor:W});if(E.forEach(function(ht){d[ht]=E[ht]}),d.init(M,i),F&&this.points)for(let ht of((rt=d.options).visible===!1?(lt.graphic=1,lt.dataLabel=1):(this.hasMarkerChanged(rt,w)&&(lt.graphic=1),(nt=d.hasDataLabels)!=null&&nt.call(d)||(lt.dataLabel=1)),this.points))ht&&ht.series&&(ht.resolveColor(),Object.keys(lt).length&&ht.destroyElements(lt),rt.showInLegend===!1&&ht.legendItem&&M.legend.destroyItem(ht));d.initialType=z,M.linkSeries(),M.setSortedData(),Q&&d.linkedSeries.length&&(d.isDirtyData=!0),a(this,"afterUpdate"),G(c,!0)&&M.redraw(!!F&&void 0)}setName(i){this.name=this.options.name=this.userOptions.name=i,this.chart.isDirtyLegend=!0}hasOptionChanged(i){var X,U;let c=this.chart,d=this.options[i],M=c.options.plotOptions,w=this.userOptions[i],z=G((X=M==null?void 0:M[this.type])==null?void 0:X[i],(U=M==null?void 0:M.series)==null?void 0:U[i]);return w&&!x(z)?d!==w:d!==G(z,d)}onMouseOver(){let i=this.chart,c=i.hoverSeries,d=i.pointer;d==null||d.setHoverChartIndex(),c&&c!==this&&c.onMouseOut(),this.options.events.mouseOver&&a(this,"mouseOver"),this.setState("hover"),i.hoverSeries=this}onMouseOut(){let i=this.options,c=this.chart,d=c.tooltip,M=c.hoverPoint;c.hoverSeries=null,M&&M.onMouseOut(),this&&i.events.mouseOut&&a(this,"mouseOut"),d&&!this.stickyTracking&&(!d.shared||this.noSharedTooltip)&&d.hide(),c.series.forEach(function(w){w.setState("",!0)})}setState(i,c){let d=this,M=d.options,w=d.graph,z=M.inactiveOtherPoints,X=M.states,U=G(X[i||"normal"]&&X[i||"normal"].animation,d.chart.options.chart.animation),_=M.lineWidth,lt=M.opacity;if(i=i||"",d.state!==i&&([d.group,d.markerGroup,d.dataLabelsGroup].forEach(function(rt){rt&&(d.state&&rt.removeClass("highcharts-series-"+d.state),i&&rt.addClass("highcharts-series-"+i))}),d.state=i,!d.chart.styledMode)){if(X[i]&&X[i].enabled===!1)return;if(i&&(_=X[i].lineWidth||_+(X[i].lineWidthPlus||0),lt=G(X[i].opacity,lt)),w&&!w.dashstyle&&Y(_))for(let rt of[w,...this.zones.map(N=>N.graph)])rt==null||rt.animate({"stroke-width":_},U);z||[d.group,d.markerGroup,d.dataLabelsGroup,d.labelBySeries].forEach(function(rt){rt&&rt.animate({opacity:lt},U)})}c&&z&&d.points&&d.setAllPointsToState(i||void 0)}setAllPointsToState(i){this.points.forEach(function(c){c.setState&&c.setState(i)})}setVisible(i,c){var U;let d=this,M=d.chart,w=M.options.chart.ignoreHiddenSeries,z=d.visible;d.visible=i=d.options.visible=d.userOptions.visible=i===void 0?!z:i;let X=i?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(_=>{var lt;(lt=d[_])==null||lt[X]()}),(M.hoverSeries===d||((U=M.hoverPoint)==null?void 0:U.series)===d)&&d.onMouseOut(),d.legendItem&&M.legend.colorizeItem(d,i),d.isDirty=!0,d.options.stacking&&M.series.forEach(_=>{_.options.stacking&&_.visible&&(_.isDirty=!0)}),d.linkedSeries.forEach(_=>{_.setVisible(i,!1)}),w&&(M.isDirtyBox=!0),a(d,X),c!==!1&&M.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(i){this.selected=i=this.options.selected=i===void 0?!this.selected:i,this.checkbox&&(this.checkbox.checked=i),a(this,i?"select":"unselect")}shouldShowTooltip(i,c,d={}){return d.series=this,d.visiblePlotOnly=!0,this.chart.isInsidePlot(i,c,d)}drawLegendSymbol(i,c){var d;(d=at[this.options.legendSymbol||"rectangle"])==null||d.call(this,i,c)}}return y.defaultOptions=dt,y.types=$.seriesTypes,y.registerType=$.registerSeriesType,t(y.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:ot,requireSorting:!0,sorted:!0}),$.series=y,y}),yt(H,"Core/Legend/Legend.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Foundation.js"],H["Core/Globals.js"],H["Core/Series/Series.js"],H["Core/Series/Point.js"],H["Core/Renderer/RendererUtilities.js"],H["Core/Templating.js"],H["Core/Utilities.js"]],function(Z,K,J,it,at,ot,dt,$){var q;let{animObject:V,setAnimation:C}=Z,{registerEventOptions:R}=K,{composed:I,marginNames:O}=J,{distribute:m}=ot,{format:S}=dt,{addEvent:k,createElement:T,css:p,defined:b,discardElement:D,find:A,fireEvent:x,isNumber:r,merge:u,pick:s,pushUnique:e,relativeLength:t,stableSort:o,syncTimeout:a}=$;class f{constructor(h,P){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=h,this.setOptions(P),P.enabled&&(this.render(),R(this,P),k(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),k(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(h){let P=s(h.padding,8);this.options=h,this.chart.styledMode||(this.itemStyle=h.itemStyle,this.itemHiddenStyle=u(this.itemStyle,h.itemHiddenStyle)),this.itemMarginTop=h.itemMarginTop,this.itemMarginBottom=h.itemMarginBottom,this.padding=P,this.initialItemY=P-5,this.symbolWidth=s(h.symbolWidth,16),this.pages=[],this.proximate=h.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(h,P){let Y=this.chart;this.setOptions(u(!0,this.options,h)),"events"in this.options&&R(this,this.options),this.destroy(),Y.isDirtyLegend=Y.isDirtyBox=!0,s(P,!0)&&Y.redraw(),x(this,"afterUpdate",{redraw:P})}colorizeItem(h,P){let{area:Y,group:g,label:L,line:B,symbol:G}=h.legendItem||{};if(g==null||g[P?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:et={}}=this,l=et.color,{fillColor:n,fillOpacity:y,lineColor:j,marker:i}=h.options,c=d=>(!P&&(d.fill&&(d.fill=l),d.stroke&&(d.stroke=l)),d);L==null||L.css(u(P?this.itemStyle:et)),B==null||B.attr(c({stroke:j||h.color})),G&&G.attr(c(i&&G.isMarker?h.pointAttribs():{fill:h.color})),Y==null||Y.attr(c({fill:n||h.color,"fill-opacity":n?1:y??.75}))}x(this,"afterColorizeItem",{item:h,visible:P})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(h){let{group:P,x:Y=0,y:g=0}=h.legendItem||{},L=this.options,B=L.symbolPadding,G=!L.rtl,et=h.checkbox;if(P&&P.element){let l={translateX:G?Y:this.legendWidth-Y-2*B-4,translateY:g};P[b(P.translateY)?"animate":"attr"](l,void 0,()=>{x(this,"afterPositionItem",{item:h})})}et&&(et.x=Y,et.y=g)}destroyItem(h){let P=h.checkbox,Y=h.legendItem||{};for(let g of["group","label","line","symbol"])Y[g]&&(Y[g]=Y[g].destroy());P&&D(P),h.legendItem=void 0}destroy(){for(let h of this.getAllItems())this.destroyItem(h);for(let h of["clipRect","up","down","pager","nav","box","title","group"])this[h]&&(this[h]=this[h].destroy());this.display=null}positionCheckboxes(){let h,P=this.group&&this.group.alignAttr,Y=this.clipHeight||this.legendHeight,g=this.titleHeight;P&&(h=P.translateY,this.allItems.forEach(function(L){let B,G=L.checkbox;G&&(B=h+g+G.y+(this.scrollOffset||0)+3,p(G,{left:P.translateX+L.checkboxOffset+G.x-20+"px",top:B+"px",display:this.proximate||B>h-6&&B<h+Y-6?"":"none"}))},this))}renderTitle(){let h=this.options,P=this.padding,Y=h.title,g,L=0;Y.text&&(this.title||(this.title=this.chart.renderer.label(Y.text,P-3,P-4,void 0,void 0,void 0,h.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(Y.style),this.title.add(this.group)),Y.width||this.title.css({width:this.maxLegendWidth+"px"}),L=(g=this.title.getBBox()).height,this.offsetWidth=g.width,this.contentGroup.attr({translateY:L})),this.titleHeight=L}setText(h){let P=this.options;h.legendItem.label.attr({text:P.labelFormat?S(P.labelFormat,h,this.chart):P.labelFormatter.call(h)})}renderItem(h){let P=h.legendItem=h.legendItem||{},Y=this.chart,g=Y.renderer,L=this.options,B=L.layout==="horizontal",G=this.symbolWidth,et=L.symbolPadding||0,l=this.itemStyle,n=this.itemHiddenStyle,y=B?s(L.itemDistance,20):0,j=!L.rtl,i=!h.series,c=!i&&h.series.drawLegendSymbol?h.series:h,d=c.options,M=!!this.createCheckboxForItem&&d&&d.showCheckbox,w=L.useHTML,z=h.options.className,X=P.label,U=G+et+y+(M?20:0);!X&&(P.group=g.g("legend-item").addClass("highcharts-"+c.type+"-series highcharts-color-"+h.colorIndex+(z?" "+z:"")+(i?" highcharts-series-"+h.index:"")).attr({zIndex:1}).add(this.scrollGroup),P.label=X=g.text("",j?G+et:-et,this.baseline||0,w),Y.styledMode||X.css(u(h.visible?l:n)),X.attr({align:j?"left":"right",zIndex:2}).add(P.group),!this.baseline&&(this.fontMetrics=g.fontMetrics(X),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,X.attr("y",this.baseline),this.symbolHeight=s(L.symbolHeight,this.fontMetrics.f),L.squareSymbol&&(this.symbolWidth=s(L.symbolWidth,Math.max(this.symbolHeight,16)),U=this.symbolWidth+et+y+(M?20:0),j&&X.attr("x",this.symbolWidth+et))),c.drawLegendSymbol(this,h),this.setItemEvents&&this.setItemEvents(h,X,w)),M&&!h.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(h),this.colorizeItem(h,h.visible),(Y.styledMode||!l.width)&&X.css({width:(L.itemWidth||this.widthOption||Y.spacingBox.width)-U+"px"}),this.setText(h);let _=X.getBBox(),lt=this.fontMetrics&&this.fontMetrics.h||0;h.itemWidth=h.checkboxOffset=L.itemWidth||P.labelWidth||_.width+U,this.maxItemWidth=Math.max(this.maxItemWidth,h.itemWidth),this.totalItemWidth+=h.itemWidth,this.itemHeight=h.itemHeight=Math.round(P.labelHeight||(_.height>1.5*lt?_.height:lt))}layoutItem(h){let P=this.options,Y=this.padding,g=P.layout==="horizontal",L=h.itemHeight,B=this.itemMarginBottom,G=this.itemMarginTop,et=g?s(P.itemDistance,20):0,l=this.maxLegendWidth,n=P.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:h.itemWidth,y=h.legendItem||{};g&&this.itemX-Y+n>l&&(this.itemX=Y,this.lastLineHeight&&(this.itemY+=G+this.lastLineHeight+B),this.lastLineHeight=0),this.lastItemY=G+this.itemY+B,this.lastLineHeight=Math.max(L,this.lastLineHeight),y.x=this.itemX,y.y=this.itemY,g?this.itemX+=n:(this.itemY+=G+L+B,this.lastLineHeight=L),this.offsetWidth=this.widthOption||Math.max((g?this.itemX-Y-(h.checkbox?0:et):n)+Y,this.offsetWidth)}getAllItems(){let h=[];return this.chart.series.forEach(function(P){let Y=P&&P.options;P&&s(Y.showInLegend,!b(Y.linkedTo)&&void 0,!0)&&(h=h.concat((P.legendItem||{}).labels||(Y.legendType==="point"?P.data:P)))}),x(this,"afterGetAllItems",{allItems:h}),h}getAlignment(){let h=this.options;return this.proximate?h.align.charAt(0)+"tv":h.floating?"":h.align.charAt(0)+h.verticalAlign.charAt(0)+h.layout.charAt(0)}adjustMargins(h,P){let Y=this.chart,g=this.options,L=this.getAlignment();L&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(B,G){B.test(L)&&!b(h[G])&&(Y[O[G]]=Math.max(Y[O[G]],Y.legend[(G+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][G]*g[G%2?"x":"y"]+s(g.margin,12)+P[G]+(Y.titleOffset[G]||0)))})}proximatePositions(){let h,P=this.chart,Y=[],g=this.options.align==="left";for(let L of(this.allItems.forEach(function(B){let G,et,l=g,n,y;B.yAxis&&(B.xAxis.options.reversed&&(l=!l),B.points&&(G=A(l?B.points:B.points.slice(0).reverse(),function(j){return r(j.plotY)})),et=this.itemMarginTop+B.legendItem.label.getBBox().height+this.itemMarginBottom,y=B.yAxis.top-P.plotTop,n=B.visible?(G?G.plotY:B.yAxis.height)+(y-.3*et):y+B.yAxis.height,Y.push({target:n,size:et,item:B}))},this),m(Y,P.plotHeight)))h=L.item.legendItem||{},r(L.pos)&&(h.y=P.plotTop-P.spacing[0]+L.pos)}render(){let h=this.chart,P=h.renderer,Y=this.options,g=this.padding,L=this.getAllItems(),B,G,et,l=this.group,n,y=this.box;this.itemX=g,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=t(Y.width,h.spacingBox.width-g),n=h.spacingBox.width-2*g-Y.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(n/=2),this.maxLegendWidth=this.widthOption||n,l||(this.group=l=P.g("legend").addClass(Y.className||"").attr({zIndex:7}).add(),this.contentGroup=P.g().attr({zIndex:1}).add(l),this.scrollGroup=P.g().add(this.contentGroup)),this.renderTitle(),o(L,(j,i)=>(j.options&&j.options.legendIndex||0)-(i.options&&i.options.legendIndex||0)),Y.reversed&&L.reverse(),this.allItems=L,this.display=B=!!L.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,L.forEach(this.renderItem,this),L.forEach(this.layoutItem,this),G=(this.widthOption||this.offsetWidth)+g,et=this.lastItemY+this.lastLineHeight+this.titleHeight,et=this.handleOverflow(et)+g,y||(this.box=y=P.rect().addClass("highcharts-legend-box").attr({r:Y.borderRadius}).add(l)),h.styledMode||y.attr({stroke:Y.borderColor,"stroke-width":Y.borderWidth||0,fill:Y.backgroundColor||"none"}).shadow(Y.shadow),G>0&&et>0&&y[y.placed?"animate":"attr"](y.crisp.call({},{x:0,y:0,width:G,height:et},y.strokeWidth())),l[B?"show":"hide"](),h.styledMode&&l.getStyle("display")==="none"&&(G=et=0),this.legendWidth=G,this.legendHeight=et,B&&this.align(),this.proximate||this.positionItems(),x(this,"afterRender")}align(h=this.chart.spacingBox){let P=this.chart,Y=this.options,g=h.y;/(lth|ct|rth)/.test(this.getAlignment())&&P.titleOffset[0]>0?g+=P.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&P.titleOffset[2]>0&&(g-=P.titleOffset[2]),g!==h.y&&(h=u(h,{y:g})),P.hasRendered||(this.group.placed=!1),this.group.align(u(Y,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":Y.verticalAlign}),!0,h)}handleOverflow(h){let P=this,Y=this.chart,g=Y.renderer,L=this.options,B=L.y,G=L.verticalAlign==="top",et=this.padding,l=L.maxHeight,n=L.navigation,y=s(n.animation,!0),j=n.arrowSize||12,i=this.pages,c=this.allItems,d=function(rt){typeof rt=="number"?lt.attr({height:rt}):lt&&(P.clipRect=lt.destroy(),P.contentGroup.clip()),P.contentGroup.div&&(P.contentGroup.div.style.clip=rt?"rect("+et+"px,9999px,"+(et+rt)+"px,0)":"auto")},M=function(rt){return P[rt]=g.circle(0,0,1.3*j).translate(j/2,j/2).add(_),Y.styledMode||P[rt].attr("fill","rgba(0,0,0,0.0001)"),P[rt]},w,z,X,U=Y.spacingBox.height+(G?-B:B)-et,_=this.nav,lt=this.clipRect;return L.layout!=="horizontal"||L.verticalAlign==="middle"||L.floating||(U/=2),l&&(U=Math.min(U,l)),i.length=0,h&&U>0&&h>U&&n.enabled!==!1?(this.clipHeight=w=Math.max(U-20-this.titleHeight-et,0),this.currentPage=s(this.currentPage,1),this.fullHeight=h,c.forEach((rt,N)=>{let E=(X=rt.legendItem||{}).y||0,W=Math.round(X.label.getBBox().height),F=i.length;(!F||E-i[F-1]>w&&(z||E)!==i[F-1])&&(i.push(z||E),F++),X.pageIx=F-1,z&&((c[N-1].legendItem||{}).pageIx=F-1),N===c.length-1&&E+W-i[F-1]>w&&E>i[F-1]&&(i.push(E),X.pageIx=F),E!==z&&(z=E)}),lt||(lt=P.clipRect=g.clipRect(0,et-2,9999,0),P.contentGroup.clip(lt)),d(w),_||(this.nav=_=g.g().attr({zIndex:1}).add(this.group),this.up=g.symbol("triangle",0,0,j,j).add(_),M("upTracker").on("click",function(){P.scroll(-1,y)}),this.pager=g.text("",15,10).addClass("highcharts-legend-navigation"),!Y.styledMode&&n.style&&this.pager.css(n.style),this.pager.add(_),this.down=g.symbol("triangle-down",0,0,j,j).add(_),M("downTracker").on("click",function(){P.scroll(1,y)})),P.scroll(0),h=U):_&&(d(),this.nav=_.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),h}scroll(h,P){let Y=this.chart,g=this.pages,L=g.length,B=this.clipHeight,G=this.options.navigation,et=this.pager,l=this.padding,n=this.currentPage+h;n>L&&(n=L),n>0&&(P!==void 0&&C(P,Y),this.nav.attr({translateX:l,translateY:B+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(y){y.attr({class:n===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),et.attr({text:n+"/"+L}),[this.down,this.downTracker].forEach(function(y){y.attr({x:18+this.pager.getBBox().width,class:n===L?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),Y.styledMode||(this.up.attr({fill:n===1?G.inactiveColor:G.activeColor}),this.upTracker.css({cursor:n===1?"default":"pointer"}),this.down.attr({fill:n===L?G.inactiveColor:G.activeColor}),this.downTracker.css({cursor:n===L?"default":"pointer"})),this.scrollOffset=-g[n-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=n,this.positionCheckboxes(),a(()=>{x(this,"afterScroll",{currentPage:n})},V(s(P,Y.renderer.globalAnimation,!0)).duration))}setItemEvents(h,P,Y){let g=this,L=h.legendItem||{},B=g.chart.renderer.boxWrapper,G=h instanceof at,et=h instanceof it,l="highcharts-legend-"+(G?"point":"series")+"-active",n=g.chart.styledMode,y=Y?[P,L.symbol]:[L.group],j=i=>{g.allItems.forEach(c=>{h!==c&&[c].concat(c.linkedSeries||[]).forEach(d=>{d.setState(i,!G)})})};for(let i of y)i&&i.on("mouseover",function(){h.visible&&j("inactive"),h.setState("hover"),h.visible&&B.addClass(l),n||P.css(g.options.itemHoverStyle)}).on("mouseout",function(){g.chart.styledMode||P.css(u(h.visible?g.itemStyle:g.itemHiddenStyle)),j(""),B.removeClass(l),h.setState()}).on("click",function(c){let d=function(){h.setVisible&&h.setVisible(),j(h.visible?"inactive":"")};B.removeClass(l),x(g,"itemClick",{browserEvent:c,legendItem:h},d),G?h.firePointEvent("legendItemClick",{browserEvent:c}):et&&x(h,"legendItemClick",{browserEvent:c})})}createCheckboxForItem(h){h.checkbox=T("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:h.selected,defaultChecked:h.selected},this.options.itemCheckboxStyle,this.chart.container),k(h.checkbox,"click",function(P){let Y=P.target;x(h.series||h,"checkboxClick",{checked:Y.checked,item:h},function(){h.select()})})}}return(q=f||(f={})).compose=function(v){e(I,"Core.Legend")&&k(v,"beforeMargins",function(){this.legend=new q(this,this.options.legend)})},f}),yt(H,"Core/Chart/Chart.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Axis/Axis.js"],H["Core/Defaults.js"],H["Core/Templating.js"],H["Core/Foundation.js"],H["Core/Globals.js"],H["Core/Renderer/RendererRegistry.js"],H["Core/Series/Series.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Renderer/SVG/SVGRenderer.js"],H["Core/Time.js"],H["Core/Utilities.js"],H["Core/Renderer/HTML/AST.js"],H["Core/Axis/Tick.js"]],function(Z,K,J,it,at,ot,dt,$,q,V,C,R,I,O){let{animate:m,animObject:S,setAnimation:k}=Z,{defaultOptions:T,defaultTime:p}=J,{numberFormat:b}=it,{registerEventOptions:D}=at,{charts:A,doc:x,marginNames:r,svg:u,win:s}=ot,{seriesTypes:e}=q,{addEvent:t,attr:o,createElement:a,css:f,defined:v,diffObjects:h,discardElement:P,erase:Y,error:g,extend:L,find:B,fireEvent:G,getStyle:et,isArray:l,isNumber:n,isObject:y,isString:j,merge:i,objectEach:c,pick:d,pInt:M,relativeLength:w,removeEvent:z,splat:X,syncTimeout:U,uniqueKey:_}=R;class lt{static chart(N,E,W){return new lt(N,E,W)}constructor(N,E,W){this.sharedClips={};let F=[...arguments];(j(N)||N.nodeName)&&(this.renderTo=F.shift()),this.init(F[0],F[1])}setZoomOptions(){let N=this.options.chart,E=N.zooming;this.zooming={...E,type:d(N.zoomType,E.type),key:d(N.zoomKey,E.key),pinchType:d(N.pinchType,E.pinchType),singleTouch:d(N.zoomBySingleTouch,E.singleTouch,!1),resetButton:i(E.resetButton,N.resetZoomButton)}}init(N,E){G(this,"init",{args:arguments},function(){let W=i(T,N),F=W.chart;this.userOptions=L({},N),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=E,this.isResizing=0,this.options=W,this.axes=[],this.series=[],this.time=N.time&&Object.keys(N.time).length?new C(N.time):ot.time,this.numberFormatter=F.numberFormatter||b,this.styledMode=F.styledMode,this.hasCartesianSeries=F.showAxes,this.index=A.length,A.push(this),ot.chartCount++,D(this,F),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),G(this,"afterInit"),this.firstRender()})}initSeries(N){let E=this.options.chart,W=N.type||E.type,F=e[W];F||g(17,!0,this,{missingModuleFor:W});let Q=new F;return typeof Q.init=="function"&&Q.init(this,N),Q}setSortedData(){this.getSeriesOrderByLinks().forEach(function(N){N.points||N.data||!N.enabledDataSorting||N.setData(N.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(N,E){return N.linkedSeries.length||E.linkedSeries.length?E.linkedSeries.length-N.linkedSeries.length:0})}orderItems(N,E=0){let W=this[N],F=this.options[N]=X(this.options[N]).slice(),Q=this.userOptions[N]=this.userOptions[N]?X(this.userOptions[N]).slice():[];if(this.hasRendered&&(F.splice(E),Q.splice(E)),W)for(let st=E,tt=W.length;st<tt;++st){let nt=W[st];nt&&(nt.index=st,nt instanceof $&&(nt.name=nt.getName()),nt.options.isInternal||(F[st]=nt.options,Q[st]=nt.userOptions))}}isInsidePlot(N,E,W={}){var mt;let{inverted:F,plotBox:Q,plotLeft:st,plotTop:tt,scrollablePlotBox:nt}=this,{scrollLeft:ht=0,scrollTop:ct=0}=W.visiblePlotOnly&&((mt=this.scrollablePlotArea)==null?void 0:mt.scrollingContainer)||{},ut=W.series,ft=W.visiblePlotOnly&&nt||Q,bt=W.inverted?E:N,vt=W.inverted?N:E,xt={x:bt,y:vt,isInsidePlot:!0,options:W};if(!W.ignoreX){let kt=ut&&(F&&!this.polar?ut.yAxis:ut.xAxis)||{pos:st,len:1/0},St=W.paneCoordinates?kt.pos+bt:st+bt;St>=Math.max(ht+st,kt.pos)&&St<=Math.min(ht+st+ft.width,kt.pos+kt.len)||(xt.isInsidePlot=!1)}if(!W.ignoreY&&xt.isInsidePlot){let kt=!F&&W.axis&&!W.axis.isXAxis&&W.axis||ut&&(F?ut.xAxis:ut.yAxis)||{pos:tt,len:1/0},St=W.paneCoordinates?kt.pos+vt:tt+vt;St>=Math.max(ct+tt,kt.pos)&&St<=Math.min(ct+tt+ft.height,kt.pos+kt.len)||(xt.isInsidePlot=!1)}return G(this,"afterIsInsidePlot",xt),xt.isInsidePlot}redraw(N){G(this,"beforeRedraw");let E=this.hasCartesianSeries?this.axes:this.colorAxis||[],W=this.series,F=this.pointer,Q=this.legend,st=this.userOptions.legend,tt=this.renderer,nt=tt.isHidden(),ht=[],ct,ut,ft,bt=this.isDirtyBox,vt=this.isDirtyLegend,xt;for(tt.rootFontSize=tt.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),k(!!this.hasRendered&&N,this),nt&&this.temporaryDisplay(),this.layOutTitles(!1),ft=W.length;ft--;)if(((xt=W[ft]).options.stacking||xt.options.centerInCategory)&&(ut=!0,xt.isDirty)){ct=!0;break}if(ct)for(ft=W.length;ft--;)(xt=W[ft]).options.stacking&&(xt.isDirty=!0);W.forEach(function(mt){mt.isDirty&&(mt.options.legendType==="point"?(typeof mt.updateTotals=="function"&&mt.updateTotals(),vt=!0):st&&(st.labelFormatter||st.labelFormat)&&(vt=!0)),mt.isDirtyData&&G(mt,"updatedData")}),vt&&Q&&Q.options.enabled&&(Q.render(),this.isDirtyLegend=!1),ut&&this.getStacks(),E.forEach(function(mt){mt.updateNames(),mt.setScale()}),this.getMargins(),E.forEach(function(mt){mt.isDirty&&(bt=!0)}),E.forEach(function(mt){let kt=mt.min+","+mt.max;mt.extKey!==kt&&(mt.extKey=kt,ht.push(function(){G(mt,"afterSetExtremes",L(mt.eventArgs,mt.getExtremes())),delete mt.eventArgs})),(bt||ut)&&mt.redraw()}),bt&&this.drawChartBox(),G(this,"predraw"),W.forEach(function(mt){(bt||mt.isDirty)&&mt.visible&&mt.redraw(),mt.isDirtyData=!1}),F&&F.reset(!0),tt.draw(),G(this,"redraw"),G(this,"render"),nt&&this.temporaryDisplay(!0),ht.forEach(function(mt){mt.call()})}get(N){let E=this.series;function W(Q){return Q.id===N||Q.options&&Q.options.id===N}let F=B(this.axes,W)||B(this.series,W);for(let Q=0;!F&&Q<E.length;Q++)F=B(E[Q].points||[],W);return F}getAxes(){let N=this.userOptions;for(let E of(G(this,"getAxes"),["xAxis","yAxis"]))for(let W of N[E]=X(N[E]||{}))new K(this,W,E);G(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((N,E)=>(E.getPointsCollection().forEach(W=>{d(W.selectedStaging,W.selected)&&N.push(W)}),N),[])}getSelectedSeries(){return this.series.filter(function(N){return N.selected})}setTitle(N,E,W){this.applyDescription("title",N),this.applyDescription("subtitle",E),this.applyDescription("caption",void 0),this.layOutTitles(W)}applyDescription(N,E){let W=this,F=this.options[N]=i(this.options[N],E),Q=this[N];Q&&E&&(this[N]=Q=Q.destroy()),F&&!Q&&((Q=this.renderer.text(F.text,0,0,F.useHTML).attr({align:F.align,class:"highcharts-"+N,zIndex:F.zIndex||4}).add()).update=function(st,tt){W.applyDescription(N,st),W.layOutTitles(tt)},this.styledMode||Q.css(L(N==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},F.style)),this[N]=Q)}layOutTitles(N=!0){let E=[0,0,0],W=this.renderer,F=this.spacingBox;["title","subtitle","caption"].forEach(function(st){let tt=this[st],nt=this.options[st],ht=nt.verticalAlign||"top",ct=st==="title"?ht==="top"?-3:0:ht==="top"?E[0]+2:0;if(tt){tt.css({width:(nt.width||F.width+(nt.widthAdjust||0))+"px"});let ut=W.fontMetrics(tt).b,ft=Math.round(tt.getBBox(nt.useHTML).height);tt.align(L({y:ht==="bottom"?ut:ct+ut,height:ft},nt),!1,"spacingBox"),nt.floating||(ht==="top"?E[0]=Math.ceil(E[0]+ft):ht==="bottom"&&(E[2]=Math.ceil(E[2]+ft)))}},this),E[0]&&(this.options.title.verticalAlign||"top")==="top"&&(E[0]+=this.options.title.margin),E[2]&&this.options.caption.verticalAlign==="bottom"&&(E[2]+=this.options.caption.margin);let Q=!this.titleOffset||this.titleOffset.join(",")!==E.join(",");this.titleOffset=E,G(this,"afterLayOutTitles"),!this.isDirtyBox&&Q&&(this.isDirtyBox=this.isDirtyLegend=Q,this.hasRendered&&N&&this.isDirtyBox&&this.redraw())}getContainerBox(){let N=[].map.call(this.renderTo.children,W=>{if(W!==this.container){let F=W.style.display;return W.style.display="none",[W,F]}}),E={width:et(this.renderTo,"width",!0)||0,height:et(this.renderTo,"height",!0)||0};return N.filter(Boolean).forEach(([W,F])=>{W.style.display=F}),E}getChartSize(){var st;let N=this.options.chart,E=N.width,W=N.height,F=this.getContainerBox(),Q=F.height>1&&!(!((st=this.renderTo.parentElement)!=null&&st.style.height)&&this.renderTo.style.height==="100%");this.chartWidth=Math.max(0,E||F.width||600),this.chartHeight=Math.max(0,w(W,this.chartWidth)||(Q?F.height:400)),this.containerBox=F}temporaryDisplay(N){let E=this.renderTo,W;if(N)for(;E&&E.style;)E.hcOrigStyle&&(f(E,E.hcOrigStyle),delete E.hcOrigStyle),E.hcOrigDetached&&(x.body.removeChild(E),E.hcOrigDetached=!1),E=E.parentNode;else for(;E&&E.style&&(x.body.contains(E)||E.parentNode||(E.hcOrigDetached=!0,x.body.appendChild(E)),(et(E,"display",!1)==="none"||E.hcOricDetached)&&(E.hcOrigStyle={display:E.style.display,height:E.style.height,overflow:E.style.overflow},W={display:"block",overflow:"hidden"},E!==this.renderTo&&(W.height=0),f(E,W),E.offsetWidth||E.style.setProperty("display","block","important")),(E=E.parentNode)!==x.body););}setClassName(N){this.container.className="highcharts-container "+(N||"")}getContainer(){var ft;let N=this.options,E=N.chart,W="data-highcharts-chart",F=_(),Q,st=this.renderTo;st||(this.renderTo=st=E.renderTo),j(st)&&(this.renderTo=st=x.getElementById(st)),st||g(13,!0,this);let tt=M(o(st,W));n(tt)&&A[tt]&&A[tt].hasRendered&&A[tt].destroy(),o(st,W,this.index),st.innerHTML=I.emptyHTML,E.skipClone||st.offsetWidth||this.temporaryDisplay(),this.getChartSize();let nt=this.chartHeight,ht=this.chartWidth;f(st,{overflow:"hidden"}),this.styledMode||(Q=L({position:"relative",overflow:"hidden",width:ht+"px",height:nt+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},E.style||{}));let ct=a("div",{id:F},Q,st);this.container=ct,this.getChartSize(),ht===this.chartWidth||(ht=this.chartWidth,this.styledMode||f(ct,{width:d((ft=E.style)==null?void 0:ft.width,ht+"px")})),this.containerBox=this.getContainerBox(),this._cursor=ct.style.cursor;let ut=E.renderer||!u?dt.getRendererType(E.renderer):V;if(this.renderer=new ut(ct,ht,nt,void 0,E.forExport,N.exporting&&N.exporting.allowHTML,this.styledMode),k(void 0,this),this.setClassName(E.className),this.styledMode)for(let bt in N.defs)this.renderer.definition(N.defs[bt]);else this.renderer.setStyle(E.style);this.renderer.chartIndex=this.index,G(this,"afterGetContainer")}getMargins(N){let{spacing:E,margin:W,titleOffset:F}=this;this.resetMargins(),F[0]&&!v(W[0])&&(this.plotTop=Math.max(this.plotTop,F[0]+E[0])),F[2]&&!v(W[2])&&(this.marginBottom=Math.max(this.marginBottom,F[2]+E[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(W,E),G(this,"getMargins"),N||this.getAxisMargins()}getAxisMargins(){let N=this,E=N.axisOffset=[0,0,0,0],W=N.colorAxis,F=N.margin,Q=function(st){st.forEach(function(tt){tt.visible&&tt.getOffset()})};N.hasCartesianSeries?Q(N.axes):W&&W.length&&Q(W),r.forEach(function(st,tt){v(F[tt])||(N[st]+=E[tt])}),N.setChartSize()}getOptions(){return h(this.userOptions,T)}reflow(N){var Q;let E=this,W=E.containerBox,F=E.getContainerBox();(Q=E.pointer)==null||delete Q.chartPosition,!E.isPrinting&&!E.isResizing&&W&&F.width&&((F.width!==W.width||F.height!==W.height)&&(R.clearTimeout(E.reflowTimeout),E.reflowTimeout=U(function(){E.container&&E.setSize(void 0,void 0,!1)},N?100:0)),E.containerBox=F)}setReflow(){let N=this,E=W=>{var F;(F=N.options)!=null&&F.chart.reflow&&N.hasLoaded&&N.reflow(W)};if(typeof ResizeObserver=="function")new ResizeObserver(E).observe(N.renderTo);else{let W=t(s,"resize",E);t(this,"destroy",W)}}setSize(N,E,W){let F=this,Q=F.renderer;F.isResizing+=1,k(W,F);let st=Q.globalAnimation;F.oldChartHeight=F.chartHeight,F.oldChartWidth=F.chartWidth,N!==void 0&&(F.options.chart.width=N),E!==void 0&&(F.options.chart.height=E),F.getChartSize();let{chartWidth:tt,chartHeight:nt,scrollablePixelsX:ht=0,scrollablePixelsY:ct=0}=F;(F.isDirtyBox||tt!==F.oldChartWidth||nt!==F.oldChartHeight)&&(F.styledMode||(st?m:f)(F.container,{width:`${tt+ht}px`,height:`${nt+ct}px`},st),F.setChartSize(!0),Q.setSize(tt,nt,st),F.axes.forEach(function(ut){ut.isDirty=!0,ut.setScale()}),F.isDirtyLegend=!0,F.isDirtyBox=!0,F.layOutTitles(),F.getMargins(),F.redraw(st),F.oldChartHeight=void 0,G(F,"resize"),setTimeout(()=>{F&&G(F,"endResize")},S(st).duration)),F.isResizing-=1}setChartSize(N){let E,W,F,Q,{chartHeight:st,chartWidth:tt,inverted:nt,spacing:ht,renderer:ct}=this,ut=this.clipOffset,ft=Math[nt?"floor":"round"];this.plotLeft=E=Math.round(this.plotLeft),this.plotTop=W=Math.round(this.plotTop),this.plotWidth=F=Math.max(0,Math.round(tt-E-this.marginRight)),this.plotHeight=Q=Math.max(0,Math.round(st-W-this.marginBottom)),this.plotSizeX=nt?Q:F,this.plotSizeY=nt?F:Q,this.spacingBox=ct.spacingBox={x:ht[3],y:ht[0],width:tt-ht[3]-ht[1],height:st-ht[0]-ht[2]},this.plotBox=ct.plotBox={x:E,y:W,width:F,height:Q},ut&&(this.clipBox={x:ft(ut[3]),y:ft(ut[0]),width:ft(this.plotSizeX-ut[1]-ut[3]),height:ft(this.plotSizeY-ut[0]-ut[2])}),N||(this.axes.forEach(function(bt){bt.setAxisSize(),bt.setAxisTranslation()}),ct.alignElements()),G(this,"afterSetChartSize",{skipAxes:N})}resetMargins(){G(this,"resetMargins");let N=this,E=N.options.chart,W=E.plotBorderWidth||0,F=W/2;["margin","spacing"].forEach(function(Q){let st=E[Q],tt=y(st)?st:[st,st,st,st];["Top","Right","Bottom","Left"].forEach(function(nt,ht){N[Q][ht]=d(E[Q+nt],tt[ht])})}),r.forEach(function(Q,st){N[Q]=d(N.margin[st],N.spacing[st])}),N.axisOffset=[0,0,0,0],N.clipOffset=[F,F,F,F],N.plotBorderWidth=W}drawChartBox(){let N=this.options.chart,E=this.renderer,W=this.chartWidth,F=this.chartHeight,Q=this.styledMode,st=this.plotBGImage,tt=N.backgroundColor,nt=N.plotBackgroundColor,ht=N.plotBackgroundImage,ct=this.plotLeft,ut=this.plotTop,ft=this.plotWidth,bt=this.plotHeight,vt=this.plotBox,xt=this.clipRect,mt=this.clipBox,kt=this.chartBackground,St=this.plotBackground,Ct=this.plotBorder,Tt,Mt,Lt,At="animate";kt||(this.chartBackground=kt=E.rect().addClass("highcharts-background").add(),At="attr"),Q?Tt=Mt=kt.strokeWidth():(Mt=(Tt=N.borderWidth||0)+(N.shadow?8:0),Lt={fill:tt||"none"},(Tt||kt["stroke-width"])&&(Lt.stroke=N.borderColor,Lt["stroke-width"]=Tt),kt.attr(Lt).shadow(N.shadow)),kt[At]({x:Mt/2,y:Mt/2,width:W-Mt-Tt%2,height:F-Mt-Tt%2,r:N.borderRadius}),At="animate",St||(At="attr",this.plotBackground=St=E.rect().addClass("highcharts-plot-background").add()),St[At](vt),!Q&&(St.attr({fill:nt||"none"}).shadow(N.plotShadow),ht&&(st?(ht!==st.attr("href")&&st.attr("href",ht),st.animate(vt)):this.plotBGImage=E.image(ht,ct,ut,ft,bt).add())),xt?xt.animate({width:mt.width,height:mt.height}):this.clipRect=E.clipRect(mt),At="animate",Ct||(At="attr",this.plotBorder=Ct=E.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Q||Ct.attr({stroke:N.plotBorderColor,"stroke-width":N.plotBorderWidth||0,fill:"none"}),Ct[At](Ct.crisp({x:ct,y:ut,width:ft,height:bt},-Ct.strokeWidth())),this.isDirtyBox=!1,G(this,"afterDrawChartBox")}propFromSeries(){let N,E,W,F=this,Q=F.options.chart,st=F.options.series;["inverted","angular","polar"].forEach(function(tt){for(E=e[Q.type],W=Q[tt]||E&&E.prototype[tt],N=st&&st.length;!W&&N--;)(E=e[st[N].type])&&E.prototype[tt]&&(W=!0);F[tt]=W})}linkSeries(N){let E=this,W=E.series;W.forEach(function(F){F.linkedSeries.length=0}),W.forEach(function(F){let{linkedTo:Q}=F.options;if(j(Q)){let st;(st=Q===":previous"?E.series[F.index-1]:E.get(Q))&&st.linkedParent!==F&&(st.linkedSeries.push(F),F.linkedParent=st,st.enabledDataSorting&&F.setDataSortingOptions(),F.visible=d(F.options.visible,st.options.visible,F.visible))}}),G(this,"afterLinkSeries",{isUpdating:N})}renderSeries(){this.series.forEach(function(N){N.translate(),N.render()})}render(){var ct;let N=this.axes,E=this.colorAxis,W=this.renderer,F=this.options.chart.axisLayoutRuns||2,Q=ut=>{ut.forEach(ft=>{ft.visible&&ft.render()})},st=0,tt=!0,nt,ht=0;for(let ut of(this.setTitle(),G(this,"beforeMargins"),(ct=this.getStacks)==null||ct.call(this),this.getMargins(!0),this.setChartSize(),N)){let{options:ft}=ut,{labels:bt}=ft;if(this.hasCartesianSeries&&ut.horiz&&ut.visible&&bt.enabled&&ut.series.length&&ut.coll!=="colorAxis"&&!this.polar){st=ft.tickLength,ut.createGroups();let vt=new O(ut,0,"",!0),xt=vt.createLabel("x",bt);if(vt.destroy(),xt&&d(bt.reserveSpace,!n(ft.crossing))&&(st=xt.getBBox().height+bt.distance+Math.max(ft.offset||0,0)),st){xt==null||xt.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-st,0);(tt||nt||F>1)&&ht<F;){let ut=this.plotWidth,ft=this.plotHeight;for(let bt of N)ht===0?bt.setScale():(bt.horiz&&tt||!bt.horiz&&nt)&&bt.setTickInterval(!0);ht===0?this.getAxisMargins():this.getMargins(),tt=ut/this.plotWidth>(ht?1:1.1),nt=ft/this.plotHeight>(ht?1:1.05),ht++}this.drawChartBox(),this.hasCartesianSeries?Q(N):E&&E.length&&Q(E),this.seriesGroup||(this.seriesGroup=W.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(N){let E=this,W=i(!0,this.options.credits,N);W.enabled&&!this.credits&&(this.credits=this.renderer.text(W.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){W.href&&(s.location.href=W.href)}).attr({align:W.position.align,zIndex:8}),E.styledMode||this.credits.css(W.style),this.credits.add().align(W.position),this.credits.update=function(F){E.credits=E.credits.destroy(),E.addCredits(F)})}destroy(){let N,E=this,W=E.axes,F=E.series,Q=E.container,st=Q&&Q.parentNode;for(G(E,"destroy"),E.renderer.forExport?Y(A,E):A[E.index]=void 0,ot.chartCount--,E.renderTo.removeAttribute("data-highcharts-chart"),z(E),N=W.length;N--;)W[N]=W[N].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),N=F.length;N--;)F[N]=F[N].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(tt){let nt=E[tt];nt&&nt.destroy&&(E[tt]=nt.destroy())}),Q&&(Q.innerHTML=I.emptyHTML,z(Q),st&&P(Q)),c(E,function(tt,nt){delete E[nt]})}firstRender(){var F;let N=this,E=N.options;N.getContainer(),N.resetMargins(),N.setChartSize(),N.propFromSeries(),N.getAxes();let W=l(E.series)?E.series:[];E.series=[],W.forEach(function(Q){N.initSeries(Q)}),N.linkSeries(),N.setSortedData(),G(N,"beforeRender"),N.render(),(F=N.pointer)==null||F.getChartPosition(),N.renderer.imgCount||N.hasLoaded||N.onload(),N.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(N){N&&this.index!==void 0&&N.apply(this,[this])},this),G(this,"load"),G(this,"render"),v(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:N,title:E}=this;!N||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(E&&E.element.textContent||"").replace(/</g,"<")}),N.accessibility&&N.accessibility.enabled===!1||g('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(N,E,W){let F,Q=this;return N&&(E=d(E,!0),G(Q,"addSeries",{options:N},function(){F=Q.initSeries(N),Q.isDirtyLegend=!0,Q.linkSeries(),F.enabledDataSorting&&F.setData(N.data,!1),G(Q,"afterAddSeries",{series:F}),E&&Q.redraw(W)})),F}addAxis(N,E,W,F){return this.createAxis(E?"xAxis":"yAxis",{axis:N,redraw:W,animation:F})}addColorAxis(N,E,W){return this.createAxis("colorAxis",{axis:N,redraw:E,animation:W})}createAxis(N,E){let W=new K(this,E.axis,N);return d(E.redraw,!0)&&this.redraw(E.animation),W}showLoading(N){let E=this,W=E.options,F=W.loading,Q=function(){st&&f(st,{left:E.plotLeft+"px",top:E.plotTop+"px",width:E.plotWidth+"px",height:E.plotHeight+"px"})},st=E.loadingDiv,tt=E.loadingSpan;st||(E.loadingDiv=st=a("div",{className:"highcharts-loading highcharts-loading-hidden"},null,E.container)),tt||(E.loadingSpan=tt=a("span",{className:"highcharts-loading-inner"},null,st),t(E,"redraw",Q)),st.className="highcharts-loading",I.setElementHTML(tt,d(N,W.lang.loading,"")),E.styledMode||(f(st,L(F.style,{zIndex:10})),f(tt,F.labelStyle),E.loadingShown||(f(st,{opacity:0,display:""}),m(st,{opacity:F.style.opacity||.5},{duration:F.showDuration||0}))),E.loadingShown=!0,Q()}hideLoading(){let N=this.options,E=this.loadingDiv;E&&(E.className="highcharts-loading highcharts-loading-hidden",this.styledMode||m(E,{opacity:0},{duration:N.loading.hideDuration||100,complete:function(){f(E,{display:"none"})}})),this.loadingShown=!1}update(N,E,W,F){let Q,st,tt,nt=this,ht={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},ct=N.isResponsiveOptions,ut=[];G(nt,"update",{options:N}),ct||nt.setResponsive(!1,!0),N=h(N,nt.options),nt.userOptions=i(nt.userOptions,N);let ft=N.chart;ft&&(i(!0,nt.options.chart,ft),this.setZoomOptions(),"className"in ft&&nt.setClassName(ft.className),("inverted"in ft||"polar"in ft||"type"in ft)&&(nt.propFromSeries(),Q=!0),"alignTicks"in ft&&(Q=!0),"events"in ft&&D(this,ft),c(ft,function(xt,mt){nt.propsRequireUpdateSeries.indexOf("chart."+mt)!==-1&&(st=!0),nt.propsRequireDirtyBox.indexOf(mt)!==-1&&(nt.isDirtyBox=!0),nt.propsRequireReflow.indexOf(mt)===-1||(nt.isDirtyBox=!0,ct||(tt=!0))}),!nt.styledMode&&ft.style&&nt.renderer.setStyle(nt.options.chart.style||{})),!nt.styledMode&&N.colors&&(this.options.colors=N.colors),N.time&&(this.time===p&&(this.time=new C(N.time)),i(!0,nt.options.time,N.time)),c(N,function(xt,mt){nt[mt]&&typeof nt[mt].update=="function"?nt[mt].update(xt,!1):typeof nt[ht[mt]]=="function"?nt[ht[mt]](xt):mt!=="colors"&&nt.collectionsWithUpdate.indexOf(mt)===-1&&i(!0,nt.options[mt],N[mt]),mt!=="chart"&&nt.propsRequireUpdateSeries.indexOf(mt)!==-1&&(st=!0)}),this.collectionsWithUpdate.forEach(function(xt){N[xt]&&(X(N[xt]).forEach(function(mt,kt){let St,Ct=v(mt.id);Ct&&(St=nt.get(mt.id)),!St&&nt[xt]&&(St=nt[xt][d(mt.index,kt)])&&(Ct&&v(St.options.id)||St.options.isInternal)&&(St=void 0),St&&St.coll===xt&&(St.update(mt,!1),W&&(St.touched=!0)),!St&&W&&nt.collectionsWithInit[xt]&&(nt.collectionsWithInit[xt][0].apply(nt,[mt].concat(nt.collectionsWithInit[xt][1]||[]).concat([!1])).touched=!0)}),W&&nt[xt].forEach(function(mt){mt.touched||mt.options.isInternal?delete mt.touched:ut.push(mt)}))}),ut.forEach(function(xt){xt.chart&&xt.remove&&xt.remove(!1)}),Q&&nt.axes.forEach(function(xt){xt.update({},!1)}),st&&nt.getSeriesOrderByLinks().forEach(function(xt){xt.chart&&xt.update({},!1)},this);let bt=ft&&ft.width,vt=ft&&(j(ft.height)?w(ft.height,bt||nt.chartWidth):ft.height);tt||n(bt)&&bt!==nt.chartWidth||n(vt)&&vt!==nt.chartHeight?nt.setSize(bt,vt,F):d(E,!0)&&nt.redraw(F),G(nt,"afterUpdate",{options:N,redraw:E,animation:F})}setSubtitle(N,E){this.applyDescription("subtitle",N),this.layOutTitles(E)}setCaption(N,E){this.applyDescription("caption",N),this.layOutTitles(E)}showResetZoom(){let N=this,E=T.lang,W=N.zooming.resetButton,F=W.theme,Q=W.relativeTo==="chart"||W.relativeTo==="spacingBox"?null:"plotBox";function st(){N.zoomOut()}G(this,"beforeShowResetZoom",null,function(){N.resetZoomButton=N.renderer.button(E.resetZoom,null,null,st,F).attr({align:W.position.align,title:E.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(W.position,!1,Q)}),G(this,"afterShowResetZoom")}zoomOut(){G(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(N,E){let W=this,F=typeof E=="object"?E:{enabled:E,type:"x"},Q=F.type,st=Q&&W[{x:"xAxis",xy:"axes",y:"yAxis"}[Q]].filter(nt=>nt.options.panningEnabled&&!nt.options.isInternal),tt=W.options.chart;tt!=null&&tt.panning&&(tt.panning=F),G(this,"pan",{originalEvent:N},()=>{W.transform({axes:st,event:N,to:{x:N.chartX-(W.mouseDownX||0),y:N.chartY-(W.mouseDownY||0)},trigger:"pan"}),f(W.container,{cursor:"move"})})}transform(N){var bt;let{axes:E=this.axes,event:W,from:F={},reset:Q,selection:st,to:tt={},trigger:nt}=N,{inverted:ht}=this,ct=!1,ut,ft;for(let vt of((bt=this.hoverPoints)==null||bt.forEach(xt=>xt.setState()),E)){let{horiz:xt,len:mt,minPointOffset:kt=0,options:St,reversed:Ct}=vt,Tt=xt?"width":"height",Mt=xt?"x":"y",Lt=d(tt[Tt],vt.len),At=d(F[Tt],vt.len),It=10>Math.abs(Lt)?1:Lt/At,Xt=(F[Mt]||0)+At/2-vt.pos,Wt=Xt-((tt[Mt]??vt.pos)+Lt/2-vt.pos)/It,Ft=Ct&&!ht||!Ct&&ht?-1:1;if(!Q&&(Xt<0||Xt>vt.len))continue;let Et=vt.toValue(Wt,!0)+(st||vt.isOrdinal?0:kt*Ft),Rt=vt.toValue(Wt+mt/It,!0)-(st||vt.isOrdinal?0:kt*Ft||0),Gt=vt.allExtremes;if(Et>Rt&&([Et,Rt]=[Rt,Et]),It===1&&!Q&&vt.coll==="yAxis"&&!Gt){for(let de of vt.series){let Zt=de.getExtremes(de.getProcessedData(!0).yData,!0);Gt??(Gt={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),n(Zt.dataMin)&&n(Zt.dataMax)&&(Gt.dataMin=Math.min(Zt.dataMin,Gt.dataMin),Gt.dataMax=Math.max(Zt.dataMax,Gt.dataMax))}vt.allExtremes=Gt}let{dataMin:xe,dataMax:ye,min:re,max:oe}=L(vt.getExtremes(),Gt||{}),ne=xe??St.min,ae=ye??St.max,Qt=Rt-Et,le=vt.categories?0:Math.min(Qt,ae-ne),te=ne-le*(v(St.min)?0:St.minPadding),ee=ae+le*(v(St.max)?0:St.maxPadding),he=vt.allowZoomOutside||It===1||nt!=="zoom"&&It>1,qt=Math.min(St.min??te,te,he?re:te),Kt=Math.max(St.max??ee,ee,he?oe:ee);(!vt.isOrdinal||vt.options.overscroll||It!==1||Q)&&(Et<qt&&(Et=qt,It>=1&&(Rt=Et+Qt)),Rt>Kt&&(Rt=Kt,It>=1&&(Et=Rt-Qt)),(Q||vt.series.length&&(Et!==re||Rt!==oe)&&Et>=qt&&Rt<=Kt)&&(st?st[vt.coll].push({axis:vt,min:Et,max:Rt}):(vt.isPanning=nt!=="zoom",vt.isPanning&&(ft=!0),vt.setExtremes(Q?void 0:Et,Q?void 0:Rt,!1,!1,{move:Wt,trigger:nt,scale:It}),!Q&&(Et>qt||Rt<Kt)&&nt!=="mousewheel"&&(ut=!0)),ct=!0),W&&(this[xt?"mouseDownX":"mouseDownY"]=W[xt?"chartX":"chartY"]))}return ct&&(st?G(this,"selection",st,()=>{delete N.selection,N.trigger="zoom",this.transform(N)}):(!ut||ft||this.resetZoomButton?!ut&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(nt==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),ct}}return L(lt.prototype,{callbacks:[],collectionsWithInit:{xAxis:[lt.prototype.addAxis,[!0]],yAxis:[lt.prototype.addAxis,[!1]],series:[lt.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),lt}),yt(H,"Extensions/ScrollablePlotArea.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Globals.js"],H["Core/Renderer/RendererRegistry.js"],H["Core/Utilities.js"]],function(Z,K,J,it){let{stop:at}=Z,{composed:ot}=K,{addEvent:dt,createElement:$,css:q,defined:V,merge:C,pushUnique:R}=it;function I(){let S=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!S&&(this.scrollablePlotArea=S=new m(this)),S==null||S.applyFixed()}function O(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class m{static compose(k,T,p){R(ot,this.compose)&&(dt(k,"afterInit",O),dt(T,"afterSetChartSize",b=>this.afterSetSize(b.target,b)),dt(T,"render",I),dt(p,"show",O))}static afterSetSize(k,T){let p,b,D,{minWidth:A,minHeight:x}=k.options.chart.scrollablePlotArea||{},{clipBox:r,plotBox:u,inverted:s,renderer:e}=k;if(!e.forExport&&(A?(k.scrollablePixelsX=p=Math.max(0,A-k.chartWidth),p&&(k.scrollablePlotBox=C(k.plotBox),u.width=k.plotWidth+=p,r[s?"height":"width"]+=p,D=!0)):x&&(k.scrollablePixelsY=b=Math.max(0,x-k.chartHeight),V(b)&&(k.scrollablePlotBox=C(k.plotBox),u.height=k.plotHeight+=b,r[s?"width":"height"]+=b,D=!1)),V(D)&&!T.skipAxes))for(let t of k.axes)t.horiz===D&&(t.setAxisSize(),t.setAxisTranslation())}constructor(k){var o;let T,p=k.options.chart,b=J.getRendererType(),D=p.scrollablePlotArea||{},A=this.moveFixedElements.bind(this),x={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};k.scrollablePixelsX&&(x.overflowX="auto"),k.scrollablePixelsY&&(x.overflowY="auto"),this.chart=k;let r=this.parentDiv=$("div",{className:"highcharts-scrolling-parent"},{position:"relative"},k.renderTo),u=this.scrollingContainer=$("div",{className:"highcharts-scrolling"},x,r),s=this.innerContainer=$("div",{className:"highcharts-inner-container"},void 0,u),e=this.fixedDiv=$("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(((o=p.style)==null?void 0:o.zIndex)||0)+2,top:0},void 0,!0),t=this.fixedRenderer=new b(e,k.chartWidth,k.chartHeight,p.style);this.mask=t.path().attr({fill:p.backgroundColor||"#fff","fill-opacity":D.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),u.parentNode.insertBefore(e,u),q(k.renderTo,{overflow:"visible"}),dt(k,"afterShowResetZoom",A),dt(k,"afterApplyDrilldown",A),dt(k,"afterLayOutTitles",A),dt(u,"scroll",()=>{let{pointer:a,hoverPoint:f}=k;a&&(delete a.chartPosition,f&&(T=f),a.runPointActions(void 0,T,!0))}),s.appendChild(k.container)}applyFixed(){var n;let{chart:k,fixedRenderer:T,isDirty:p,scrollingContainer:b}=this,{axisOffset:D,chartWidth:A,chartHeight:x,container:r,plotHeight:u,plotLeft:s,plotTop:e,plotWidth:t,scrollablePixelsX:o=0,scrollablePixelsY:a=0}=k,{scrollPositionX:f=0,scrollPositionY:v=0}=k.options.chart.scrollablePlotArea||{},h=A+o,P=x+a;T.setSize(A,x),(p??!0)&&(this.isDirty=!1,this.moveFixedElements()),at(k.container),q(r,{width:`${h}px`,height:`${P}px`}),k.renderer.boxWrapper.attr({width:h,height:P,viewBox:[0,0,h,P].join(" ")}),(n=k.chartBackground)==null||n.attr({width:h,height:P}),q(b,{width:`${A}px`,height:`${x}px`}),V(p)||(b.scrollLeft=o*f,b.scrollTop=a*v);let Y=e-D[0]-1,g=s-D[3]-1,L=e+u+D[2]+1,B=s+t+D[1]+1,G=s+t-o,et=e+u-a,l=[["M",0,0]];o?l=[["M",0,Y],["L",s-1,Y],["L",s-1,L],["L",0,L],["Z"],["M",G,Y],["L",A,Y],["L",A,L],["L",G,L],["Z"]]:a&&(l=[["M",g,0],["L",g,e-1],["L",B,e-1],["L",B,0],["Z"],["M",g,et],["L",g,x],["L",B,x],["L",B,et],["Z"]]),k.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:l})}moveFixedElements(){let k,{container:T,inverted:p,scrollablePixelsX:b,scrollablePixelsY:D}=this.chart,A=this.fixedRenderer,x=m.fixedSelectors;for(let r of(b&&!p?k=".highcharts-yaxis":b&&p||D&&!p?k=".highcharts-xaxis":D&&p&&(k=".highcharts-yaxis"),k&&x.push(`${k}:not(.highcharts-radial-axis)`,`${k}-labels:not(.highcharts-radial-axis-labels)`),x))[].forEach.call(T.querySelectorAll(r),u=>{(u.namespaceURI===A.SVG_NS?A.box:A.box.parentNode).appendChild(u),u.style.pointerEvents="auto"})}}return m.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"],m}),yt(H,"Core/Axis/Stacking/StackItem.js",[H["Core/Templating.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Z,K,J){let{format:it}=Z,{series:at}=K,{destroyObjectProperties:ot,fireEvent:dt,isNumber:$,pick:q}=J;return class{constructor(V,C,R,I,O){let m=V.chart.inverted,S=V.reversed;this.axis=V;let k=this.isNegative=!!R!=!!S;this.options=C=C||{},this.x=I,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=O,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:C.align||(m?k?"left":"right":"center"),verticalAlign:C.verticalAlign||(m?"middle":k?"bottom":"top"),y:C.y,x:C.x},this.textAlign=C.textAlign||(m?k?"right":"left":"center")}destroy(){ot(this,this.axis)}render(V){let C=this.axis.chart,R=this.options,I=R.format,O=I?it(I,this,C):R.formatter.call(this);if(this.label)this.label.attr({text:O,visibility:"hidden"});else{this.label=C.renderer.label(O,null,void 0,R.shape,void 0,void 0,R.useHTML,!1,"stack-labels");let m={r:R.borderRadius||0,text:O,padding:q(R.padding,5),visibility:"hidden"};C.styledMode||(m.fill=R.backgroundColor,m.stroke=R.borderColor,m["stroke-width"]=R.borderWidth,this.label.css(R.style||{})),this.label.attr(m),this.label.added||this.label.add(V)}this.label.labelrank=C.plotSizeY,dt(this,"afterRender")}setOffset(V,C,R,I,O,m){let{alignOptions:S,axis:k,label:T,options:p,textAlign:b}=this,D=k.chart,A=this.getStackBox({xOffset:V,width:C,boxBottom:R,boxTop:I,defaultX:O,xAxis:m}),{verticalAlign:x}=S;if(T&&A){let r=T.getBBox(void 0,0),u=T.padding,s=q(p.overflow,"justify")==="justify",e;S.x=p.x||0,S.y=p.y||0;let{x:t,y:o}=this.adjustStackPosition({labelBox:r,verticalAlign:x,textAlign:b});A.x-=t,A.y-=o,T.align(S,!1,A),(e=D.isInsidePlot(T.alignAttr.x+S.x+t,T.alignAttr.y+S.y+o))||(s=!1),s&&at.prototype.justifyDataLabel.call(k,T,S,T.alignAttr,r,A),T.attr({x:T.alignAttr.x,y:T.alignAttr.y,rotation:p.rotation,rotationOriginX:r.width*{left:0,center:.5,right:1}[p.textAlign||"center"],rotationOriginY:r.height/2}),q(!s&&p.crop,!0)&&(e=$(T.x)&&$(T.y)&&D.isInsidePlot(T.x-u+(T.width||0),T.y)&&D.isInsidePlot(T.x+u,T.y)),T[e?"show":"hide"]()}dt(this,"afterSetOffset",{xOffset:V,width:C})}adjustStackPosition({labelBox:V,verticalAlign:C,textAlign:R}){let I={bottom:0,middle:1,top:2,right:1,center:0,left:-1},O=I[C],m=I[R];return{x:V.width/2+V.width/2*m,y:V.height/2*O}}getStackBox(V){let C=this.axis,R=C.chart,{boxTop:I,defaultX:O,xOffset:m,width:S,boxBottom:k}=V,T=C.stacking.usePercentage?100:q(I,this.total,0),p=C.toPixels(T),b=V.xAxis||R.xAxis[0],D=q(O,b.translate(this.x))+m,A=Math.abs(p-C.toPixels(k||$(C.min)&&C.logarithmic&&C.logarithmic.lin2log(C.min)||0)),x=R.inverted,r=this.isNegative;return x?{x:(r?p:p-A)-R.plotLeft,y:b.height-D-S+b.top-R.plotTop,width:A,height:S}:{x:D+b.transB-R.plotLeft,y:(r?p-A:p)-R.plotTop,width:S,height:A}}}}),yt(H,"Core/Axis/Stacking/StackingAxis.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Axis/Axis.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Axis/Stacking/StackItem.js"],H["Core/Utilities.js"]],function(Z,K,J,it,at){var ot;let{getDeferredAnimation:dt}=Z,{series:{prototype:$}}=J,{addEvent:q,correctFloat:V,defined:C,destroyObjectProperties:R,fireEvent:I,isArray:O,isNumber:m,objectEach:S,pick:k}=at;function T(){let e=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let o=t.xAxis&&t.xAxis.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,k(t.options.stack,""),e?o.top:o.left,e?o.height:o.width].join(","))})}function p(){var t;let e=this.stacking;if(e){let o=e.stacks;S(o,(a,f)=>{R(a),delete o[f]}),(t=e.stackTotalGroup)==null||t.destroy()}}function b(){this.stacking||(this.stacking=new s(this))}function D(e,t,o,a){return!C(e)||e.x!==t||a&&e.stackKey!==a?e={x:t,index:0,key:a,stackKey:a}:e.index++,e.key=[o,t,e.index].join(","),e}function A(){let e,t=this,o=t.yAxis,a=t.stackKey||"",f=o.stacking.stacks,v=t.processedXData,h=t.options.stacking,P=t[h+"Stacker"];P&&[a,"-"+a].forEach(Y=>{var et;let g=v.length,L,B,G;for(;g--;)L=v[g],e=t.getStackIndicator(e,L,t.index,Y),B=(et=f[Y])==null?void 0:et[L],(G=B==null?void 0:B.points[e.key||""])&&P.call(t,G,B,g)})}function x(e,t,o){let a=t.total?100/t.total:0;e[0]=V(e[0]*a),e[1]=V(e[1]*a),this.stackedYData[o]=e[1]}function r(e){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?$.setStackedPoints.call(this,e,"group"):e.stacking.resetStacks())}function u(e,t){var _,lt;let o,a,f,v,h,P,Y,g,L,B=t||this.options.stacking;if(!B||!this.reserveSpace()||({group:"xAxis"}[B]||"yAxis")!==e.coll)return;let G=this.processedXData,et=this.processedYData,l=[],n=et.length,y=this.options,j=y.threshold||0,i=y.startFromThreshold?j:0,c=y.stack,d=t?`${this.type},${B}`:this.stackKey||"",M="-"+d,w=this.negStacks,z=e.stacking,X=z.stacks,U=z.oldStacks;for(z.stacksTouched+=1,Y=0;Y<n;Y++){g=G[Y],L=et[Y],P=(o=this.getStackIndicator(o,g,this.index)).key||"",X[h=(a=w&&L<(i?0:j))?M:d]||(X[h]={}),X[h][g]||((_=U[h])!=null&&_[g]?(X[h][g]=U[h][g],X[h][g].total=null):X[h][g]=new it(e,e.options.stackLabels,!!a,g,c)),f=X[h][g],L!==null?(f.points[P]=f.points[this.index]=[k(f.cumulative,i)],C(f.cumulative)||(f.base=P),f.touched=z.stacksTouched,o.index>0&&this.singleStacks===!1&&(f.points[P][0]=f.points[this.index+","+g+",0"][0])):(delete f.points[P],delete f.points[this.index]);let rt=f.total||0;B==="percent"?(v=a?d:M,rt=w&&((lt=X[v])!=null&<[g])?(v=X[v][g]).total=Math.max(v.total||0,rt)+Math.abs(L)||0:V(rt+(Math.abs(L)||0))):B==="group"?(O(L)&&(L=L[0]),L!==null&&rt++):rt=V(rt+(L||0)),B==="group"?f.cumulative=(rt||1)-1:f.cumulative=V(k(f.cumulative,i)+(L||0)),f.total=rt,L!==null&&(f.points[P].push(f.cumulative),l[Y]=f.cumulative,f.hasValidPoints=!0)}B==="percent"&&(z.usePercentage=!0),B!=="group"&&(this.stackedYData=l),z.oldStacks={}}class s{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,o,a=this.axis,f=a.series,v=a.coll==="xAxis",h=a.options.reversedStacks,P=f.length;for(this.resetStacks(),this.usePercentage=!1,o=P;o--;)t=f[h?o:P-o-1],v&&t.setGroupedPoints(a),t.setStackedPoints(a);if(!v)for(o=0;o<P;o++)f[o].modifyStacks();I(a,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,S(this.stacks,t=>{S(t,o=>{o.cumulative=o.total})}))}resetStacks(){S(this.stacks,t=>{S(t,(o,a)=>{m(o.touched)&&o.touched<this.stacksTouched?(o.destroy(),delete t[a]):(o.total=null,o.cumulative=null)})})}renderStackTotals(){var P;let t=this.axis,o=t.chart,a=o.renderer,f=this.stacks,v=dt(o,((P=t.options.stackLabels)==null?void 0:P.animation)||!1),h=this.stackTotalGroup=this.stackTotalGroup||a.g("stack-labels").attr({zIndex:6,opacity:0}).add();h.translate(o.plotLeft,o.plotTop),S(f,Y=>{S(Y,g=>{g.render(h)})}),h.animate({opacity:1},v)}}return(ot||(ot={})).compose=function(e,t,o){let a=t.prototype,f=o.prototype;a.getStacks||(q(e,"init",b),q(e,"destroy",p),a.getStacks=T,f.getStackIndicator=D,f.modifyStacks=A,f.percentStacker=x,f.setGroupedPoints=r,f.setStackedPoints=u)},ot}),yt(H,"Series/Line/LineSeries.js",[H["Core/Series/Series.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Z,K,J){let{defined:it,merge:at,isObject:ot}=J;class dt extends Z{drawGraph(){let q=this.options,V=(this.gappedPath||this.getGraphPath).call(this),C=this.chart.styledMode;[this,...this.zones].forEach((R,I)=>{let O,m=R.graph,S=m?"animate":"attr",k=R.dashStyle||q.dashStyle;m?(m.endX=this.preventGraphAnimation?null:V.xMap,m.animate({d:V})):V.length&&(R.graph=m=this.chart.renderer.path(V).addClass("highcharts-graph"+(I?` highcharts-zone-graph-${I-1} `:" ")+(I&&R.className||"")).attr({zIndex:1}).add(this.group)),m&&!C&&(O={stroke:!I&&q.lineColor||R.color||this.color||"#cccccc","stroke-width":q.lineWidth||0,fill:this.fillGraph&&this.color||"none"},k?O.dashstyle=k:q.linecap!=="square"&&(O["stroke-linecap"]=O["stroke-linejoin"]="round"),m[S](O).shadow(I<2&&q.shadow&&at({filterUnits:"userSpaceOnUse"},ot(q.shadow)?q.shadow:{}))),m&&(m.startX=V.xMap,m.isArea=V.isArea)})}getGraphPath(q,V,C){let R=this,I=R.options,O=[],m=[],S,k=I.step,T=(q=q||R.points).reversed;return T&&q.reverse(),(k={right:1,center:2}[k]||k&&3)&&T&&(k=4-k),(q=this.getValidPoints(q,!1,!(I.connectNulls&&!V&&!C))).forEach(function(p,b){let D,A=p.plotX,x=p.plotY,r=q[b-1],u=p.isNull||typeof x!="number";(p.leftCliff||r&&r.rightCliff)&&!C&&(S=!0),u&&!it(V)&&b>0?S=!I.connectNulls:u&&!V?S=!0:(b===0||S?D=[["M",p.plotX,p.plotY]]:R.getPointSpline?D=[R.getPointSpline(q,p,b)]:k?(D=k===1?[["L",r.plotX,x]]:k===2?[["L",(r.plotX+A)/2,r.plotY],["L",(r.plotX+A)/2,x]]:[["L",A,r.plotY]]).push(["L",A,x]):D=[["L",A,x]],m.push(p.x),k&&(m.push(p.x),k===2&&m.push(p.x)),O.push.apply(O,D),S=!1)}),O.xMap=m,R.graphPath=O,O}}return dt.defaultOptions=at(Z.defaultOptions,{legendSymbol:"lineMarker"}),K.registerSeriesType("line",dt),dt}),yt(H,"Series/Area/AreaSeriesDefaults.js",[],function(){return{threshold:0,legendSymbol:"areaMarker"}}),yt(H,"Series/Area/AreaSeries.js",[H["Series/Area/AreaSeriesDefaults.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Z,K,J){let{seriesTypes:{line:it}}=K,{extend:at,merge:ot,objectEach:dt,pick:$}=J;class q extends it{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:C,options:R}=this;[this,...this.zones].forEach((I,O)=>{let m={},S=I.fillColor||R.fillColor,k=I.area,T=k?"animate":"attr";k?(k.endX=this.preventGraphAnimation?null:C.xMap,k.animate({d:C})):(m.zIndex=0,(k=I.area=this.chart.renderer.path(C).addClass("highcharts-area"+(O?` highcharts-zone-area-${O-1} `:" ")+(O&&I.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(m.fill=S||I.color||this.color,m["fill-opacity"]=S?1:R.fillOpacity??.75,k.css({pointerEvents:this.stickyTracking?"none":"auto"})),k[T](m),k.startX=C.xMap,k.shiftUnit=R.step?2:1})}getGraphPath(C){let R,I,O,m=it.prototype.getGraphPath,S=this.options,k=S.stacking,T=this.yAxis,p=[],b=[],D=this.index,A=T.stacking.stacks[this.stackKey],x=S.threshold,r=Math.round(T.getThreshold(S.threshold)),u=$(S.connectNulls,k==="percent"),s=function(v,h,P){let Y=C[v],g=k&&A[Y.x].points[D],L=Y[P+"Null"]||0,B=Y[P+"Cliff"]||0,G,et,l=!0;B||L?(G=(L?g[0]:g[1])+B,et=g[0]+B,l=!!L):!k&&C[h]&&C[h].isNull&&(G=et=x),G!==void 0&&(b.push({plotX:R,plotY:G===null?r:T.getThreshold(G),isNull:l,isCliff:!0}),p.push({plotX:R,plotY:et===null?r:T.getThreshold(et),doCurve:!1}))};C=C||this.points,k&&(C=this.getStackPoints(C));for(let v=0,h=C.length;v<h;++v)k||(C[v].leftCliff=C[v].rightCliff=C[v].leftNull=C[v].rightNull=void 0),I=C[v].isNull,R=$(C[v].rectPlotX,C[v].plotX),O=k?$(C[v].yBottom,r):r,I&&!u||(u||s(v,v-1,"left"),I&&!k&&u||(b.push(C[v]),p.push({x:v,plotX:R,plotY:O})),u||s(v,v+1,"right"));let e=m.call(this,b,!0,!0);p.reversed=!0;let t=m.call(this,p,!0,!0),o=t[0];o&&o[0]==="M"&&(t[0]=["L",o[1],o[2]]);let a=e.concat(t);a.length&&a.push(["Z"]);let f=m.call(this,b,!1,u);return this.chart.series.length>1&&k&&b.some(v=>v.isCliff)&&(a.hasStackedCliffs=f.hasStackedCliffs=!0),a.xMap=e.xMap,this.areaPath=a,f}getStackPoints(C){let R=this,I=[],O=[],m=this.xAxis,S=this.yAxis,k=S.stacking.stacks[this.stackKey],T={},p=S.series,b=p.length,D=S.options.reversedStacks?1:-1,A=p.indexOf(R);if(C=C||this.points,this.options.stacking){for(let r=0;r<C.length;r++)C[r].leftNull=C[r].rightNull=void 0,T[C[r].x]=C[r];dt(k,function(r,u){r.total!==null&&O.push(u)}),O.sort(function(r,u){return r-u});let x=p.map(r=>r.visible);O.forEach(function(r,u){let s=0,e,t;if(T[r]&&!T[r].isNull)I.push(T[r]),[-1,1].forEach(function(o){let a=o===1?"rightNull":"leftNull",f=k[O[u+o]],v=0;if(f){let h=A;for(;h>=0&&h<b;){let P=p[h].index;!(e=f.points[P])&&(P===R.index?T[r][a]=!0:x[h]&&(t=k[r].points[P])&&(v-=t[1]-t[0])),h+=D}}T[r][o===1?"rightCliff":"leftCliff"]=v});else{let o=A;for(;o>=0&&o<b;){let a=p[o].index;if(e=k[r].points[a]){s=e[1];break}o+=D}s=$(s,0),s=S.translate(s,0,1,0,1),I.push({isNull:!0,plotX:m.translate(r,0,0,0,1),x:r,plotY:s,yBottom:s})}})}return I}}return q.defaultOptions=ot(it.defaultOptions,Z),at(q.prototype,{singleStacks:!1}),K.registerSeriesType("area",q),q}),yt(H,"Series/Spline/SplineSeries.js",[H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Z,K){let{line:J}=Z.seriesTypes,{merge:it,pick:at}=K;class ot extends J{getPointSpline($,q,V){let C,R,I,O,m=q.plotX||0,S=q.plotY||0,k=$[V-1],T=$[V+1];function p(D){return D&&!D.isNull&&D.doCurve!==!1&&!q.isCliff}if(p(k)&&p(T)){let D=k.plotX||0,A=k.plotY||0,x=T.plotX||0,r=T.plotY||0,u=0;C=(1.5*m+D)/2.5,R=(1.5*S+A)/2.5,I=(1.5*m+x)/2.5,O=(1.5*S+r)/2.5,I!==C&&(u=(O-R)*(I-m)/(I-C)+S-O),R+=u,O+=u,R>A&&R>S?(R=Math.max(A,S),O=2*S-R):R<A&&R<S&&(R=Math.min(A,S),O=2*S-R),O>r&&O>S?(O=Math.max(r,S),R=2*S-O):O<r&&O<S&&(O=Math.min(r,S),R=2*S-O),q.rightContX=I,q.rightContY=O,q.controlPoints={low:[C,R],high:[I,O]}}let b=["C",at(k.rightContX,k.plotX,0),at(k.rightContY,k.plotY,0),at(C,m,0),at(R,S,0),m,S];return k.rightContX=k.rightContY=void 0,b}}return ot.defaultOptions=it(J.defaultOptions),Z.registerSeriesType("spline",ot),ot}),yt(H,"Series/AreaSpline/AreaSplineSeries.js",[H["Series/Spline/SplineSeries.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Z,K,J){let{area:it,area:{prototype:at}}=K.seriesTypes,{extend:ot,merge:dt}=J;class $ extends Z{}return $.defaultOptions=dt(Z.defaultOptions,it.defaultOptions),ot($.prototype,{getGraphPath:at.getGraphPath,getStackPoints:at.getStackPoints,drawGraph:at.drawGraph}),K.registerSeriesType("areaspline",$),$}),yt(H,"Series/Column/ColumnSeriesDefaults.js",[],function(){return{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}}),yt(H,"Series/Column/ColumnSeries.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Color/Color.js"],H["Series/Column/ColumnSeriesDefaults.js"],H["Core/Globals.js"],H["Core/Series/Series.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Z,K,J,it,at,ot,dt){let{animObject:$}=Z,{parse:q}=K,{noop:V}=it,{clamp:C,crisp:R,defined:I,extend:O,fireEvent:m,isArray:S,isNumber:k,merge:T,pick:p,objectEach:b}=dt;class D extends at{animate(x){let r,u,s=this,e=this.yAxis,t=e.pos,o=e.reversed,a=s.options,{clipOffset:f,inverted:v}=this.chart,h={},P=v?"translateX":"translateY";x&&f?(h.scaleY=.001,u=C(e.toPixels(a.threshold),t,t+e.len),v?(u+=o?-Math.floor(f[0]):Math.ceil(f[2]),h.translateX=u-e.len):(u+=o?Math.ceil(f[0]):-Math.floor(f[2]),h.translateY=u),s.clipBox&&s.setClip(),s.group.attr(h)):(r=Number(s.group.attr(P)),s.group.animate({scaleY:1},O($(s.options.animation),{step:function(Y,g){s.group&&(h[P]=r+g.pos*(t-r),s.group.attr(h))}})))}init(x,r){super.init.apply(this,arguments);let u=this;(x=u.chart).hasRendered&&x.series.forEach(function(s){s.type===u.type&&(s.isDirty=!0)})}getColumnMetrics(){var L,B;let x=this,r=x.options,u=x.xAxis,s=x.yAxis,e=u.options.reversedStacks,t=u.reversed&&!e||!u.reversed&&e,o={},a,f=0;r.grouping===!1?f=1:x.chart.series.forEach(function(G){let et,l=G.yAxis,n=G.options;G.type===x.type&&G.reserveSpace()&&s.len===l.len&&s.pos===l.pos&&(n.stacking&&n.stacking!=="group"?(o[a=G.stackKey]===void 0&&(o[a]=f++),et=o[a]):n.grouping!==!1&&(et=f++),G.columnIndex=et)});let v=Math.min(Math.abs(u.transA)*(!((L=u.brokenAxis)!=null&&L.hasBreaks)&&((B=u.ordinal)==null?void 0:B.slope)||r.pointRange||u.closestPointRange||u.tickInterval||1),u.len),h=v*r.groupPadding,P=(v-2*h)/(f||1),Y=Math.min(r.maxPointWidth||u.len,p(r.pointWidth,P*(1-2*r.pointPadding))),g=(x.columnIndex||0)+(t?1:0);return x.columnMetrics={width:Y,offset:(P-Y)/2+(h+g*P-v/2)*(t?-1:1),paddedWidth:P,columnCount:f},x.columnMetrics}crispCol(x,r,u,s){let e=this.borderWidth,t=this.chart.inverted;return s=R(r+s,e,t)-(r=R(r,e,t)),this.options.crisp&&(u=R(x+u,e)-(x=R(x,e))),{x,y:r,width:u,height:s}}adjustForMissingColumns(x,r,u,s){var e;if(!u.isNull&&s.columnCount>1){let t=this.xAxis.series.filter(v=>v.visible).map(v=>v.index),o=0,a=0;b((e=this.xAxis.stacking)==null?void 0:e.stacks,v=>{if(typeof u.x=="number"){let h=v[u.x.toString()];if(h&&S(h.points[this.index])){let P=Object.keys(h.points).filter(Y=>!Y.match(",")&&h.points[Y]&&h.points[Y].length>1).map(parseFloat).filter(Y=>t.indexOf(Y)!==-1).sort((Y,g)=>g-Y);o=P.indexOf(this.index),a=P.length}}}),o=this.xAxis.reversed?a-1-o:o;let f=(a-1)*s.paddedWidth+r;x=(u.plotX||0)+f/2-r-o*s.paddedWidth}return x}translate(){let x=this,r=x.chart,u=x.options,s=x.dense=x.closestPointRange*x.xAxis.transA<2,e=x.borderWidth=p(u.borderWidth,s?0:1),t=x.xAxis,o=x.yAxis,a=u.threshold,f=p(u.minPointLength,5),v=x.getColumnMetrics(),h=v.width,P=x.pointXOffset=v.offset,Y=x.dataMin,g=x.dataMax,L=x.translatedThreshold=o.getThreshold(a),B=x.barW=Math.max(h,1+2*e);u.pointPadding&&(B=Math.ceil(B)),at.prototype.translate.apply(x),x.points.forEach(function(G){let et=p(G.yBottom,L),l=999+Math.abs(et),n=G.plotX||0,y=C(G.plotY,-l,o.len+l),j,i=Math.min(y,et),c=Math.max(y,et)-i,d=h,M=n+P,w=B;f&&Math.abs(c)<f&&(c=f,j=!o.reversed&&!G.negative||o.reversed&&G.negative,k(a)&&k(g)&&G.y===a&&g<=a&&(o.min||0)<a&&(Y!==g||(o.max||0)<=a)&&(j=!j,G.negative=!G.negative),i=Math.abs(i-L)>f?et-f:L-(j?f:0)),I(G.options.pointWidth)&&(M-=Math.round(((d=w=Math.ceil(G.options.pointWidth))-h)/2)),u.centerInCategory&&!u.stacking&&(M=x.adjustForMissingColumns(M,d,G,v)),G.barX=M,G.pointWidth=d,G.tooltipPos=r.inverted?[C(o.len+o.pos-r.plotLeft-y,o.pos-r.plotLeft,o.len+o.pos-r.plotLeft),t.len+t.pos-r.plotTop-M-w/2,c]:[t.left-r.plotLeft+M+w/2,C(y+o.pos-r.plotTop,o.pos-r.plotTop,o.len+o.pos-r.plotTop),c],G.shapeType=x.pointClass.prototype.shapeType||"roundedRect",G.shapeArgs=x.crispCol(M,G.isNull?L:i,w,G.isNull?0:c)}),m(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(x,r){let u=this.options,s=this.pointAttrToOptions||{},e=s.stroke||"borderColor",t=s["stroke-width"]||"borderWidth",o,a,f,v=x&&x.color||this.color,h=x&&x[e]||u[e]||v,P=x&&x.options.dashStyle||u.dashStyle,Y=x&&x[t]||u[t]||this[t]||0,g=p(x&&x.opacity,u.opacity,1);x&&this.zones.length&&(a=x.getZone(),v=x.options.color||a&&(a.color||x.nonZonedColor)||this.color,a&&(h=a.borderColor||h,P=a.dashStyle||P,Y=a.borderWidth||Y)),r&&x&&(f=(o=T(u.states[r],x.options.states&&x.options.states[r]||{})).brightness,v=o.color||f!==void 0&&q(v).brighten(o.brightness).get()||v,h=o[e]||h,Y=o[t]||Y,P=o.dashStyle||P,g=p(o.opacity,g));let L={fill:v,stroke:h,"stroke-width":Y,opacity:g};return P&&(L.dashstyle=P),L}drawPoints(x=this.points){let r,u=this,s=this.chart,e=u.options,t=s.renderer,o=e.animationLimit||250;x.forEach(function(a){let f=a.plotY,v=a.graphic,h=!!v,P=v&&s.pointCount<o?"animate":"attr";k(f)&&a.y!==null?(r=a.shapeArgs,v&&a.hasNewShapeType()&&(v=v.destroy()),u.enabledDataSorting&&(a.startXPos=u.xAxis.reversed?-(r&&r.width||0):u.xAxis.width),!v&&(a.graphic=v=t[a.shapeType](r).add(a.group||u.group),v&&u.enabledDataSorting&&s.hasRendered&&s.pointCount<o&&(v.attr({x:a.startXPos}),h=!0,P="animate")),v&&h&&v[P](T(r)),s.styledMode||v[P](u.pointAttribs(a,a.selected&&"select")).shadow(a.allowShadow!==!1&&e.shadow),v&&(v.addClass(a.getClassName(),!0),v.attr({visibility:a.visible?"inherit":"hidden"}))):v&&(a.graphic=v.destroy())})}drawTracker(x=this.points){let r,u=this,s=u.chart,e=s.pointer,t=function(o){let a=e==null?void 0:e.getPointFromEvent(o);e&&a&&u.options.enableMouseTracking&&(e.isDirectTouch=!0,a.onMouseOver(o))};x.forEach(function(o){r=S(o.dataLabels)?o.dataLabels:o.dataLabel?[o.dataLabel]:[],o.graphic&&(o.graphic.element.point=o),r.forEach(function(a){(a.div||a.element).point=o})}),u._hasTracking||(u.trackerGroups.forEach(function(o){u[o]&&(u[o].addClass("highcharts-tracker").on("mouseover",t).on("mouseout",function(a){e==null||e.onTrackerMouseOut(a)}).on("touchstart",t),!s.styledMode&&u.options.cursor&&u[o].css({cursor:u.options.cursor}))}),u._hasTracking=!0),m(this,"afterDrawTracker")}remove(){let x=this,r=x.chart;r.hasRendered&&r.series.forEach(function(u){u.type===x.type&&(u.isDirty=!0)}),at.prototype.remove.apply(x,arguments)}}return D.defaultOptions=T(at.defaultOptions,J),O(D.prototype,{directTouch:!0,getSymbol:V,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),ot.registerSeriesType("column",D),D}),yt(H,"Core/Series/DataLabel.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Templating.js"],H["Core/Utilities.js"]],function(Z,K,J){var it;let{getDeferredAnimation:at}=Z,{format:ot}=K,{defined:dt,extend:$,fireEvent:q,isArray:V,isString:C,merge:R,objectEach:I,pick:O,pInt:m,splat:S}=J;return function(k){function T(){return u(this).some(e=>e==null?void 0:e.enabled)}function p(e,t,o,a,f){var y;let{chart:v,enabledDataSorting:h}=this,P=this.isCartesian&&v.inverted,Y=e.plotX,g=e.plotY,L=o.rotation||0,B=dt(Y)&&dt(g)&&v.isInsidePlot(Y,Math.round(g),{inverted:P,paneCoordinates:!0,series:this}),G=L===0&&O(o.overflow,h?"none":"justify")==="justify",et=this.visible&&e.visible!==!1&&dt(Y)&&(e.series.forceDL||h&&!G||B||O(o.inside,!!this.options.stacking)&&a&&v.isInsidePlot(Y,P?a.x+1:a.y+a.height-1,{inverted:P,paneCoordinates:!0,series:this})),l=e.pos();if(et&&l){var n;let j=t.getBBox(),i=t.getBBox(void 0,0),c={right:1,center:.5}[o.align||0]||0,d={bottom:1,middle:.5}[o.verticalAlign||0]||0;if(a=$({x:l[0],y:Math.round(l[1]),width:0,height:0},a||{}),o.alignTo==="plotEdges"&&this.isCartesian&&(a[P?"x":"y"]=0,a[P?"width":"height"]=((y=this.yAxis)==null?void 0:y.len)||0),$(o,{width:j.width,height:j.height}),n=a,h&&this.xAxis&&!G&&this.setDataLabelStartPos(e,t,f,B,n),t.align(R(o,{width:i.width,height:i.height}),!1,a,!1),t.alignAttr.x+=c*(i.width-j.width),t.alignAttr.y+=d*(i.height-j.height),t[t.placed?"animate":"attr"]({x:t.alignAttr.x+(j.width-i.width)/2,y:t.alignAttr.y+(j.height-i.height)/2,rotationOriginX:(t.width||0)/2,rotationOriginY:(t.height||0)/2}),G&&a.height>=0)this.justifyDataLabel(t,o,t.alignAttr,j,a,f);else if(O(o.crop,!0)){let{x:M,y:w}=t.alignAttr;et=v.isInsidePlot(M,w,{paneCoordinates:!0,series:this})&&v.isInsidePlot(M+j.width-1,w+j.height-1,{paneCoordinates:!0,series:this})}o.shape&&!L&&t[f?"attr":"animate"]({anchorX:l[0],anchorY:l[1]})}f&&h&&(t.placed=!1),et||h&&!G?(t.show(),t.placed=!0):(t.hide(),t.placed=!1)}function b(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function D(e){let t=this.hasRendered||0,o=this.initDataLabelsGroup().attr({opacity:+t});return!t&&o&&(this.visible&&o.show(),this.options.animation?o.animate({opacity:1},e):o.attr({opacity:1})),o}function A(e){var et;let t;e=e||this.points;let o=this,a=o.chart,f=o.options,v=a.renderer,{backgroundColor:h,plotBackgroundColor:P}=a.options.chart,Y=v.getContrast(C(P)&&P||C(h)&&h||"#000000"),g=u(o),{animation:L,defer:B}=g[0],G=B?at(a,L,o):{defer:0,duration:0};q(this,"drawDataLabels"),(et=o.hasDataLabels)!=null&&et.call(o)&&(t=this.initDataLabels(G),e.forEach(l=>{var j,i;let n=l.dataLabels||[];S(r(g,l.dlOptions||((j=l.options)==null?void 0:j.dataLabels))).forEach((c,d)=>{let M=c.enabled&&(l.visible||l.dataLabelOnHidden)&&(!l.isNull||l.dataLabelOnNull)&&function(st,tt){let nt=tt.filter;if(nt){let ht=nt.operator,ct=st[nt.property],ut=nt.value;return ht===">"&&ct>ut||ht==="<"&&ct<ut||ht===">="&&ct>=ut||ht==="<="&&ct<=ut||ht==="=="&&ct==ut||ht==="==="&&ct===ut||ht==="!="&&ct!=ut||ht==="!=="&&ct!==ut}return!0}(l,c),{backgroundColor:w,borderColor:z,distance:X,style:U={}}=c,_,lt,rt,N,E={},W=n[d],F=!W,Q;M&&(lt=O(c[l.formatPrefix+"Format"],c.format),_=l.getLabelConfig(),rt=dt(lt)?ot(lt,_,a):(c[l.formatPrefix+"Formatter"]||c.formatter).call(_,c),N=c.rotation,!a.styledMode&&(U.color=O(c.color,U.color,C(o.color)?o.color:void 0,"#000000"),U.color==="contrast"?(w!=="none"&&(Q=w),l.contrastColor=v.getContrast(Q!=="auto"&&Q||l.color||o.color),U.color=Q||!dt(X)&&c.inside||0>m(X||0)||f.stacking?l.contrastColor:Y):delete l.contrastColor,f.cursor&&(U.cursor=f.cursor)),E={r:c.borderRadius||0,rotation:N,padding:c.padding,zIndex:1},a.styledMode||(E.fill=w==="auto"?l.color:w,E.stroke=z==="auto"?l.color:z,E["stroke-width"]=c.borderWidth),I(E,(st,tt)=>{st===void 0&&delete E[tt]})),!W||M&&dt(rt)&&!!W.div==!!c.useHTML&&(W.rotation&&c.rotation||W.rotation===c.rotation)||(W=void 0,F=!0),M&&dt(rt)&&(W?E.text=rt:(W=v.label(rt,0,0,c.shape,void 0,void 0,c.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+l.colorIndex+" "+(c.className||"")+(c.useHTML?" highcharts-tracker":"")),W&&(W.options=c,W.attr(E),a.styledMode?U.width&&W.css({width:U.width,textOverflow:U.textOverflow}):W.css(U).shadow(c.shadow),q(W,"beforeAddingDataLabel",{labelOptions:c,point:l}),W.added||W.add(t),o.alignDataLabel(l,W,c,void 0,F),W.isActive=!0,n[d]&&n[d]!==W&&n[d].destroy(),n[d]=W))});let y=n.length;for(;y--;)n[y]&&n[y].isActive?n[y].isActive=!1:((i=n[y])==null||i.destroy(),n.splice(y,1));l.dataLabel=n[0],l.dataLabels=n})),q(this,"afterDrawDataLabels")}function x(e,t,o,a,f,v){let h=this.chart,P=t.align,Y=t.verticalAlign,g=e.box?0:e.padding||0,L=h.inverted?this.yAxis:this.xAxis,B=L?L.left-h.plotLeft:0,G=h.inverted?this.xAxis:this.yAxis,et=G?G.top-h.plotTop:0,{x:l=0,y:n=0}=t,y,j;return(y=(o.x||0)+g+B)<0&&(P==="right"&&l>=0?(t.align="left",t.inside=!0):l-=y,j=!0),(y=(o.x||0)+a.width-g+B)>h.plotWidth&&(P==="left"&&l<=0?(t.align="right",t.inside=!0):l+=h.plotWidth-y,j=!0),(y=o.y+g+et)<0&&(Y==="bottom"&&n>=0?(t.verticalAlign="top",t.inside=!0):n-=y,j=!0),(y=(o.y||0)+a.height-g+et)>h.plotHeight&&(Y==="top"&&n<=0?(t.verticalAlign="bottom",t.inside=!0):n+=h.plotHeight-y,j=!0),j&&(t.x=l,t.y=n,e.placed=!v,e.align(t,void 0,f)),j}function r(e,t){let o=[],a;if(V(e)&&!V(t))o=e.map(function(f){return R(f,t)});else if(V(t)&&!V(e))o=t.map(function(f){return R(e,f)});else if(V(e)||V(t)){if(V(e)&&V(t))for(a=Math.max(e.length,t.length);a--;)o[a]=R(e[a],t[a])}else o=R(e,t);return o}function u(e){var o,a;let t=e.chart.options.plotOptions;return S(r(r((o=t==null?void 0:t.series)==null?void 0:o.dataLabels,(a=t==null?void 0:t[e.type])==null?void 0:a.dataLabels),e.options.dataLabels))}function s(e,t,o,a,f){let v=this.chart,h=v.inverted,P=this.xAxis,Y=P.reversed,g=((h?t.height:t.width)||0)/2,L=e.pointWidth,B=L?L/2:0;t.startXPos=h?f.x:Y?-g-B:P.width-g+B,t.startYPos=h?Y?this.yAxis.height-g+B:-g-B:f.y,a?t.visibility==="hidden"&&(t.show(),t.attr({opacity:0}).animate({opacity:1})):t.attr({opacity:1}).animate({opacity:0},void 0,t.hide),v.hasRendered&&(o&&t.attr({x:t.startXPos,y:t.startYPos}),t.placed=!0)}k.compose=function(e){let t=e.prototype;t.initDataLabels||(t.initDataLabels=D,t.initDataLabelsGroup=b,t.alignDataLabel=p,t.drawDataLabels=A,t.justifyDataLabel=x,t.setDataLabelStartPos=s,t.hasDataLabels=T)}}(it||(it={})),it}),yt(H,"Series/Column/ColumnDataLabel.js",[H["Core/Series/DataLabel.js"],H["Core/Globals.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Z,K,J,it){var at;let{composed:ot}=K,{series:dt}=J,{merge:$,pick:q,pushUnique:V}=it;return function(C){function R(I,O,m,S,k){let T=this.chart.inverted,p=I.series,b=(p.xAxis?p.xAxis.len:this.chart.plotSizeX)||0,D=(p.yAxis?p.yAxis.len:this.chart.plotSizeY)||0,A=I.dlBox||I.shapeArgs,x=q(I.below,I.plotY>q(this.translatedThreshold,D)),r=q(m.inside,!!this.options.stacking);if(A){if(S=$(A),!(m.overflow==="allow"&&m.crop===!1)){S.y<0&&(S.height+=S.y,S.y=0);let u=S.y+S.height-D;u>0&&u<S.height-1&&(S.height-=u)}T&&(S={x:D-S.y-S.height,y:b-S.x-S.width,width:S.height,height:S.width}),r||(T?(S.x+=x?0:S.width,S.width=0):(S.y+=x?S.height:0,S.height=0))}m.align=q(m.align,!T||r?"center":x?"right":"left"),m.verticalAlign=q(m.verticalAlign,T||r?"middle":x?"top":"bottom"),dt.prototype.alignDataLabel.call(this,I,O,m,S,k),m.inside&&I.contrastColor&&O.css({color:I.contrastColor})}C.compose=function(I){Z.compose(dt),V(ot,"ColumnDataLabel")&&(I.prototype.alignDataLabel=R)}}(at||(at={})),at}),yt(H,"Series/Bar/BarSeries.js",[H["Series/Column/ColumnSeries.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Z,K,J){let{extend:it,merge:at}=J;class ot extends Z{}return ot.defaultOptions=at(Z.defaultOptions,{}),it(ot.prototype,{inverted:!0}),K.registerSeriesType("bar",ot),ot}),yt(H,"Series/Scatter/ScatterSeriesDefaults.js",[],function(){return{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}}),yt(H,"Series/Scatter/ScatterSeries.js",[H["Series/Scatter/ScatterSeriesDefaults.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Z,K,J){let{column:it,line:at}=K.seriesTypes,{addEvent:ot,extend:dt,merge:$}=J;class q extends at{applyJitter(){let C=this,R=this.options.jitter,I=this.points.length;R&&this.points.forEach(function(O,m){["x","y"].forEach(function(S,k){if(R[S]&&!O.isNull){let T=`plot${S.toUpperCase()}`,p=C[`${S}Axis`],b=R[S]*p.transA;if(p&&!p.logarithmic){let D=Math.max(0,(O[T]||0)-b),A=Math.min(p.len,(O[T]||0)+b);O[T]=D+(A-D)*function(x){let r=1e4*Math.sin(x);return r-Math.floor(r)}(m+k*I),S==="x"&&(O.clientX=O.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return q.defaultOptions=$(at.defaultOptions,Z),dt(q.prototype,{drawTracker:it.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),ot(q,"afterTranslate",function(){this.applyJitter()}),K.registerSeriesType("scatter",q),q}),yt(H,"Series/CenteredUtilities.js",[H["Core/Globals.js"],H["Core/Series/Series.js"],H["Core/Utilities.js"]],function(Z,K,J){var it,at;let{deg2rad:ot}=Z,{fireEvent:dt,isNumber:$,pick:q,relativeLength:V}=J;return(at=it||(it={})).getCenter=function(){let C=this.options,R=this.chart,I=2*(C.slicedOffset||0),O=R.plotWidth-2*I,m=R.plotHeight-2*I,S=C.center,k=Math.min(O,m),T=C.thickness,p,b=C.size,D=C.innerSize||0,A,x;typeof b=="string"&&(b=parseFloat(b)),typeof D=="string"&&(D=parseFloat(D));let r=[q(S[0],"50%"),q(S[1],"50%"),q(b&&b<0?void 0:C.size,"100%"),q(D&&D<0?void 0:C.innerSize||0,"0%")];for(!R.angular||this instanceof K||(r[3]=0),A=0;A<4;++A)x=r[A],p=A<2||A===2&&/%$/.test(x),r[A]=V(x,[O,m,k,r[2]][A])+(p?I:0);return r[3]>r[2]&&(r[3]=r[2]),$(T)&&2*T<r[2]&&T>0&&(r[3]=r[2]-2*T),dt(this,"afterGetCenter",{positions:r}),r},at.getStartAndEndRadians=function(C,R){let I=$(C)?C:0,O=$(R)&&R>I&&R-I<360?R:I+360;return{start:ot*(I+-90),end:ot*(O+-90)}},it}),yt(H,"Series/Pie/PiePoint.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Series/Point.js"],H["Core/Utilities.js"]],function(Z,K,J){let{setAnimation:it}=Z,{addEvent:at,defined:ot,extend:dt,isNumber:$,pick:q,relativeLength:V}=J;class C extends K{getConnectorPath(I){let O=I.dataLabelPosition,m=I.options||{},S=m.connectorShape,k=this.connectorShapes[S]||S;return O&&k.call(this,{...O.computed,alignment:O.alignment},O.connectorPosition,m)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(I){let O=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(O.x,O.y,O.r+I,O.r+I,{innerR:O.r-1,start:O.start,end:O.end,borderRadius:O.borderRadius})}constructor(I,O,m){super(I,O,m),this.half=0,this.name??(this.name="Slice");let S=k=>{this.slice(k.type==="select")};at(this,"select",S),at(this,"unselect",S)}isValid(){return $(this.y)&&this.y>=0}setVisible(I,O=!0){I!==this.visible&&this.update({visible:I??!this.visible},O,void 0,!1)}slice(I,O,m){let S=this.series;it(m,S.chart),O=q(O,!0),this.sliced=this.options.sliced=I=ot(I)?I:!this.sliced,S.options.data[S.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return dt(C.prototype,{connectorShapes:{fixedOffset:function(R,I,O){let m=I.breakAt,S=I.touchingSliceAt,k=O.softConnector?["C",R.x+(R.alignment==="left"?-5:5),R.y,2*m.x-S.x,2*m.y-S.y,m.x,m.y]:["L",m.x,m.y];return[["M",R.x,R.y],k,["L",S.x,S.y]]},straight:function(R,I){let O=I.touchingSliceAt;return[["M",R.x,R.y],["L",O.x,O.y]]},crookedLine:function(R,I,O){let{breakAt:m,touchingSliceAt:S}=I,{series:k}=this,[T,p,b]=k.center,D=b/2,{plotLeft:A,plotWidth:x}=k.chart,r=R.alignment==="left",{x:u,y:s}=R,e=m.x;if(O.crookDistance){let o=V(O.crookDistance,1);e=r?T+D+(x+A-T-D)*(1-o):A+(T-D)*o}else e=T+(p-s)*Math.tan((this.angle||0)-Math.PI/2);let t=[["M",u,s]];return(r?e<=u&&e>=m.x:e>=u&&e<=m.x)&&t.push(["L",e,s]),t.push(["L",m.x,m.y],["L",S.x,S.y]),t}}}),C}),yt(H,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),yt(H,"Series/Pie/PieSeries.js",[H["Series/CenteredUtilities.js"],H["Series/Column/ColumnSeries.js"],H["Core/Globals.js"],H["Series/Pie/PiePoint.js"],H["Series/Pie/PieSeriesDefaults.js"],H["Core/Series/Series.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Renderer/SVG/Symbols.js"],H["Core/Utilities.js"]],function(Z,K,J,it,at,ot,dt,$,q){let{getStartAndEndRadians:V}=Z,{noop:C}=J,{clamp:R,extend:I,fireEvent:O,merge:m,pick:S}=q;class k extends ot{animate(p){let b=this,D=b.points,A=b.startAngleRad;p||D.forEach(function(x){let r=x.graphic,u=x.shapeArgs;r&&u&&(r.attr({r:S(x.startR,b.center&&b.center[3]/2),start:A,end:A}),r.animate({r:u.r,start:u.start,end:u.end},b.options.animation))})}drawEmpty(){let p,b,D=this.startAngleRad,A=this.endAngleRad,x=this.options;this.total===0&&this.center?(p=this.center[0],b=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(p,b,this.center[1]/2,0,D,A).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:$.arc(p,b,this.center[2]/2,0,{start:D,end:A,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":x.borderWidth,fill:x.fillColor||"none",stroke:x.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let p=this.chart.renderer;this.points.forEach(function(b){b.graphic&&b.hasNewShapeType()&&(b.graphic=b.graphic.destroy()),b.graphic||(b.graphic=p[b.shapeType](b.shapeArgs).add(b.series.group),b.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(p,b,D,A){let x=this.center,r=this.radii?this.radii[D.index]||0:x[2]/2,u=A.dataLabelPosition,s=(u==null?void 0:u.distance)||0,e=Math.asin(R((p-x[1])/(r+s),-1,1));return x[0]+Math.cos(e)*(r+s)*(b?-1:1)+(s>0?(b?-1:1)*(A.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let p,b,D,A,x=this,r=x.chart;this.drawEmpty(),x.group&&!r.styledMode&&x.group.shadow(x.options.shadow),x.points.forEach(function(u){let s={};b=u.graphic,!u.isNull&&b?(A=u.shapeArgs,p=u.getTranslate(),r.styledMode||(D=x.pointAttribs(u,u.selected&&"select")),u.delayedRendering?(b.setRadialReference(x.center).attr(A).attr(p),r.styledMode||b.attr(D).attr({"stroke-linejoin":"round"}),u.delayedRendering=!1):(b.setRadialReference(x.center),r.styledMode||m(!0,s,D),m(!0,s,A,p),b.animate(s)),b.attr({visibility:u.visible?"inherit":"hidden"}),b.addClass(u.getClassName(),!0)):b&&(u.graphic=b.destroy())})}sortByAngle(p,b){p.sort(function(D,A){return D.angle!==void 0&&(A.angle-D.angle)*b})}translate(p){O(this,"translate"),this.generatePoints();let b=this.options,D=b.slicedOffset,A=V(b.startAngle,b.endAngle),x=this.startAngleRad=A.start,r=(this.endAngleRad=A.end)-x,u=this.points,s=b.ignoreHiddenPoint,e=u.length,t,o,a,f,v,h,P,Y=0;for(p||(this.center=p=this.getCenter()),h=0;h<e;h++){P=u[h],t=x+Y*r,P.isValid()&&(!s||P.visible)&&(Y+=P.percentage/100),o=x+Y*r;let g={x:p[0],y:p[1],r:p[2]/2,innerR:p[3]/2,start:Math.round(1e3*t)/1e3,end:Math.round(1e3*o)/1e3};P.shapeType="arc",P.shapeArgs=g,(a=(o+t)/2)>1.5*Math.PI?a-=2*Math.PI:a<-Math.PI/2&&(a+=2*Math.PI),P.slicedTranslation={translateX:Math.round(Math.cos(a)*D),translateY:Math.round(Math.sin(a)*D)},f=Math.cos(a)*p[2]/2,v=Math.sin(a)*p[2]/2,P.tooltipPos=[p[0]+.7*f,p[1]+.7*v],P.half=a<-Math.PI/2||a>Math.PI/2?1:0,P.angle=a}O(this,"afterTranslate")}updateTotals(){let p=this.points,b=p.length,D=this.options.ignoreHiddenPoint,A,x,r=0;for(A=0;A<b;A++)(x=p[A]).isValid()&&(!D||x.visible)&&(r+=x.y);for(A=0,this.total=r;A<b;A++)(x=p[A]).percentage=r>0&&(x.visible||!D)?x.y/r*100:0,x.total=r}}return k.defaultOptions=m(ot.defaultOptions,at),I(k.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:K.prototype.drawTracker,getCenter:Z.getCenter,getSymbol:C,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:K.prototype.pointAttribs,pointClass:it,requireSorting:!1,searchPoint:C,trackerGroups:["group","dataLabelsGroup"]}),dt.registerSeriesType("pie",k),k}),yt(H,"Series/Pie/PieDataLabel.js",[H["Core/Series/DataLabel.js"],H["Core/Globals.js"],H["Core/Renderer/RendererUtilities.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(Z,K,J,it,at){var ot;let{composed:dt,noop:$}=K,{distribute:q}=J,{series:V}=it,{arrayMax:C,clamp:R,defined:I,pick:O,pushUnique:m,relativeLength:S}=at;return function(k){let T={radialDistributionY:function(x,r){var u;return(((u=r.dataLabelPosition)==null?void 0:u.top)||0)+x.distributeBox.pos},radialDistributionX:function(x,r,u,s,e){let t=e.dataLabelPosition;return x.getX(u<((t==null?void 0:t.top)||0)+2||u>((t==null?void 0:t.bottom)||0)-2?s:u,r.half,r,e)},justify:function(x,r,u,s){var e;return s[0]+(x.half?-1:1)*(u+(((e=r.dataLabelPosition)==null?void 0:e.distance)||0))},alignToPlotEdges:function(x,r,u,s){let e=x.getBBox().width;return r?e+s:u-e-s},alignToConnectors:function(x,r,u,s){let e=0,t;return x.forEach(function(o){(t=o.dataLabel.getBBox().width)>e&&(e=t)}),r?e+s:u-e-s}};function p(x,r){let{center:u,options:s}=this,e=u[2]/2,t=x.angle||0,o=Math.cos(t),a=Math.sin(t),f=u[0]+o*e,v=u[1]+a*e,h=Math.min((s.slicedOffset||0)+(s.borderWidth||0),r/5);return{natural:{x:f+o*r,y:v+a*r},computed:{},alignment:r<0?"center":x.half?"right":"left",connectorPosition:{breakAt:{x:f+o*h,y:v+a*h},touchingSliceAt:{x:f,y:v}},distance:r}}function b(){var et;let x=this,r=x.points,u=x.chart,s=u.plotWidth,e=u.plotHeight,t=u.plotLeft,o=Math.round(u.chartWidth/3),a=x.center,f=a[2]/2,v=a[1],h=[[],[]],P=[0,0,0,0],Y=x.dataLabelPositioners,g,L,B,G=0;x.visible&&((et=x.hasDataLabels)!=null&&et.call(x))&&(r.forEach(l=>{(l.dataLabels||[]).forEach(n=>{n.shortened&&(n.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),n.shortened=!1)})}),V.prototype.drawDataLabels.apply(x),r.forEach(l=>{(l.dataLabels||[]).forEach((n,y)=>{var d;let j=a[2]/2,i=n.options,c=S((i==null?void 0:i.distance)||0,j);y===0&&h[l.half].push(l),!I((d=i==null?void 0:i.style)==null?void 0:d.width)&&n.getBBox().width>o&&(n.css({width:Math.round(.7*o)+"px"}),n.shortened=!0),n.dataLabelPosition=this.getDataLabelPosition(l,c),G=Math.max(G,c)})}),h.forEach((l,n)=>{let y=l.length,j=[],i,c,d=0,M;y&&(x.sortByAngle(l,n-.5),G>0&&(i=Math.max(0,v-f-G),c=Math.min(v+f+G,u.plotHeight),l.forEach(w=>{(w.dataLabels||[]).forEach(z=>{var U;let X=z.dataLabelPosition;X&&X.distance>0&&(X.top=Math.max(0,v-f-X.distance),X.bottom=Math.min(v+f+X.distance,u.plotHeight),d=z.getBBox().height||21,z.lineHeight=u.renderer.fontMetrics(z.text||z).h+2*z.padding,w.distributeBox={target:(((U=z.dataLabelPosition)==null?void 0:U.natural.y)||0)-X.top+z.lineHeight/2,size:d,rank:w.y},j.push(w.distributeBox))})}),q(j,M=c+d-i,M/5)),l.forEach(w=>{(w.dataLabels||[]).forEach(z=>{let X=z.options||{},U=w.distributeBox,_=z.dataLabelPosition,lt=(_==null?void 0:_.natural.y)||0,rt=X.connectorPadding||0,N=z.lineHeight||21,E=(N-z.getBBox().height)/2,W=0,F=lt,Q="inherit";if(_){if(j&&I(U)&&_.distance>0&&(U.pos===void 0?Q="hidden":(B=U.size,F=Y.radialDistributionY(w,z))),X.justify)W=Y.justify(w,z,f,a);else switch(X.alignTo){case"connectors":W=Y.alignToConnectors(l,n,s,t);break;case"plotEdges":W=Y.alignToPlotEdges(z,n,s,t);break;default:W=Y.radialDistributionX(x,w,F-E,lt,z)}if(_.attribs={visibility:Q,align:_.alignment},_.posAttribs={x:W+(X.x||0)+({left:rt,right:-rt}[_.alignment]||0),y:F+(X.y||0)-N/2},_.computed.x=W,_.computed.y=F-E,O(X.crop,!0)){let st;W-(L=z.getBBox().width)<rt&&n===1?(st=Math.round(L-W+rt),P[3]=Math.max(st,P[3])):W+L>s-rt&&n===0&&(st=Math.round(W+L-s+rt),P[1]=Math.max(st,P[1])),F-B/2<0?P[0]=Math.max(Math.round(-F+B/2),P[0]):F+B/2>e&&(P[2]=Math.max(Math.round(F+B/2-e),P[2])),_.sideOverflow=st}}})}))}),(C(P)===0||this.verifyDataLabelOverflow(P))&&(this.placeDataLabels(),this.points.forEach(l=>{(l.dataLabels||[]).forEach(n=>{var c;let{connectorColor:y,connectorWidth:j=1}=n.options||{},i=n.dataLabelPosition;if(j){let d;g=n.connector,i&&i.distance>0?(d=!g,g||(n.connector=g=u.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+l.colorIndex+(l.className?" "+l.className:"")).add(x.dataLabelsGroup)),u.styledMode||g.attr({"stroke-width":j,stroke:y||l.color||"#666666"}),g[d?"attr":"animate"]({d:l.getConnectorPath(n)}),g.attr({visibility:(c=i.attribs)==null?void 0:c.visibility})):g&&(n.connector=g.destroy())}})})))}function D(){this.points.forEach(x=>{(x.dataLabels||[]).forEach(r=>{var s;let u=r.dataLabelPosition;u?(u.sideOverflow&&(r.css({width:Math.max(r.getBBox().width-u.sideOverflow,0)+"px",textOverflow:(((s=r.options)==null?void 0:s.style)||{}).textOverflow||"ellipsis"}),r.shortened=!0),r.attr(u.attribs),r[r.moved?"animate":"attr"](u.posAttribs),r.moved=!0):r&&r.attr({y:-9999})}),delete x.distributeBox},this)}function A(x){let r=this.center,u=this.options,s=u.center,e=u.minSize||80,t=e,o=u.size!==null;return!o&&(s[0]!==null?t=Math.max(r[2]-Math.max(x[1],x[3]),e):(t=Math.max(r[2]-x[1]-x[3],e),r[0]+=(x[3]-x[1])/2),s[1]!==null?t=R(t,e,r[2]-Math.max(x[0],x[2])):(t=R(t,e,r[2]-x[0]-x[2]),r[1]+=(x[0]-x[2])/2),t<r[2]?(r[2]=t,r[3]=Math.min(u.thickness?Math.max(0,t-2*u.thickness):Math.max(0,S(u.innerSize||0,t)),t),this.translate(r),this.drawDataLabels&&this.drawDataLabels()):o=!0),o}k.compose=function(x){if(Z.compose(V),m(dt,"PieDataLabel")){let r=x.prototype;r.dataLabelPositioners=T,r.alignDataLabel=$,r.drawDataLabels=b,r.getDataLabelPosition=p,r.placeDataLabels=D,r.verifyDataLabelOverflow=A}}}(ot||(ot={})),ot}),yt(H,"Core/Geometry/GeometryUtilities.js",[],function(){var Z,K;return(K=Z||(Z={})).getCenterOfPoints=function(J){let it=J.reduce((at,ot)=>(at.x+=ot.x,at.y+=ot.y,at),{x:0,y:0});return{x:it.x/J.length,y:it.y/J.length}},K.getDistanceBetweenPoints=function(J,it){return Math.sqrt(Math.pow(it.x-J.x,2)+Math.pow(it.y-J.y,2))},K.getAngleBetweenPoints=function(J,it){return Math.atan2(it.x-J.x,it.y-J.y)},K.pointInPolygon=function({x:J,y:it},at){let ot=at.length,dt,$,q=!1;for(dt=0,$=ot-1;dt<ot;$=dt++){let[V,C]=at[dt],[R,I]=at[$];C>it!=I>it&&J<(R-V)*(it-C)/(I-C)+V&&(q=!q)}return q},Z}),yt(H,"Extensions/OverlappingDataLabels.js",[H["Core/Geometry/GeometryUtilities.js"],H["Core/Utilities.js"]],function(Z,K){let{pointInPolygon:J}=Z,{addEvent:it,fireEvent:at,objectEach:ot,pick:dt}=K;function $(C){let R=C.length,I=(D,A)=>!(A.x>=D.x+D.width||A.x+A.width<=D.x||A.y>=D.y+D.height||A.y+A.height<=D.y),O=(D,A)=>{for(let x of D)if(J({x:x[0],y:x[1]},A))return!0;return!1},m,S,k,T,p,b=!1;for(let D=0;D<R;D++)(m=C[D])&&(m.oldOpacity=m.opacity,m.newOpacity=1,m.absoluteBox=function(A){var x,r;if(A&&(!A.alignAttr||A.placed)){let u=A.box?0:A.padding||0,s=A.alignAttr||{x:A.attr("x"),y:A.attr("y")},e=A.getBBox();return A.width=e.width,A.height=e.height,{x:s.x+(((x=A.parentGroup)==null?void 0:x.translateX)||0)+u,y:s.y+(((r=A.parentGroup)==null?void 0:r.translateY)||0)+u,width:(A.width||0)-2*u,height:(A.height||0)-2*u,polygon:e==null?void 0:e.polygon}}}(m));C.sort((D,A)=>(A.labelrank||0)-(D.labelrank||0));for(let D=0;D<R;++D){T=(S=C[D])&&S.absoluteBox;let A=T==null?void 0:T.polygon;for(let x=D+1;x<R;++x){p=(k=C[x])&&k.absoluteBox;let r=!1;if(T&&p&&S!==k&&S.newOpacity!==0&&k.newOpacity!==0&&S.visibility!=="hidden"&&k.visibility!=="hidden"){let u=p.polygon;if(A&&u&&A!==u?O(A,u)&&(r=!0):I(T,p)&&(r=!0),r){let s=S.labelrank<k.labelrank?S:k,e=s.text;s.newOpacity=0,e!=null&&e.element.querySelector("textPath")&&e.hide()}}}}for(let D of C)q(D,this)&&(b=!0);b&&at(this,"afterHideAllOverlappingLabels")}function q(C,R){let I,O,m=!1;return C&&(O=C.newOpacity,C.oldOpacity!==O&&(C.hasClass("highcharts-data-label")?(C[O?"removeClass":"addClass"]("highcharts-data-label-hidden"),I=function(){R.styledMode||C.css({pointerEvents:O?"auto":"none"})},m=!0,C[C.isOld?"animate":"attr"]({opacity:O},void 0,I),at(R,"afterHideOverlappingLabel")):C.attr({opacity:O})),C.isOld=!0),m}function V(){var I;let C=this,R=[];for(let O of C.labelCollectors||[])R=R.concat(O());for(let O of C.yAxis||[])O.stacking&&O.options.stackLabels&&!O.options.stackLabels.allowOverlap&&ot(O.stacking.stacks,m=>{ot(m,S=>{S.label&&R.push(S.label)})});for(let O of C.series||[])if(O.visible&&((I=O.hasDataLabels)!=null&&I.call(O))){let m=S=>{for(let k of S)k.visible&&(k.dataLabels||[]).forEach(T=>{var b;let p=T.options||{};T.labelrank=dt(p.labelrank,k.labelrank,(b=k.shapeArgs)==null?void 0:b.height),p.allowOverlap??Number(p.distance)>0?(T.oldOpacity=T.opacity,T.newOpacity=1,q(T,C)):R.push(T)})};m(O.nodes||[]),m(O.points)}this.hideOverlappingLabels(R)}return{compose:function(C){let R=C.prototype;R.hideOverlappingLabels||(R.hideOverlappingLabels=$,it(C,"render",V))}}}),yt(H,"Extensions/BorderRadius.js",[H["Core/Defaults.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(Z,K,J){let{defaultOptions:it}=Z,{noop:at}=K,{addEvent:ot,extend:dt,isObject:$,merge:q,relativeLength:V}=J,C={radius:0,scope:"stack",where:void 0},R=at,I=at;function O(p,b,D,A,x={}){let r=R(p,b,D,A,x),{innerR:u=0,r:s=D,start:e=0,end:t=0}=x;if(x.open||!x.borderRadius)return r;let o=t-e,a=Math.sin(o/2),f=Math.max(Math.min(V(x.borderRadius||0,s-u),(s-u)/2,s*a/(1+a)),0),v=Math.min(f,o/Math.PI*2*u),h=r.length-1;for(;h--;)(function(P,Y,g){let L,B,G,et=P[Y],l=P[Y+1];if(l[0]==="Z"&&(l=P[0]),(et[0]==="M"||et[0]==="L")&&l[0]==="A"?(L=et,B=l,G=!0):et[0]==="A"&&(l[0]==="M"||l[0]==="L")&&(L=l,B=et),L&&B&&B.params){let n=B[1],y=B[5],j=B.params,{start:i,end:c,cx:d,cy:M}=j,w=y?n-g:n+g,z=w?Math.asin(g/w):0,X=y?z:-z,U=Math.cos(z)*w;G?(j.start=i+X,L[1]=d+U*Math.cos(i),L[2]=M+U*Math.sin(i),P.splice(Y+1,0,["A",g,g,0,0,1,d+n*Math.cos(j.start),M+n*Math.sin(j.start)])):(j.end=c-X,B[6]=d+n*Math.cos(j.end),B[7]=M+n*Math.sin(j.end),P.splice(Y+1,0,["A",g,g,0,0,1,d+U*Math.cos(c),M+U*Math.sin(c)])),B[4]=Math.abs(j.end-j.start)<Math.PI?0:1}})(r,h,h>1?v:f);return r}function m(){var p,b;if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:D,yAxis:A}=this,x=D.stacking==="percent",r=(b=(p=it.plotOptions)==null?void 0:p[this.type])==null?void 0:b.borderRadius,u=S(D.borderRadius,$(r)?r:{}),s=A.options.reversed;for(let e of this.points){let{shapeArgs:t}=e;if(e.shapeType==="roundedRect"&&t){let{width:o=0,height:a=0,y:f=0}=t,v=f,h=a;if(u.scope==="stack"&&e.stackTotal){let L=A.translate(x?100:e.stackTotal,!1,!0,!1,!0),B=A.translate(D.threshold||0,!1,!0,!1,!0),G=this.crispCol(0,Math.min(L,B),0,Math.abs(L-B));v=G.y,h=G.height}let P=(e.negative?-1:1)*(s?-1:1)==-1,Y=u.where;!Y&&this.is("waterfall")&&Math.abs((e.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(Y="all"),Y||(Y="end");let g=Math.min(V(u.radius,o),o/2,Y==="all"?a/2:1/0)||0;Y==="end"&&(P&&(v-=g),h+=g),dt(t,{brBoxHeight:h,brBoxY:v,r:g})}}}}function S(p,b){return $(p)||(p={radius:p||0}),q(C,b,p)}function k(){let p=S(this.options.borderRadius);for(let b of this.points){let D=b.shapeArgs;D&&(D.borderRadius=V(p.radius,(D.r||0)-(D.innerR||0)))}}function T(p,b,D,A,x={}){let r=I(p,b,D,A,x),{r:u=0,brBoxHeight:s=A,brBoxY:e=b}=x,t=b-e,o=e+s-(b+A),a=t-u>-.1?0:u,f=o-u>-.1?0:u,v=Math.max(a&&t,0),h=Math.max(f&&o,0),P=[p+a,b],Y=[p+D-a,b],g=[p+D,b+a],L=[p+D,b+A-f],B=[p+D-f,b+A],G=[p+f,b+A],et=[p,b+A-f],l=[p,b+a],n=(y,j)=>Math.sqrt(Math.pow(y,2)-Math.pow(j,2));if(v){let y=n(a,a-v);P[0]-=y,Y[0]+=y,g[1]=l[1]=b+a-v}if(A<a-v){let y=n(a,a-v-A);g[0]=L[0]=p+D-a+y,B[0]=Math.min(g[0],B[0]),G[0]=Math.max(L[0],G[0]),et[0]=l[0]=p+a-y,g[1]=l[1]=b+A}if(h){let y=n(f,f-h);B[0]+=y,G[0]-=y,L[1]=et[1]=b+A-f+h}if(A<f-h){let y=n(f,f-h-A);g[0]=L[0]=p+D-f+y,Y[0]=Math.min(g[0],Y[0]),P[0]=Math.max(L[0],P[0]),et[0]=l[0]=p+f-y,L[1]=et[1]=b}return r.length=0,r.push(["M",...P],["L",...Y],["A",a,a,0,0,1,...g],["L",...L],["A",f,f,0,0,1,...B],["L",...G],["A",f,f,0,0,1,...et],["L",...l],["A",a,a,0,0,1,...P],["Z"]),r}return{compose:function(p,b,D){let A=p.types.pie;if(!b.symbolCustomAttribs.includes("borderRadius")){let x=D.prototype.symbols;ot(p,"afterColumnTranslate",m,{order:9}),ot(A,"afterTranslate",k),b.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),R=x.arc,I=x.roundedRect,x.arc=O,x.roundedRect=T}},optionsToObject:S}}),yt(H,"Core/Responsive.js",[H["Core/Utilities.js"]],function(Z){var K;let{diffObjects:J,extend:it,find:at,merge:ot,pick:dt,uniqueKey:$}=Z;return function(q){function V(R,I){let O=R.condition;(O.callback||function(){return this.chartWidth<=dt(O.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=dt(O.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=dt(O.minWidth,0)&&this.chartHeight>=dt(O.minHeight,0)}).call(this)&&I.push(R._id)}function C(R,I){let O=this.options.responsive,m=this.currentResponsive,S=[],k;!I&&O&&O.rules&&O.rules.forEach(b=>{b._id===void 0&&(b._id=$()),this.matchResponsiveRule(b,S)},this);let T=ot(...S.map(b=>at((O||{}).rules||[],D=>D._id===b)).map(b=>b&&b.chartOptions));T.isResponsiveOptions=!0,S=S.toString()||void 0;let p=m&&m.ruleIds;S===p||(m&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(m.undoOptions,R,!0),this.updatingResponsive=!1),S?((k=J(T,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:S,mergedOptions:T,undoOptions:k},this.updatingResponsive||this.update(T,R,!0)):this.currentResponsive=void 0)}q.compose=function(R){let I=R.prototype;return I.matchResponsiveRule||it(I,{matchResponsiveRule:V,setResponsive:C}),R}}(K||(K={})),K}),yt(H,"masters/highcharts.src.js",[H["Core/Globals.js"],H["Core/Utilities.js"],H["Core/Defaults.js"],H["Core/Animation/Fx.js"],H["Core/Animation/AnimationUtilities.js"],H["Core/Renderer/HTML/AST.js"],H["Core/Templating.js"],H["Core/Renderer/RendererRegistry.js"],H["Core/Renderer/RendererUtilities.js"],H["Core/Renderer/SVG/SVGElement.js"],H["Core/Renderer/SVG/SVGRenderer.js"],H["Core/Renderer/HTML/HTMLElement.js"],H["Core/Axis/Axis.js"],H["Core/Axis/DateTimeAxis.js"],H["Core/Axis/LogarithmicAxis.js"],H["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],H["Core/Axis/Tick.js"],H["Core/Tooltip.js"],H["Core/Series/Point.js"],H["Core/Pointer.js"],H["Core/Legend/Legend.js"],H["Core/Legend/LegendSymbol.js"],H["Core/Chart/Chart.js"],H["Extensions/ScrollablePlotArea.js"],H["Core/Axis/Stacking/StackingAxis.js"],H["Core/Axis/Stacking/StackItem.js"],H["Core/Series/Series.js"],H["Core/Series/SeriesRegistry.js"],H["Series/Column/ColumnDataLabel.js"],H["Series/Pie/PieDataLabel.js"],H["Core/Series/DataLabel.js"],H["Extensions/OverlappingDataLabels.js"],H["Extensions/BorderRadius.js"],H["Core/Responsive.js"],H["Core/Color/Color.js"],H["Core/Time.js"]],function(Z,K,J,it,at,ot,dt,$,q,V,C,R,I,O,m,S,k,T,p,b,D,A,x,r,u,s,e,t,o,a,f,v,h,P,Y,g){return Z.AST=ot,Z.Axis=I,Z.Chart=x,Z.Color=Y,Z.DataLabel=f,Z.Fx=it,Z.HTMLElement=R,Z.Legend=D,Z.LegendSymbol=A,Z.OverlappingDataLabels=Z.OverlappingDataLabels||v,Z.PlotLineOrBand=S,Z.Point=p,Z.Pointer=b,Z.RendererRegistry=$,Z.Series=e,Z.SeriesRegistry=t,Z.StackItem=s,Z.SVGElement=V,Z.SVGRenderer=C,Z.Templating=dt,Z.Tick=k,Z.Time=g,Z.Tooltip=T,Z.animate=at.animate,Z.animObject=at.animObject,Z.chart=x.chart,Z.color=Y.parse,Z.dateFormat=dt.dateFormat,Z.defaultOptions=J.defaultOptions,Z.distribute=q.distribute,Z.format=dt.format,Z.getDeferredAnimation=at.getDeferredAnimation,Z.getOptions=J.getOptions,Z.numberFormat=dt.numberFormat,Z.seriesType=t.seriesType,Z.setAnimation=at.setAnimation,Z.setOptions=J.setOptions,Z.stop=at.stop,Z.time=J.defaultTime,Z.timers=it.timers,h.compose(Z.Series,Z.SVGElement,Z.SVGRenderer),o.compose(Z.Series.types.column),f.compose(Z.Series),O.compose(Z.Axis),R.compose(Z.SVGRenderer),D.compose(Z.Chart),m.compose(Z.Axis),v.compose(Z.Chart),a.compose(Z.Series.types.pie),S.compose(Z.Chart,Z.Axis),b.compose(Z.Chart),P.compose(Z.Chart),r.compose(Z.Axis,Z.Chart,Z.Series),u.compose(Z.Axis,Z.Chart,Z.Series),T.compose(Z.Pointer),K.extend(Z,K),Z}),H["masters/highcharts.src.js"]._modules=H,H["masters/highcharts.src.js"]})})(me);var Ye=me.exports;(function(gt,pt){(function(H,yt){gt.exports=yt(Ye,Te)})(window,function(H,yt){return K=[function(it,at){it.exports=H},function(it,at){it.exports=yt},function(it,dt,ot){ot.r(dt),ot.d(dt,"Chart",function(){return T}),ot.d(dt,"default",function(){return p});var dt=ot(0),$=ot.n(dt);function q(b,D){return function A(x,r,u){function s(e,t){!$.a.isObject(e,!u)||$.a.isClass(e)||$.a.isDOMElement(e)?x[t]=r[t]:x[t]=A(x[t]||$.a.isArray(e)?[]:{},e,u)}return $.a.isArray(r)?r.forEach(s):$.a.objectEach(r,s),x}({},b,D)}var V=ot(1);function C(b){return(C=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(D){return typeof D}:function(D){return D&&typeof Symbol=="function"&&D.constructor===Symbol&&D!==Symbol.prototype?"symbol":typeof D})(b)}function R(b){return function(D){if(Array.isArray(D))return I(D)}(b)||function(D){if(typeof Symbol<"u"&&D[Symbol.iterator]!=null||D["@@iterator"]!=null)return Array.from(D)}(b)||function(D,A){var x;if(D)return typeof D=="string"?I(D,A):(x=(x=Object.prototype.toString.call(D).slice(8,-1))==="Object"&&D.constructor?D.constructor.name:x)==="Map"||x==="Set"?Array.from(D):x==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(x)?I(D,A):void 0}(b)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
3
3
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function I(b,D){(D==null||D>b.length)&&(D=b.length);for(var A=0,x=new Array(D);A<D;A++)x[A]=b[A];return x}function O(b,D){var A,x=Object.keys(b);return Object.getOwnPropertySymbols&&(A=Object.getOwnPropertySymbols(b),D&&(A=A.filter(function(r){return Object.getOwnPropertyDescriptor(b,r).enumerable})),x.push.apply(x,A)),x}function m(b){for(var D=1;D<arguments.length;D++){var A=arguments[D]!=null?arguments[D]:{};D%2?O(Object(A),!0).forEach(function(x){var r,u;r=b,u=A[x=x],(x=function(s){return s=function(e,t){if(C(e)!=="object"||e===null)return e;var o=e[Symbol.toPrimitive];if(o===void 0)return(t==="string"?String:Number)(e);if(o=o.call(e,t||"default"),C(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}(s,"string"),C(s)==="symbol"?s:String(s)}(x))in r?Object.defineProperty(r,x,{value:u,enumerable:!0,configurable:!0,writable:!0}):r[x]=u}):Object.getOwnPropertyDescriptors?Object.defineProperties(b,Object.getOwnPropertyDescriptors(A)):O(Object(A)).forEach(function(x){Object.defineProperty(b,x,Object.getOwnPropertyDescriptor(A,x))})}return b}var S={template:'<div ref="chart"></div>',props:{constructorType:{type:String,default:"chart"},options:{type:Object,required:!0},callback:Function,updateArgs:{type:Array,default:function(){return[!0,!0]}},highcharts:{type:Object},deepCopyOnUpdate:{type:Boolean,default:!0}}},k=function(b,D){return D.split(".")[0]<3?m(m({},S),{},{render:function(A){return A("div",{ref:"chart"})},beforeDestroy:function(){this.chart&&this.chart.destroy()},watch:{options:{handler:function(A){var x;(x=this.chart).update.apply(x,[q(A,this.deepCopyOnUpdate)].concat(R(this.updateArgs)))},deep:!0}},mounted:function(){var A=this.highcharts||b;this.options&&A[this.constructorType]?this.chart=A[this.constructorType](this.$refs.chart,q(this.options,!0),this.callback||null):this.options?console.warn("'".concat(this.constructorType,"' constructor-type is incorrect. Sometimes this error is caused by the fact, that the corresponding module wasn't imported.")):console.warn('The "options" parameter was not passed.')}}):m(m({},S),{},{render:function(){return Object(V.h)("div",{ref:"chartContainer"})},setup:function(A){var x=Object(V.ref)(null),r=Object(V.shallowRef)({});return Object(V.onMounted)(function(){var u=A.highcharts||b;A.options&&u[A.constructorType]?r.value=u[A.constructorType](x.value,q(A.options,!0),A.callback||null):A.options?console.warn("'".concat(A.constructorType,"' constructor-type is incorrect. Sometimes this error is caused by the fact, that the corresponding module wasn't imported.")):console.warn('The "options" parameter was not passed.')}),Object(V.watch)(function(){return A.options},function(u,s){var e;(e=r.value).update.apply(e,[q(u,A.deepCopyOnUpdate)].concat(R(A.updateArgs)))},{deep:!0}),Object(V.onBeforeUnmount)(function(){r.value&&r.value.destroy()}),{chart:r,chartContainer:x,props:A}}})},T=k($.a,V.version||ot.n(V).a.version);function p(b){var D=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};b.component(D.tagName||"highcharts",k(D.highcharts||$.a,b.version))}}],J={},Z.m=K,Z.c=J,Z.d=function(it,at,ot){Z.o(it,at)||Object.defineProperty(it,at,{enumerable:!0,get:ot})},Z.r=function(it){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(it,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(it,"__esModule",{value:!0})},Z.t=function(it,at){if(1&at&&(it=Z(it)),8&at||4&at&&typeof it=="object"&&it&&it.__esModule)return it;var ot=Object.create(null);if(Z.r(ot),Object.defineProperty(ot,"default",{enumerable:!0,value:it}),2&at&&typeof it!="string")for(var dt in it)Z.d(ot,dt,(function($){return it[$]}).bind(null,dt));return ot},Z.n=function(it){var at=it&&it.__esModule?function(){return it.default}:function(){return it};return Z.d(at,"a",at),at},Z.o=function(it,at){return Object.prototype.hasOwnProperty.call(it,at)},Z.p="",Z(Z.s=2);function Z(it){var at;return(J[it]||(at=J[it]={i:it,l:!1,exports:{}},K[it].call(at.exports,at,at.exports,Z),at.l=!0,at)).exports}var K,J})})(fe);var ni=fe.exports;const Ue={class:"flex flex-col items-start justify-between p-4 md:flex-row md:items-center space-y-3 md:space-y-0","aria-label":"Table navigation"},Ve={class:"text-sm font-normal text-gray-500 dark:text-gray-400"},$e={class:"font-semibold text-gray-900 dark:text-white"},qe={class:"font-semibold text-gray-900 dark:text-white"},Ke={class:"inline-flex items-stretch font-mono -space-x-px"},Ze={key:0},_e=["onClick"],Je={"aria-current":"page",class:"z-10 flex items-center justify-center border border-primary-300 bg-primary-50 px-3 py-2 text-sm leading-tight text-primary-600 dark:border-gray-700 dark:bg-gray-700 hover:bg-primary-100 dark:text-white hover:text-primary-700",hover:"cursor-pointer"},Qe=["onClick"],ti={key:1},Jt="flex items-center justify-center px-3 py-2 text-sm text-gray-500 bg-white border border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white leading-tight",ai=ce({__name:"TablePagination",props:{pagination:null},emits:["update:pagination"],setup(gt,{emit:pt}){const H=gt,yt=pt,Z=pe({get(){return H.pagination},set(K){yt("update:pagination",K)}});return(K,J)=>(Dt(),jt("nav",Ue,[wt("span",Ve,[J[4]||(J[4]=$t(" Showing ")),wt("span",$e,zt(Pt(Z).currentLeft)+"-"+zt(Math.max(0,Pt(Z).currentRight-1)),1),J[5]||(J[5]=$t(" of ")),wt("span",qe,zt(Pt(Z).totalSize),1)]),wt("ul",Ke,[wt("li",null,[wt("a",{class:"ml-0 h-full flex items-center justify-center border border-gray-300 rounded-l-lg bg-white px-3 py-1.5 text-gray-500 dark:border-gray-700 dark:bg-gray-800 hover:bg-gray-100 dark:text-gray-400 hover:text-gray-700 dark:hover:bg-gray-700 dark:hover:text-white",hover:"cursor-pointer",onClick:J[0]||(J[0]=it=>Pt(Z).onPageChange({diff:-1}))},J[6]||(J[6]=[wt("span",{class:"sr-only"},"Previous",-1),wt("svg",{class:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewbox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[wt("path",{"fill-rule":"evenodd",d:"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z","clip-rule":"evenodd"})],-1)]))]),Pt(Z).currentPage!==0?(Dt(),jt("li",Ze,[wt("a",{class:Bt(Jt),hover:"cursor-pointer",onClick:J[1]||(J[1]=it=>Pt(Z).onPageChange({to:0}))}," 1 ")])):se("",!0),(Dt(!0),jt(Ut,null,Vt(Pt(Z).leftDecrPage,it=>(Dt(),jt("li",{key:it},[wt("a",{class:Bt(Jt),hover:"cursor-pointer",onClick:at=>Pt(Z).onPageChange({to:it})},zt(it+1),9,_e)]))),128)),wt("li",null,[wt("a",Je,zt(Pt(Z).currentPage+1),1)]),(Dt(!0),jt(Ut,null,Vt(Pt(Z).rightIncrPage,it=>(Dt(),jt("li",{key:it},[wt("a",{hover:"cursor-pointer",class:Bt(Jt),onClick:at=>Pt(Z).onPageChange({to:it})},zt(it+1),9,Qe)]))),128)),Pt(Z).currentPage!==Pt(Z).totalPage-1&&Pt(Z).totalPage>1?(Dt(),jt("li",ti,[wt("a",{hover:"cursor-pointer",class:Bt(Jt),onClick:J[2]||(J[2]=it=>Pt(Z).onPageChange({to:Pt(Z).totalPage-1}))},zt(Pt(Z).totalPage),1)])):se("",!0),wt("li",null,[wt("a",{class:"h-full flex items-center justify-center border border-gray-300 rounded-r-lg bg-white px-3 py-1.5 leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 hover:bg-gray-100 dark:text-gray-400 hover:text-gray-700 dark:hover:bg-gray-700 dark:hover:text-white",hover:"cursor-pointer",onClick:J[3]||(J[3]=it=>Pt(Z).onPageChange({diff:1}))},J[7]||(J[7]=[wt("span",{class:"sr-only"},"Next",-1),wt("svg",{class:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewbox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[wt("path",{"fill-rule":"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z","clip-rule":"evenodd"})],-1)]))])])]))}});class li{constructor(){_t(this,"totalSize");_t(this,"currentPage");_t(this,"pageSize");this.totalSize=0,this.currentPage=0,this.pageSize=16}get totalPage(){return Math.floor((this.totalSize+this.pageSize-1)/this.pageSize)}get currentLeft(){return this.currentPage*this.pageSize}get currentRight(){return Math.min(this.totalSize,(this.currentPage+1)*this.pageSize)}get leftDecrPage(){const pt=[];let H=1,yt=this.currentPage-H;for(;yt>0;)pt.push(yt),H=H<<1,yt-=H;return pt.reverse()}get rightIncrPage(){const pt=[];let H=1,yt=this.currentPage+H;for(;yt+1<this.totalPage;)pt.push(yt),H=H<<1,yt+=H;return pt}onPageChange(pt){const H=this.totalPage;let yt=this.currentPage;if((pt==null?void 0:pt.to)!==void 0&&(yt=pt.to),(pt==null?void 0:pt.diff)!==void 0){const Z=pt.diff;yt=yt+Z}yt<0||yt>=H||(this.currentPage=yt)}}export{li as P,ri as T,si as _,ai as a,ni as h,oi as w};
|