@xcpcio/board-app 0.26.0 → 0.26.1
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/about.html +2 -2
- package/dist/assets/{DataSourceInput.vue_vue_type_script_setup_true_lang-b63d8c0a.js → DataSourceInput.vue_vue_type_script_setup_true_lang-6fc6f8ea.js} +1 -1
- package/dist/assets/{TheInput.vue_vue_type_script_setup_true_lang-01db0210.js → TheInput.vue_vue_type_script_setup_true_lang-4ea0bd97.js} +1 -1
- package/dist/assets/{_...all_-ccdf65e0.js → _...all_-cf83185b.js} +1 -1
- package/dist/assets/{_name_-41975e46.js → _name_-58c24204.js} +1 -1
- package/dist/assets/{about-ed4e51a8.js → about-94580762.js} +1 -1
- package/dist/assets/{app-229ad629.js → app-21014468.js} +3 -3
- package/dist/assets/{board-layout-22e4dc7d.js → board-layout-430c688d.js} +1 -1
- package/dist/assets/{headless-254ddfda.js → headless-4d39b6f3.js} +1 -1
- package/dist/assets/{home-ff1bf49b.js → home-401b6bdc.js} +1 -1
- package/dist/assets/{index-4ec61f53.js → index-95c5e1ae.js} +1 -1
- package/dist/assets/{index-layout-d88ea34a.js → index-layout-bb5b04eb.js} +1 -1
- package/dist/assets/{test-0bd7427d.js → test-5e95874d.js} +1 -1
- package/dist/assets/{user-b4f3ed5d.js → user-57f2ad93.js} +1 -1
- package/dist/assets/{virtual_pwa-register-123217d5.js → virtual_pwa-register-8d09e89c.js} +1 -1
- package/dist/balloon.html +1 -1
- package/dist/index.html +1 -1
- package/dist/sitemap.xml +1 -1
- package/dist/ssr-manifest.json +143 -143
- package/dist/sw.js +1 -1
- package/dist/test.html +1 -1
- package/package.json +3 -3
- package/src/pages/index.vue +2 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var Ps=Object.defineProperty;var Ds=(a,e,n)=>e in a?Ps(a,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):a[e]=n;var Pe=(a,e,n)=>(Ds(a,typeof e!="symbol"?e+"":e,n),n);import{g as Dt,h as St,J as Is,w as Ge,o as pt,c as ft,d as rt,k as le,K as Li,t as xt,n as Tt,L as Zt,G as Gt,F as Pt,z as It,l as kt,M as zt,N as js,O as Bs,P as ge,Q as ts,q as Kt,i as Et,A as Xt,S as pe,j as nt,b as At,E as $t,D as es,T as me,U as Rs,V as is,W as ss,X as zs,Y as Pi,Z as Hs,$ as os,a0 as Ns,a1 as $s,a2 as Ws,a3 as ke,a4 as Se,a as te,a5 as ae,a6 as Fs,u as Gs,a7 as ns,a8 as rs,I as Xs,r as as,p as Ys,a9 as Di,aa as Us,s as Vs,v as qs,x as Ks,ab as Ii,ac as Zs,ad as Js,y as Qs,R as to,ae as eo,af as io,C as ji}from"./app-229ad629.js";import{u as so,g as oo,_ as no}from"./DataSourceInput.vue_vue_type_script_setup_true_lang-b63d8c0a.js";import"./TheInput.vue_vue_type_script_setup_true_lang-01db0210.js";const ro={class:"md:inset-0 w-[100%] h-[100%]",fixed:"","z-9997":"","of-x-hidden":"",flex:"","justify-center":"","items-start":"","md:mt-32":"","sm:mt-16":""},ao={class:"relative bg-white dark:bg-gray-800 sm:p-4","rounded-sm":"","shadow-sm":""},lo={class:"mb-4 border-b rounded-t pb-4 sm:mb-4 dark:border-gray-600",flex:"","items-center":"","justify-between":""},ho={"text-gray-900":"","dark:text-white":"","text-xl":"","font-sans":"","font-semibold":"",italic:""},co=rt("svg",{class:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[rt("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),uo=rt("span",{"sr-only":""}," Close modal ",-1),po=[co,uo],ai=Dt({__name:"Modal",props:{isHidden:{type:Boolean},title:null,width:null},emits:["update:isHidden"],setup(a,{emit:e}){const n=a,r=St({get(){return n.isHidden},set(O){e("update:isHidden",O)}});function p(){r.value=!0}const{Escape:g}=Is();return Ge(g,O=>{O&&p()}),(O,U)=>(pt(),ft("div",ro,[rt("div",{class:"w-[100%] h-[100%]",fixed:"","left-0":"","top-0":"","z-9998":"",style:le({backgroundColor:"rgba(0, 0, 0, 0.5)"}),onClick:p},null,4),rt("div",{class:Tt(["relative p-4",[n.width??"w-[78%]"]]),"z-9999":""},[rt("div",ao,[rt("div",lo,[Li(O.$slots,"header",{},()=>[rt("h3",ho,xt(n.title),1)]),rt("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:p},po)]),Li(O.$slots,"default")])],2)]))}}),jt={openOptions(a){a.$refs.input.focus(),a.showMenu=!0,a.mousedownState=!1},blurInput(a){a.mousedownState||(a.searchText="",a.closeOptions()),a.$emit("blur")},closeOptions(a){a.$refs.input.blur(),a.showMenu=!1},prevItem(a){const e=a.pointer-1,n=a.$el.offsetHeight*e;e>=0&&(a.pointer=e),a.$refs.menu.scrollTop=n},nextItem(a){const e=a.pointer+1,n=a.$el.offsetHeight*e;e<=a.filteredOptions.length-1&&(a.pointer=e);const r=a.$refs.menu.offsetHeight,p=Math.ceil((a.$refs.menu.scrollTop+a.$el.offsetHeight)/r),g=Math.ceil(n/r);p!==g&&(a.$refs.menu.scrollTop=(g-1)*a.$refs.menu.offsetHeight)},enterItem(a){const e=a.filteredOptions[a.pointer],n=e.disabled;e&&!n&&a.selectItem(e)},pointerSet(a,e){a.pointer=e},pointerAdjust(a){a.pointer>=a.filteredOptions.length-1&&(a.pointer=a.filteredOptions.length?a.filteredOptions.length-1:0)},mousedownItem(a){a.mousedownState=!0}};function fo(a){return new RegExp(a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i")}const ls={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:(a,e)=>a.match(fo(e))}}},hs=(a,e)=>{const n=a.__vccOpts||a;for(const[r,p]of e)n[r]=p;return n},go={name:"ModelSelect",mixins:[ls],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(a){this.pointer=this.filteredOptions.findIndex(e=>e.value===this.optionValue(a))},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 a=this.placeholder;return this.selectedOption&&(a=this.selectedOption.text),a}},customAttrs(){try{if(Array.isArray(this.options))return this.options.map(a=>this.customAttr(a))}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(a=>{try{return this.filterPredicate(a.text,this.searchText)}catch{return!0}}):this.options},selectedOption(){return this.options.find(a=>a.value===this.optionValue(this.modelValue))}},methods:{deleteTextOrItem(){!this.searchText&&this.modelValue&&(this.selectItem({}),this.openOptions())},openOptions(){jt.openOptions(this)},blurInput(){jt.blurInput(this)},closeOptions(){jt.closeOptions(this)},prevItem(){jt.prevItem(this)},nextItem(){jt.nextItem(this)},enterItem(){jt.enterItem(this)},pointerSet(a){jt.pointerSet(this,a)},pointerAdjust(){jt.pointerAdjust(this)},mousedownItem(){jt.mousedownItem(this)},selectItem(a){this.searchText="",this.closeOptions(),typeof this.modelValue=="object"&&this.modelValue?this.$emit("update:modelValue",a):(this.$emit("update:modelValue",a.value),a.value!==void 0&&a.value===a.text&&(this.searchText=a.value))},optionValue(a){return typeof a=="object"&&a!==null?a.value:a}}},mo=rt("i",{class:"dropdown icon"},null,-1),vo=["disabled","tabindex","id","name","value"],yo=["data-vss-custom-attr"],xo=["data-vss-custom-attr","onClick","onMouseenter"];function bo(a,e,n,r,p,g){return pt(),ft("div",{class:Tt(["ui fluid search selection dropdown",{"active visible":p.showMenu,error:a.isError,disabled:a.isDisabled}]),onClick:e[11]||(e[11]=(...O)=>g.openOptions&&g.openOptions(...O)),onFocus:e[12]||(e[12]=(...O)=>g.openOptions&&g.openOptions(...O))},[mo,rt("input",{class:"search",autocomplete:"off",disabled:a.isDisabled,tabindex:a.isDisabled?-1:0,id:a.id,name:a.name,value:p.searchText,onInput:e[0]||(e[0]=O=>p.searchText=O.target.value),ref:"input",onFocus:e[1]||(e[1]=Zt((...O)=>g.openOptions&&g.openOptions(...O),["prevent"])),onKeyup:[e[2]||(e[2]=Gt((...O)=>g.closeOptions&&g.closeOptions(...O),["esc"])),e[7]||(e[7]=Gt(Zt((...O)=>g.enterItem&&g.enterItem(...O),["prevent"]),["enter"]))],onBlur:e[3]||(e[3]=(...O)=>g.blurInput&&g.blurInput(...O)),onKeydown:[e[4]||(e[4]=Gt((...O)=>g.prevItem&&g.prevItem(...O),["up"])),e[5]||(e[5]=Gt((...O)=>g.nextItem&&g.nextItem(...O),["down"])),e[6]||(e[6]=Gt(Zt(()=>{},["prevent"]),["enter"])),e[8]||(e[8]=Gt((...O)=>g.deleteTextOrItem&&g.deleteTextOrItem(...O),["delete"]))]},null,40,vo),rt("div",{class:Tt(["text",g.textClass]),"data-vss-custom-attr":g.searchTextCustomAttr},xt(g.inputText),11,yo),rt("div",{class:Tt(["menu",g.menuClass]),ref:"menu",onMousedown:e[10]||(e[10]=Zt(()=>{},["prevent"])),style:le(g.menuStyle),tabindex:"-1"},[(pt(!0),ft(Pt,null,It(g.filteredOptions,(O,U)=>(pt(),ft("div",{key:U,class:Tt(["item",{selected:O.selected||p.pointer===U,disabled:O.disabled}]),"data-vss-custom-attr":g.customAttrs[U]?g.customAttrs[U]:"",onClick:Zt(V=>g.selectItem(O),["stop"]),onMousedown:e[9]||(e[9]=(...V)=>g.mousedownItem&&g.mousedownItem(...V)),onMouseenter:V=>g.pointerSet(U)},xt(O.text),43,xo))),128))],38)],34)}const wo=hs(go,[["render",bo]]),ko={name:"MultiSelect",mixins:[ls],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(a=>this.selectedOptions.findIndex(e=>e.value===a.value)===-1)},filteredOptions(){return this.searchText?this.nonSelectOptions.filter(a=>{try{return this.cleanSearch?this.filterPredicate(this.accentsTidy(a.text),this.searchText):this.filterPredicate(a.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(){jt.openOptions(this)},blurInput(){jt.blurInput(this)},closeOptions(){jt.closeOptions(this)},prevItem(){jt.prevItem(this),this.openOptions()},nextItem(){jt.nextItem(this),this.openOptions()},enterItem(){jt.enterItem(this)},pointerSet(a){jt.pointerSet(this,a)},pointerAdjust(){jt.pointerAdjust(this)},mousedownItem(){jt.mousedownItem(this)},selectItem(a){const e=this.selectedOptions.concat(a),n=e.filter((r,p)=>e.indexOf(r)===p);this.closeOptions(),this.searchText="",this.$emit("select",n,a,"insert")},deleteItem(a){const e=this.selectedOptions.filter(n=>n.value!==a.value);this.$emit("select",e,a,"delete")},accentsTidy(a){let e=a.toString().toLowerCase();return e=e.replace(new RegExp("[àáâãäå]","g"),"a"),e=e.replace(new RegExp("æ","g"),"ae"),e=e.replace(new RegExp("ç","g"),"c"),e=e.replace(new RegExp("[èéêë]","g"),"e"),e=e.replace(new RegExp("[ìíîï]","g"),"i"),e=e.replace(new RegExp("ñ","g"),"n"),e=e.replace(new RegExp("[òóôõö]","g"),"o"),e=e.replace(new RegExp("œ","g"),"oe"),e=e.replace(new RegExp("[ùúûü]","g"),"u"),e=e.replace(new RegExp("[ýÿ]","g"),"y"),e}}},So=rt("i",{class:"dropdown icon"},null,-1),_o=["data-vss-custom-attr"],Co=["onClick"],To=["disabled","tabindex","id","name"],Mo=["data-vss-custom-attr","onClick","onMouseenter"];function Ao(a,e,n,r,p,g){return pt(),ft("div",{class:Tt(["ui fluid search dropdown selection multiple",{"active visible":p.showMenu,error:a.isError,disabled:a.isDisabled}]),onClick:e[11]||(e[11]=(...O)=>g.openOptions&&g.openOptions(...O)),onFocus:e[12]||(e[12]=(...O)=>g.openOptions&&g.openOptions(...O))},[So,n.hideSelectedOptions?kt("",!0):(pt(!0),ft(Pt,{key:0},It(n.selectedOptions,(O,U)=>(pt(),ft("a",{key:U,class:"ui label transition visible",style:{display:"inline-block !important"},"data-vss-custom-attr":n.customAttr(O)},[zt(xt(O.text),1),rt("i",{class:"delete icon",onClick:V=>g.deleteItem(O)},null,8,Co)],8,_o))),128)),js(rt("input",{class:"search",autocomplete:"off",disabled:a.isDisabled,tabindex:a.isDisabled?-1:0,id:a.id,name:a.name,"onUpdate:modelValue":e[0]||(e[0]=O=>p.searchText=O),ref:"input",style:le(g.inputWidth),onFocus:e[1]||(e[1]=Zt((...O)=>g.openOptions&&g.openOptions(...O),["prevent"])),onKeyup:[e[2]||(e[2]=Gt((...O)=>g.closeOptions&&g.closeOptions(...O),["esc"])),e[7]||(e[7]=Gt(Zt((...O)=>g.enterItem&&g.enterItem(...O),["prevent"]),["enter"]))],onBlur:e[3]||(e[3]=(...O)=>g.blurInput&&g.blurInput(...O)),onKeydown:[e[4]||(e[4]=Gt((...O)=>g.prevItem&&g.prevItem(...O),["up"])),e[5]||(e[5]=Gt((...O)=>g.nextItem&&g.nextItem(...O),["down"])),e[6]||(e[6]=Gt(Zt(()=>{},["prevent"]),["enter"])),e[8]||(e[8]=Gt((...O)=>g.deleteTextOrLastItem&&g.deleteTextOrLastItem(...O),["delete"]))]},null,44,To),[[Bs,p.searchText]]),rt("div",{class:Tt(["text",g.textClass])},xt(g.inputText),3),rt("div",{class:Tt(["menu",g.menuClass]),ref:"menu",onMousedown:e[10]||(e[10]=Zt(()=>{},["prevent"])),style:le(g.menuStyle),tabindex:"-1"},[(pt(!0),ft(Pt,null,It(g.filteredOptions,(O,U)=>(pt(),ft("div",{key:U,class:Tt(["item",{selected:O.selected||p.pointer===U,disabled:O.disabled}]),"data-vss-custom-attr":n.customAttr(O),onClick:Zt(V=>g.selectItem(O),["stop"]),onMousedown:e[9]||(e[9]=(...V)=>g.mousedownItem&&g.mousedownItem(...V)),onMouseenter:V=>g.pointerSet(U)},xt(O.text),43,Mo))),128))],38)],34)}const Bi=hs(ko,[["render",Ao]]);function Eo(){return`filter-organizations-${ge().path}`}function Oo(){return`filter-teams-${ge().path}`}function Lo(){const e=`filter-organizations-${ge().path}`;return ts(e,[])}function Po(){const e=`filter-teams-${ge().path}`;return ts(e,[])}const Do={"w-full":"","font-bold":"","font-mono":"",flex:"","flex-col":"","gap-4":"","items-center":"","justify-center":""},Io={key:0,flex:"","flex-col":"","w-full":""},jo={"w-full":"","mt-2":""},Bo={flex:"","flex-col":"","w-full":""},Ro=rt("div",null," Filter Team ",-1),zo={"w-full":"","mt-2":""},Ho={"mt-2":"","w-full":"",flex:"","items-center":"","space-x-4":""},No=Dt({__name:"OptionsModal",props:{isHidden:{type:Boolean},rank:null,rankOptions:null},emits:["update:isHidden","update:rankOptions"],setup(a,{emit:e}){const n=a,{t:r}=Kt(),p=St({get(){return n.isHidden},set(S){e("update:isHidden",S)}}),g=St({get(){return n.rankOptions},set(S){e("update:rankOptions",S)}}),O=St(()=>n.rank),U=St(()=>r("type_menu.options")),V=St(()=>O.value.organizations.map(y=>({value:y,text:y}))),Y=Et(g.value.filterOrganizations),G=Et({});function D(S,y){Y.value=S,G.value=y}const $=St(()=>O.value.originTeams.map(y=>({value:y.id,text:y.organization?`${y.name} - ${y.organization}`:y.name}))),R=Et(g.value.filterTeams),_=Et({});function M(S,y){R.value=S,_.value=y}function L(){p.value=!0}const z=Eo(),m=Oo();function C(){g.value.setFilterOrganizations(Y.value),g.value.setFilterTeams(R.value),localStorage.setItem(z,JSON.stringify(Y.value)),localStorage.setItem(m,JSON.stringify(R.value)),L()}return(S,y)=>{const E=ai;return pt(),Xt(E,{isHidden:nt(p),"onUpdate:isHidden":y[0]||(y[0]=T=>$t(p)?p.value=T:null),title:nt(U),width:"w-180"},{default:pe(()=>[rt("div",Do,[nt(O).contest.organization?(pt(),ft("div",Io,[rt("div",null," Filter "+xt(nt(O).contest.organization),1),rt("div",jo,[At(nt(Bi),{options:nt(V),"selected-options":nt(Y),onSelect:D},null,8,["options","selected-options"])])])):kt("",!0),rt("div",Bo,[Ro,rt("div",zo,[At(nt(Bi),{options:nt($),"selected-options":nt(R),onSelect:M},null,8,["options","selected-options"])])]),rt("div",Ho,[rt("button",{type:"submit",class:"text-white bg-primary-700 hover:bg-primary-800 focus:ring-4 focus:outline-none focus:ring-primary-300 px-5 py-2.5 text-center dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800","font-medium":"","text-sm":"","rounded-md":"",onClick:C},xt(nt(r)("button.confirm")),1),rt("button",{type:"reset",class:"py-2.5 px-5 text-gray-900 focus:outline-none bg-white border border-gray-200 hover:bg-gray-100 hover:text-primary-700 focus:z-10 focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700","font-medium":"","text-sm":"","rounded-md":"",onClick:L},xt(nt(r)("button.cancel")),1)])])]),_:1},8,["isHidden","title"])}}}),$o={"w-full":"",flex:"","mt-4":"","gap-4":""},Wo=["href"],Fo={btn:"",title:"Submissions",disabled:"true"},Go=Dt({__name:"Utility",setup(a){const{t:e}=Kt(),n=ge(),r=es(),p=St(()=>`https://resolver.xcpcio.com/resolver?xcpcio-data-source=${n.path}`);function g(){r.push(`/balloon/?data-source=${n.path}`)}return(O,U)=>(pt(),ft("div",$o,[rt("a",{btn:"",href:nt(p),target:"_blank",title:"Resolver"},xt(nt(e)("type_menu.resolver")),9,Wo),rt("button",{btn:"",title:"Balloon",onClick:g},xt(nt(e)("type_menu.balloon")),1),rt("button",Fo,xt(nt(e)("type_menu.submissions")),1)]))}});var cs={exports:{}};(function(a,e){(function(n,r){r()})(me,function(){function n(Y,G){return typeof G>"u"?G={autoBom:!1}:typeof G!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),G={autoBom:!G}),G.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(Y.type)?new Blob(["\uFEFF",Y],{type:Y.type}):Y}function r(Y,G,D){var $=new XMLHttpRequest;$.open("GET",Y),$.responseType="blob",$.onload=function(){V($.response,G,D)},$.onerror=function(){console.error("could not download file")},$.send()}function p(Y){var G=new XMLHttpRequest;G.open("HEAD",Y,!1);try{G.send()}catch{}return 200<=G.status&&299>=G.status}function g(Y){try{Y.dispatchEvent(new MouseEvent("click"))}catch{var G=document.createEvent("MouseEvents");G.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),Y.dispatchEvent(G)}}var O=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof me=="object"&&me.global===me?me:void 0,U=O.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),V=O.saveAs||(typeof window!="object"||window!==O?function(){}:"download"in HTMLAnchorElement.prototype&&!U?function(Y,G,D){var $=O.URL||O.webkitURL,R=document.createElement("a");G=G||Y.name||"download",R.download=G,R.rel="noopener",typeof Y=="string"?(R.href=Y,R.origin===location.origin?g(R):p(R.href)?r(Y,G,D):g(R,R.target="_blank")):(R.href=$.createObjectURL(Y),setTimeout(function(){$.revokeObjectURL(R.href)},4e4),setTimeout(function(){g(R)},0))}:"msSaveOrOpenBlob"in navigator?function(Y,G,D){if(G=G||Y.name||"download",typeof Y!="string")navigator.msSaveOrOpenBlob(n(Y,D),G);else if(p(Y))r(Y,G,D);else{var $=document.createElement("a");$.href=Y,$.target="_blank",setTimeout(function(){g($)})}}:function(Y,G,D,$){if($=$||open("","_blank"),$&&($.document.title=$.document.body.innerText="downloading..."),typeof Y=="string")return r(Y,G,D);var R=Y.type==="application/octet-stream",_=/constructor/i.test(O.HTMLElement)||O.safari,M=/CriOS\/[\d]+/.test(navigator.userAgent);if((M||R&&_||U)&&typeof FileReader<"u"){var L=new FileReader;L.onloadend=function(){var C=L.result;C=M?C:C.replace(/^data:[^;]*;/,"data:attachment/file;"),$?$.location.href=C:location=C,$=null},L.readAsDataURL(Y)}else{var z=O.URL||O.webkitURL,m=z.createObjectURL(Y);$?$.location=m:location.href=m,$=null,setTimeout(function(){z.revokeObjectURL(m)},4e4)}});O.saveAs=V.saveAs=V,a.exports=V})})(cs);var Xo=cs.exports;const Yo=Rs(Xo);var Uo=setTimeout;function Vo(a,e){var n=e.useCachedSetTimeout?Uo:setTimeout;return new Promise(function(r){n(r,a)})}function qo(a){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=e.useCachedSetTimeout,r=Vo(a,{useCachedSetTimeout:n});function p(g){return r.then(function(){return g})}return p.then=function(){return r.then.apply(r,arguments)},p.catch=Promise.resolve().catch,p}const Ko={flex:"","flex-col":""},Zo={"w-160":"","font-bold":""},Jo={"mt-8":""},Qo={key:0,flex:"","flex-row":"","justify-center":"","gap-4":""},tn=["disabled"],en=["disabled"],sn={key:1,flex:"","justify-center":""},on=["disabled"],nn=Dt({__name:"Export",props:{rank:null},setup(a){const e=a,n=is.useToast(),{copy:r,isSupported:p}=ss(),g=St(()=>e.rank),O=Et({value:"cf-dat",text:"Codeforces Gym Ghost(dat)"}),U=Et([{value:"cf-dat",text:"Codeforces Gym Ghost(dat)"},{value:"general-xlsx",text:"Excel Table(xlsx)"}]),V=Et({CfDatDownload:!1,CfDatCopy:!1,GeneralXLSXDownload:!1});async function Y(){await zs(),await qo(16)}async function G(){V.value.CfDatDownload=!0,await Y();const _=new Pi().convert(g.value),M=new Blob([_],{type:"text/plain;charset=utf-8"});Yo.saveAs(M,"contest.dat"),V.value.CfDatDownload=!1}async function D(){if(!p.value){n.warning("clipboard is not supported");return}V.value.CfDatCopy=!0,await Y();const _=new Pi().convert(g.value);r(_),V.value.CfDatCopy=!1,n.success("Copy Success")}async function $(){V.value.GeneralXLSXDownload=!0,await Y(),new Hs().convertAndWrite(g.value,`${g.value.contest.name}.xlsx`),V.value.GeneralXLSXDownload=!1}return(R,_)=>(pt(),ft("div",Ko,[rt("div",Zo,[At(nt(wo),{modelValue:nt(O),"onUpdate:modelValue":_[0]||(_[0]=M=>$t(O)?O.value=M:null),options:nt(U),placeholder:"Export Type"},null,8,["modelValue","options"])]),rt("div",Jo,[nt(O).value==="cf-dat"?(pt(),ft("div",Qo,[rt("button",{disabled:nt(V).CfDatDownload,btn:"",onClick:G}," Download ",8,tn),rt("button",{disabled:nt(V).CfDatCopy,btn:"",onClick:D}," Copy to Clipboard ",8,en)])):kt("",!0),nt(O).value==="general-xlsx"?(pt(),ft("div",sn,[rt("button",{disabled:nt(V).GeneralXLSXDownload,btn:"",onClick:$}," Download ",8,on)])):kt("",!0)])]))}});function li(a,e,n,r,p,g){return{colors:g,chart:window.innerWidth<992?{type:"bar",backgroundColor:"transparent"}:{type:"column",backgroundColor:"transparent",height:"420px"},title:{text:a},xAxis:{categories:r,labels:{style:{fontSize:"16px"}},title:{text:e,style:{fontSize:"16px"}}},yAxis:{min:0,title:{text:n,style:{fontSize:"16px",height:"320px"}},stackLabels:{enabled:!0,style:{fontSize:"16px"}}},tooltip:{enabled:!0,headerFormat:"",pointFormat:"{series.name}:{point.y}"},plotOptions:{bar:{stacking:"normal"},column:{stacking:"normal"}},credits:{enabled:!1},series:p}}function rn(a){const e=[];a.contest.problems.forEach((g,O)=>{e.push({problem_id:g.label,index:O,solved:g.statistics.acceptedNum})}),e.sort((g,O)=>g.solved>O.solved?-1:g.solved<O.solved?1:g.index<O.index?-1:g.index>O.index?1:0);const{cat:n,series:r,colors:p}=(()=>{const g=[],O=[];return e.forEach(Y=>{g.push(Y.problem_id),O.push(Y.solved)}),{cat:g,series:[{name:"队伍数",showInLegend:!1,data:O}],colors:["rgb(124, 181, 236)"]}})();return li("题目通过数统计","题目编号","通过数",n,r,p)}function an(a){const e=a.rankStatistics.teamSolvedNum.map((g,O)=>({index:O,cnt:g})),{cat:n,series:r,colors:p}=(()=>{const g=[],O=[];return e.forEach(Y=>{g.push(Y.index),O.push(Y.cnt)}),{cat:g,series:[{name:"队伍数",showInLegend:!1,data:O}],colors:["rgb(124, 181, 236)"]}})();return li("队伍过题数统计","过题数","队伍数",n,r,p)}function ln(a){const{cat:e,series:n,colors:r}=(()=>{const p=[],g=[],O=[],U=[];return a.contest.problems.forEach(G=>{g.push(G.statistics.acceptedNum),O.push(G.statistics.rejectedNum),U.push(G.statistics.pendingNum),p.push(G.label)}),{cat:p,series:[{name:"Accepted",showInLegend:!1,data:g},{name:"Rejected",showInLegend:!1,data:O},{name:"Pending",showInLegend:!1,data:U}],colors:["#E1FFB5","#FFD0D0","#C8D6FA"]}})();return li("提交分类统计","题目编号","提交数",e,n,r)}function hn(a,e){const n=e.placeChartPoints.map(p=>{var g,O;return{x:p.timePoint,y:p.rank,showX:os(p.timePoint),lastSolved:(g=p.lastSolvedProblem)!=null&&g.label?`Last Solved Problem ${(O=p.lastSolvedProblem)==null?void 0:O.label}`:""}});return{chart:{type:"spline"},title:{text:"排名变化趋势图"},series:[{showInLegend:!1,allowPointSelect:!1,name:"rank",type:"spline",data:n,marker:{symbol:"circle",radius:4,lineWidth:2,fillColor:"yellow",lineColor:"yellow"}}],xAxis:[{allowDecimals:!1,title:{text:"Time(min)"},crosshair:!0}],yAxis:[{allowDecimals:!1,title:{text:"Place"},reversed:!0,gridLineWidth:1}],plotOptions:{line:{color:"#efbc47",dataLabels:{enabled:!1},enableMouseTracking:!0,marker:{enabled:!0,fillColor:"#fff566"}}},tooltip:{enabled:!0,headerFormat:"",pointFormat:"Time: {point.showX} <br/> Place: {point.y} <br/> {point.lastSolved}"},credits:{enabled:!1},exporting:{enabled:!0},navigation:{menuItemStyle:{fontSize:"10px"}}}}var ds={exports:{}},ii={exports:{}},Ri;function cn(){return Ri||(Ri=1,function(a){(function(e,n){a.exports?(n.default=n,a.exports=e.document?n(e):n):(e.Highcharts&&e.Highcharts.error(16,!0),e.Highcharts=n(e))})(typeof window<"u"?window:me,function(e){function n(p,g,O,U){p.hasOwnProperty(g)||(p[g]=U.apply(null,O),typeof CustomEvent=="function"&&e.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:g,module:p[g]}})))}var r={};return n(r,"Core/Globals.js",[],function(){var p;return function(g){g.SVG_NS="http://www.w3.org/2000/svg",g.product="Highcharts",g.version="11.1.0",g.win=typeof e<"u"?e:{},g.doc=g.win.document,g.svg=g.doc&&g.doc.createElementNS&&!!g.doc.createElementNS(g.SVG_NS,"svg").createSVGRect,g.userAgent=g.win.navigator&&g.win.navigator.userAgent||"",g.isChrome=g.userAgent.indexOf("Chrome")!==-1,g.isFirefox=g.userAgent.indexOf("Firefox")!==-1,g.isMS=/(edge|msie|trident)/i.test(g.userAgent)&&!g.win.opera,g.isSafari=!g.isChrome&&g.userAgent.indexOf("Safari")!==-1,g.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(g.userAgent),g.isWebKit=g.userAgent.indexOf("AppleWebKit")!==-1,g.deg2rad=2*Math.PI/360,g.hasBidiBug=g.isFirefox&&4>parseInt(g.userAgent.split("Firefox/")[1],10),g.hasTouch=!!g.win.TouchEvent,g.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],g.noop=function(){},g.supportsPassiveEvents=function(){let O=!1;if(!g.isMS){const U=Object.defineProperty({},"passive",{get:function(){O=!0}});g.win.addEventListener&&g.win.removeEventListener&&(g.win.addEventListener("testPassive",g.noop,U),g.win.removeEventListener("testPassive",g.noop,U))}return O}(),g.charts=[],g.dateFormats={},g.seriesTypes={},g.symbolSizes={},g.chartCount=0}(p||(p={})),p}),n(r,"Core/Utilities.js",[r["Core/Globals.js"]],function(p){function g(t,s,u,b){const B=s?"Highcharts error":"Highcharts warning";t===32&&(t=`${B}: Deprecated member`);const c=$(t);let P=c?`${B} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(typeof b<"u"){let Z="";c&&(P+="?"),E(b,function(tt,at){Z+=`
|
|
1
|
+
var Ps=Object.defineProperty;var Ds=(a,e,n)=>e in a?Ps(a,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):a[e]=n;var Pe=(a,e,n)=>(Ds(a,typeof e!="symbol"?e+"":e,n),n);import{g as Dt,h as St,J as Is,w as Ge,o as pt,c as ft,d as rt,k as le,K as Li,t as xt,n as Tt,L as Zt,G as Gt,F as Pt,z as It,l as kt,M as zt,N as js,O as Bs,P as ge,Q as ts,q as Kt,i as Et,A as Xt,S as pe,j as nt,b as At,E as $t,D as es,T as me,U as Rs,V as is,W as ss,X as zs,Y as Pi,Z as Hs,$ as os,a0 as Ns,a1 as $s,a2 as Ws,a3 as ke,a4 as Se,a as te,a5 as ae,a6 as Fs,u as Gs,a7 as ns,a8 as rs,I as Xs,r as as,p as Ys,a9 as Di,aa as Us,s as Vs,v as qs,x as Ks,ab as Ii,ac as Zs,ad as Js,y as Qs,R as to,ae as eo,af as io,C as ji}from"./app-21014468.js";import{u as so,g as oo,_ as no}from"./DataSourceInput.vue_vue_type_script_setup_true_lang-6fc6f8ea.js";import"./TheInput.vue_vue_type_script_setup_true_lang-4ea0bd97.js";const ro={class:"md:inset-0 w-[100%] h-[100%]",fixed:"","z-9997":"","of-x-hidden":"",flex:"","justify-center":"","items-start":"","md:mt-32":"","sm:mt-16":""},ao={class:"relative bg-white dark:bg-gray-800 sm:p-4","rounded-sm":"","shadow-sm":""},lo={class:"mb-4 border-b rounded-t pb-4 sm:mb-4 dark:border-gray-600",flex:"","items-center":"","justify-between":""},ho={"text-gray-900":"","dark:text-white":"","text-xl":"","font-sans":"","font-semibold":"",italic:""},co=rt("svg",{class:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[rt("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),uo=rt("span",{"sr-only":""}," Close modal ",-1),po=[co,uo],ai=Dt({__name:"Modal",props:{isHidden:{type:Boolean},title:null,width:null},emits:["update:isHidden"],setup(a,{emit:e}){const n=a,r=St({get(){return n.isHidden},set(O){e("update:isHidden",O)}});function p(){r.value=!0}const{Escape:g}=Is();return Ge(g,O=>{O&&p()}),(O,U)=>(pt(),ft("div",ro,[rt("div",{class:"w-[100%] h-[100%]",fixed:"","left-0":"","top-0":"","z-9998":"",style:le({backgroundColor:"rgba(0, 0, 0, 0.5)"}),onClick:p},null,4),rt("div",{class:Tt(["relative p-4",[n.width??"w-[78%]"]]),"z-9999":""},[rt("div",ao,[rt("div",lo,[Li(O.$slots,"header",{},()=>[rt("h3",ho,xt(n.title),1)]),rt("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:p},po)]),Li(O.$slots,"default")])],2)]))}}),jt={openOptions(a){a.$refs.input.focus(),a.showMenu=!0,a.mousedownState=!1},blurInput(a){a.mousedownState||(a.searchText="",a.closeOptions()),a.$emit("blur")},closeOptions(a){a.$refs.input.blur(),a.showMenu=!1},prevItem(a){const e=a.pointer-1,n=a.$el.offsetHeight*e;e>=0&&(a.pointer=e),a.$refs.menu.scrollTop=n},nextItem(a){const e=a.pointer+1,n=a.$el.offsetHeight*e;e<=a.filteredOptions.length-1&&(a.pointer=e);const r=a.$refs.menu.offsetHeight,p=Math.ceil((a.$refs.menu.scrollTop+a.$el.offsetHeight)/r),g=Math.ceil(n/r);p!==g&&(a.$refs.menu.scrollTop=(g-1)*a.$refs.menu.offsetHeight)},enterItem(a){const e=a.filteredOptions[a.pointer],n=e.disabled;e&&!n&&a.selectItem(e)},pointerSet(a,e){a.pointer=e},pointerAdjust(a){a.pointer>=a.filteredOptions.length-1&&(a.pointer=a.filteredOptions.length?a.filteredOptions.length-1:0)},mousedownItem(a){a.mousedownState=!0}};function fo(a){return new RegExp(a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i")}const ls={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:(a,e)=>a.match(fo(e))}}},hs=(a,e)=>{const n=a.__vccOpts||a;for(const[r,p]of e)n[r]=p;return n},go={name:"ModelSelect",mixins:[ls],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(a){this.pointer=this.filteredOptions.findIndex(e=>e.value===this.optionValue(a))},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 a=this.placeholder;return this.selectedOption&&(a=this.selectedOption.text),a}},customAttrs(){try{if(Array.isArray(this.options))return this.options.map(a=>this.customAttr(a))}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(a=>{try{return this.filterPredicate(a.text,this.searchText)}catch{return!0}}):this.options},selectedOption(){return this.options.find(a=>a.value===this.optionValue(this.modelValue))}},methods:{deleteTextOrItem(){!this.searchText&&this.modelValue&&(this.selectItem({}),this.openOptions())},openOptions(){jt.openOptions(this)},blurInput(){jt.blurInput(this)},closeOptions(){jt.closeOptions(this)},prevItem(){jt.prevItem(this)},nextItem(){jt.nextItem(this)},enterItem(){jt.enterItem(this)},pointerSet(a){jt.pointerSet(this,a)},pointerAdjust(){jt.pointerAdjust(this)},mousedownItem(){jt.mousedownItem(this)},selectItem(a){this.searchText="",this.closeOptions(),typeof this.modelValue=="object"&&this.modelValue?this.$emit("update:modelValue",a):(this.$emit("update:modelValue",a.value),a.value!==void 0&&a.value===a.text&&(this.searchText=a.value))},optionValue(a){return typeof a=="object"&&a!==null?a.value:a}}},mo=rt("i",{class:"dropdown icon"},null,-1),vo=["disabled","tabindex","id","name","value"],yo=["data-vss-custom-attr"],xo=["data-vss-custom-attr","onClick","onMouseenter"];function bo(a,e,n,r,p,g){return pt(),ft("div",{class:Tt(["ui fluid search selection dropdown",{"active visible":p.showMenu,error:a.isError,disabled:a.isDisabled}]),onClick:e[11]||(e[11]=(...O)=>g.openOptions&&g.openOptions(...O)),onFocus:e[12]||(e[12]=(...O)=>g.openOptions&&g.openOptions(...O))},[mo,rt("input",{class:"search",autocomplete:"off",disabled:a.isDisabled,tabindex:a.isDisabled?-1:0,id:a.id,name:a.name,value:p.searchText,onInput:e[0]||(e[0]=O=>p.searchText=O.target.value),ref:"input",onFocus:e[1]||(e[1]=Zt((...O)=>g.openOptions&&g.openOptions(...O),["prevent"])),onKeyup:[e[2]||(e[2]=Gt((...O)=>g.closeOptions&&g.closeOptions(...O),["esc"])),e[7]||(e[7]=Gt(Zt((...O)=>g.enterItem&&g.enterItem(...O),["prevent"]),["enter"]))],onBlur:e[3]||(e[3]=(...O)=>g.blurInput&&g.blurInput(...O)),onKeydown:[e[4]||(e[4]=Gt((...O)=>g.prevItem&&g.prevItem(...O),["up"])),e[5]||(e[5]=Gt((...O)=>g.nextItem&&g.nextItem(...O),["down"])),e[6]||(e[6]=Gt(Zt(()=>{},["prevent"]),["enter"])),e[8]||(e[8]=Gt((...O)=>g.deleteTextOrItem&&g.deleteTextOrItem(...O),["delete"]))]},null,40,vo),rt("div",{class:Tt(["text",g.textClass]),"data-vss-custom-attr":g.searchTextCustomAttr},xt(g.inputText),11,yo),rt("div",{class:Tt(["menu",g.menuClass]),ref:"menu",onMousedown:e[10]||(e[10]=Zt(()=>{},["prevent"])),style:le(g.menuStyle),tabindex:"-1"},[(pt(!0),ft(Pt,null,It(g.filteredOptions,(O,U)=>(pt(),ft("div",{key:U,class:Tt(["item",{selected:O.selected||p.pointer===U,disabled:O.disabled}]),"data-vss-custom-attr":g.customAttrs[U]?g.customAttrs[U]:"",onClick:Zt(V=>g.selectItem(O),["stop"]),onMousedown:e[9]||(e[9]=(...V)=>g.mousedownItem&&g.mousedownItem(...V)),onMouseenter:V=>g.pointerSet(U)},xt(O.text),43,xo))),128))],38)],34)}const wo=hs(go,[["render",bo]]),ko={name:"MultiSelect",mixins:[ls],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(a=>this.selectedOptions.findIndex(e=>e.value===a.value)===-1)},filteredOptions(){return this.searchText?this.nonSelectOptions.filter(a=>{try{return this.cleanSearch?this.filterPredicate(this.accentsTidy(a.text),this.searchText):this.filterPredicate(a.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(){jt.openOptions(this)},blurInput(){jt.blurInput(this)},closeOptions(){jt.closeOptions(this)},prevItem(){jt.prevItem(this),this.openOptions()},nextItem(){jt.nextItem(this),this.openOptions()},enterItem(){jt.enterItem(this)},pointerSet(a){jt.pointerSet(this,a)},pointerAdjust(){jt.pointerAdjust(this)},mousedownItem(){jt.mousedownItem(this)},selectItem(a){const e=this.selectedOptions.concat(a),n=e.filter((r,p)=>e.indexOf(r)===p);this.closeOptions(),this.searchText="",this.$emit("select",n,a,"insert")},deleteItem(a){const e=this.selectedOptions.filter(n=>n.value!==a.value);this.$emit("select",e,a,"delete")},accentsTidy(a){let e=a.toString().toLowerCase();return e=e.replace(new RegExp("[àáâãäå]","g"),"a"),e=e.replace(new RegExp("æ","g"),"ae"),e=e.replace(new RegExp("ç","g"),"c"),e=e.replace(new RegExp("[èéêë]","g"),"e"),e=e.replace(new RegExp("[ìíîï]","g"),"i"),e=e.replace(new RegExp("ñ","g"),"n"),e=e.replace(new RegExp("[òóôõö]","g"),"o"),e=e.replace(new RegExp("œ","g"),"oe"),e=e.replace(new RegExp("[ùúûü]","g"),"u"),e=e.replace(new RegExp("[ýÿ]","g"),"y"),e}}},So=rt("i",{class:"dropdown icon"},null,-1),_o=["data-vss-custom-attr"],Co=["onClick"],To=["disabled","tabindex","id","name"],Mo=["data-vss-custom-attr","onClick","onMouseenter"];function Ao(a,e,n,r,p,g){return pt(),ft("div",{class:Tt(["ui fluid search dropdown selection multiple",{"active visible":p.showMenu,error:a.isError,disabled:a.isDisabled}]),onClick:e[11]||(e[11]=(...O)=>g.openOptions&&g.openOptions(...O)),onFocus:e[12]||(e[12]=(...O)=>g.openOptions&&g.openOptions(...O))},[So,n.hideSelectedOptions?kt("",!0):(pt(!0),ft(Pt,{key:0},It(n.selectedOptions,(O,U)=>(pt(),ft("a",{key:U,class:"ui label transition visible",style:{display:"inline-block !important"},"data-vss-custom-attr":n.customAttr(O)},[zt(xt(O.text),1),rt("i",{class:"delete icon",onClick:V=>g.deleteItem(O)},null,8,Co)],8,_o))),128)),js(rt("input",{class:"search",autocomplete:"off",disabled:a.isDisabled,tabindex:a.isDisabled?-1:0,id:a.id,name:a.name,"onUpdate:modelValue":e[0]||(e[0]=O=>p.searchText=O),ref:"input",style:le(g.inputWidth),onFocus:e[1]||(e[1]=Zt((...O)=>g.openOptions&&g.openOptions(...O),["prevent"])),onKeyup:[e[2]||(e[2]=Gt((...O)=>g.closeOptions&&g.closeOptions(...O),["esc"])),e[7]||(e[7]=Gt(Zt((...O)=>g.enterItem&&g.enterItem(...O),["prevent"]),["enter"]))],onBlur:e[3]||(e[3]=(...O)=>g.blurInput&&g.blurInput(...O)),onKeydown:[e[4]||(e[4]=Gt((...O)=>g.prevItem&&g.prevItem(...O),["up"])),e[5]||(e[5]=Gt((...O)=>g.nextItem&&g.nextItem(...O),["down"])),e[6]||(e[6]=Gt(Zt(()=>{},["prevent"]),["enter"])),e[8]||(e[8]=Gt((...O)=>g.deleteTextOrLastItem&&g.deleteTextOrLastItem(...O),["delete"]))]},null,44,To),[[Bs,p.searchText]]),rt("div",{class:Tt(["text",g.textClass])},xt(g.inputText),3),rt("div",{class:Tt(["menu",g.menuClass]),ref:"menu",onMousedown:e[10]||(e[10]=Zt(()=>{},["prevent"])),style:le(g.menuStyle),tabindex:"-1"},[(pt(!0),ft(Pt,null,It(g.filteredOptions,(O,U)=>(pt(),ft("div",{key:U,class:Tt(["item",{selected:O.selected||p.pointer===U,disabled:O.disabled}]),"data-vss-custom-attr":n.customAttr(O),onClick:Zt(V=>g.selectItem(O),["stop"]),onMousedown:e[9]||(e[9]=(...V)=>g.mousedownItem&&g.mousedownItem(...V)),onMouseenter:V=>g.pointerSet(U)},xt(O.text),43,Mo))),128))],38)],34)}const Bi=hs(ko,[["render",Ao]]);function Eo(){return`filter-organizations-${ge().path}`}function Oo(){return`filter-teams-${ge().path}`}function Lo(){const e=`filter-organizations-${ge().path}`;return ts(e,[])}function Po(){const e=`filter-teams-${ge().path}`;return ts(e,[])}const Do={"w-full":"","font-bold":"","font-mono":"",flex:"","flex-col":"","gap-4":"","items-center":"","justify-center":""},Io={key:0,flex:"","flex-col":"","w-full":""},jo={"w-full":"","mt-2":""},Bo={flex:"","flex-col":"","w-full":""},Ro=rt("div",null," Filter Team ",-1),zo={"w-full":"","mt-2":""},Ho={"mt-2":"","w-full":"",flex:"","items-center":"","space-x-4":""},No=Dt({__name:"OptionsModal",props:{isHidden:{type:Boolean},rank:null,rankOptions:null},emits:["update:isHidden","update:rankOptions"],setup(a,{emit:e}){const n=a,{t:r}=Kt(),p=St({get(){return n.isHidden},set(S){e("update:isHidden",S)}}),g=St({get(){return n.rankOptions},set(S){e("update:rankOptions",S)}}),O=St(()=>n.rank),U=St(()=>r("type_menu.options")),V=St(()=>O.value.organizations.map(y=>({value:y,text:y}))),Y=Et(g.value.filterOrganizations),G=Et({});function D(S,y){Y.value=S,G.value=y}const $=St(()=>O.value.originTeams.map(y=>({value:y.id,text:y.organization?`${y.name} - ${y.organization}`:y.name}))),R=Et(g.value.filterTeams),_=Et({});function M(S,y){R.value=S,_.value=y}function L(){p.value=!0}const z=Eo(),m=Oo();function C(){g.value.setFilterOrganizations(Y.value),g.value.setFilterTeams(R.value),localStorage.setItem(z,JSON.stringify(Y.value)),localStorage.setItem(m,JSON.stringify(R.value)),L()}return(S,y)=>{const E=ai;return pt(),Xt(E,{isHidden:nt(p),"onUpdate:isHidden":y[0]||(y[0]=T=>$t(p)?p.value=T:null),title:nt(U),width:"w-180"},{default:pe(()=>[rt("div",Do,[nt(O).contest.organization?(pt(),ft("div",Io,[rt("div",null," Filter "+xt(nt(O).contest.organization),1),rt("div",jo,[At(nt(Bi),{options:nt(V),"selected-options":nt(Y),onSelect:D},null,8,["options","selected-options"])])])):kt("",!0),rt("div",Bo,[Ro,rt("div",zo,[At(nt(Bi),{options:nt($),"selected-options":nt(R),onSelect:M},null,8,["options","selected-options"])])]),rt("div",Ho,[rt("button",{type:"submit",class:"text-white bg-primary-700 hover:bg-primary-800 focus:ring-4 focus:outline-none focus:ring-primary-300 px-5 py-2.5 text-center dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800","font-medium":"","text-sm":"","rounded-md":"",onClick:C},xt(nt(r)("button.confirm")),1),rt("button",{type:"reset",class:"py-2.5 px-5 text-gray-900 focus:outline-none bg-white border border-gray-200 hover:bg-gray-100 hover:text-primary-700 focus:z-10 focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700","font-medium":"","text-sm":"","rounded-md":"",onClick:L},xt(nt(r)("button.cancel")),1)])])]),_:1},8,["isHidden","title"])}}}),$o={"w-full":"",flex:"","mt-4":"","gap-4":""},Wo=["href"],Fo={btn:"",title:"Submissions",disabled:"true"},Go=Dt({__name:"Utility",setup(a){const{t:e}=Kt(),n=ge(),r=es(),p=St(()=>`https://resolver.xcpcio.com/resolver?xcpcio-data-source=${n.path}`);function g(){r.push(`/balloon/?data-source=${n.path}`)}return(O,U)=>(pt(),ft("div",$o,[rt("a",{btn:"",href:nt(p),target:"_blank",title:"Resolver"},xt(nt(e)("type_menu.resolver")),9,Wo),rt("button",{btn:"",title:"Balloon",onClick:g},xt(nt(e)("type_menu.balloon")),1),rt("button",Fo,xt(nt(e)("type_menu.submissions")),1)]))}});var cs={exports:{}};(function(a,e){(function(n,r){r()})(me,function(){function n(Y,G){return typeof G>"u"?G={autoBom:!1}:typeof G!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),G={autoBom:!G}),G.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(Y.type)?new Blob(["\uFEFF",Y],{type:Y.type}):Y}function r(Y,G,D){var $=new XMLHttpRequest;$.open("GET",Y),$.responseType="blob",$.onload=function(){V($.response,G,D)},$.onerror=function(){console.error("could not download file")},$.send()}function p(Y){var G=new XMLHttpRequest;G.open("HEAD",Y,!1);try{G.send()}catch{}return 200<=G.status&&299>=G.status}function g(Y){try{Y.dispatchEvent(new MouseEvent("click"))}catch{var G=document.createEvent("MouseEvents");G.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),Y.dispatchEvent(G)}}var O=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof me=="object"&&me.global===me?me:void 0,U=O.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),V=O.saveAs||(typeof window!="object"||window!==O?function(){}:"download"in HTMLAnchorElement.prototype&&!U?function(Y,G,D){var $=O.URL||O.webkitURL,R=document.createElement("a");G=G||Y.name||"download",R.download=G,R.rel="noopener",typeof Y=="string"?(R.href=Y,R.origin===location.origin?g(R):p(R.href)?r(Y,G,D):g(R,R.target="_blank")):(R.href=$.createObjectURL(Y),setTimeout(function(){$.revokeObjectURL(R.href)},4e4),setTimeout(function(){g(R)},0))}:"msSaveOrOpenBlob"in navigator?function(Y,G,D){if(G=G||Y.name||"download",typeof Y!="string")navigator.msSaveOrOpenBlob(n(Y,D),G);else if(p(Y))r(Y,G,D);else{var $=document.createElement("a");$.href=Y,$.target="_blank",setTimeout(function(){g($)})}}:function(Y,G,D,$){if($=$||open("","_blank"),$&&($.document.title=$.document.body.innerText="downloading..."),typeof Y=="string")return r(Y,G,D);var R=Y.type==="application/octet-stream",_=/constructor/i.test(O.HTMLElement)||O.safari,M=/CriOS\/[\d]+/.test(navigator.userAgent);if((M||R&&_||U)&&typeof FileReader<"u"){var L=new FileReader;L.onloadend=function(){var C=L.result;C=M?C:C.replace(/^data:[^;]*;/,"data:attachment/file;"),$?$.location.href=C:location=C,$=null},L.readAsDataURL(Y)}else{var z=O.URL||O.webkitURL,m=z.createObjectURL(Y);$?$.location=m:location.href=m,$=null,setTimeout(function(){z.revokeObjectURL(m)},4e4)}});O.saveAs=V.saveAs=V,a.exports=V})})(cs);var Xo=cs.exports;const Yo=Rs(Xo);var Uo=setTimeout;function Vo(a,e){var n=e.useCachedSetTimeout?Uo:setTimeout;return new Promise(function(r){n(r,a)})}function qo(a){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=e.useCachedSetTimeout,r=Vo(a,{useCachedSetTimeout:n});function p(g){return r.then(function(){return g})}return p.then=function(){return r.then.apply(r,arguments)},p.catch=Promise.resolve().catch,p}const Ko={flex:"","flex-col":""},Zo={"w-160":"","font-bold":""},Jo={"mt-8":""},Qo={key:0,flex:"","flex-row":"","justify-center":"","gap-4":""},tn=["disabled"],en=["disabled"],sn={key:1,flex:"","justify-center":""},on=["disabled"],nn=Dt({__name:"Export",props:{rank:null},setup(a){const e=a,n=is.useToast(),{copy:r,isSupported:p}=ss(),g=St(()=>e.rank),O=Et({value:"cf-dat",text:"Codeforces Gym Ghost(dat)"}),U=Et([{value:"cf-dat",text:"Codeforces Gym Ghost(dat)"},{value:"general-xlsx",text:"Excel Table(xlsx)"}]),V=Et({CfDatDownload:!1,CfDatCopy:!1,GeneralXLSXDownload:!1});async function Y(){await zs(),await qo(16)}async function G(){V.value.CfDatDownload=!0,await Y();const _=new Pi().convert(g.value),M=new Blob([_],{type:"text/plain;charset=utf-8"});Yo.saveAs(M,"contest.dat"),V.value.CfDatDownload=!1}async function D(){if(!p.value){n.warning("clipboard is not supported");return}V.value.CfDatCopy=!0,await Y();const _=new Pi().convert(g.value);r(_),V.value.CfDatCopy=!1,n.success("Copy Success")}async function $(){V.value.GeneralXLSXDownload=!0,await Y(),new Hs().convertAndWrite(g.value,`${g.value.contest.name}.xlsx`),V.value.GeneralXLSXDownload=!1}return(R,_)=>(pt(),ft("div",Ko,[rt("div",Zo,[At(nt(wo),{modelValue:nt(O),"onUpdate:modelValue":_[0]||(_[0]=M=>$t(O)?O.value=M:null),options:nt(U),placeholder:"Export Type"},null,8,["modelValue","options"])]),rt("div",Jo,[nt(O).value==="cf-dat"?(pt(),ft("div",Qo,[rt("button",{disabled:nt(V).CfDatDownload,btn:"",onClick:G}," Download ",8,tn),rt("button",{disabled:nt(V).CfDatCopy,btn:"",onClick:D}," Copy to Clipboard ",8,en)])):kt("",!0),nt(O).value==="general-xlsx"?(pt(),ft("div",sn,[rt("button",{disabled:nt(V).GeneralXLSXDownload,btn:"",onClick:$}," Download ",8,on)])):kt("",!0)])]))}});function li(a,e,n,r,p,g){return{colors:g,chart:window.innerWidth<992?{type:"bar",backgroundColor:"transparent"}:{type:"column",backgroundColor:"transparent",height:"420px"},title:{text:a},xAxis:{categories:r,labels:{style:{fontSize:"16px"}},title:{text:e,style:{fontSize:"16px"}}},yAxis:{min:0,title:{text:n,style:{fontSize:"16px",height:"320px"}},stackLabels:{enabled:!0,style:{fontSize:"16px"}}},tooltip:{enabled:!0,headerFormat:"",pointFormat:"{series.name}:{point.y}"},plotOptions:{bar:{stacking:"normal"},column:{stacking:"normal"}},credits:{enabled:!1},series:p}}function rn(a){const e=[];a.contest.problems.forEach((g,O)=>{e.push({problem_id:g.label,index:O,solved:g.statistics.acceptedNum})}),e.sort((g,O)=>g.solved>O.solved?-1:g.solved<O.solved?1:g.index<O.index?-1:g.index>O.index?1:0);const{cat:n,series:r,colors:p}=(()=>{const g=[],O=[];return e.forEach(Y=>{g.push(Y.problem_id),O.push(Y.solved)}),{cat:g,series:[{name:"队伍数",showInLegend:!1,data:O}],colors:["rgb(124, 181, 236)"]}})();return li("题目通过数统计","题目编号","通过数",n,r,p)}function an(a){const e=a.rankStatistics.teamSolvedNum.map((g,O)=>({index:O,cnt:g})),{cat:n,series:r,colors:p}=(()=>{const g=[],O=[];return e.forEach(Y=>{g.push(Y.index),O.push(Y.cnt)}),{cat:g,series:[{name:"队伍数",showInLegend:!1,data:O}],colors:["rgb(124, 181, 236)"]}})();return li("队伍过题数统计","过题数","队伍数",n,r,p)}function ln(a){const{cat:e,series:n,colors:r}=(()=>{const p=[],g=[],O=[],U=[];return a.contest.problems.forEach(G=>{g.push(G.statistics.acceptedNum),O.push(G.statistics.rejectedNum),U.push(G.statistics.pendingNum),p.push(G.label)}),{cat:p,series:[{name:"Accepted",showInLegend:!1,data:g},{name:"Rejected",showInLegend:!1,data:O},{name:"Pending",showInLegend:!1,data:U}],colors:["#E1FFB5","#FFD0D0","#C8D6FA"]}})();return li("提交分类统计","题目编号","提交数",e,n,r)}function hn(a,e){const n=e.placeChartPoints.map(p=>{var g,O;return{x:p.timePoint,y:p.rank,showX:os(p.timePoint),lastSolved:(g=p.lastSolvedProblem)!=null&&g.label?`Last Solved Problem ${(O=p.lastSolvedProblem)==null?void 0:O.label}`:""}});return{chart:{type:"spline"},title:{text:"排名变化趋势图"},series:[{showInLegend:!1,allowPointSelect:!1,name:"rank",type:"spline",data:n,marker:{symbol:"circle",radius:4,lineWidth:2,fillColor:"yellow",lineColor:"yellow"}}],xAxis:[{allowDecimals:!1,title:{text:"Time(min)"},crosshair:!0}],yAxis:[{allowDecimals:!1,title:{text:"Place"},reversed:!0,gridLineWidth:1}],plotOptions:{line:{color:"#efbc47",dataLabels:{enabled:!1},enableMouseTracking:!0,marker:{enabled:!0,fillColor:"#fff566"}}},tooltip:{enabled:!0,headerFormat:"",pointFormat:"Time: {point.showX} <br/> Place: {point.y} <br/> {point.lastSolved}"},credits:{enabled:!1},exporting:{enabled:!0},navigation:{menuItemStyle:{fontSize:"10px"}}}}var ds={exports:{}},ii={exports:{}},Ri;function cn(){return Ri||(Ri=1,function(a){(function(e,n){a.exports?(n.default=n,a.exports=e.document?n(e):n):(e.Highcharts&&e.Highcharts.error(16,!0),e.Highcharts=n(e))})(typeof window<"u"?window:me,function(e){function n(p,g,O,U){p.hasOwnProperty(g)||(p[g]=U.apply(null,O),typeof CustomEvent=="function"&&e.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:g,module:p[g]}})))}var r={};return n(r,"Core/Globals.js",[],function(){var p;return function(g){g.SVG_NS="http://www.w3.org/2000/svg",g.product="Highcharts",g.version="11.1.0",g.win=typeof e<"u"?e:{},g.doc=g.win.document,g.svg=g.doc&&g.doc.createElementNS&&!!g.doc.createElementNS(g.SVG_NS,"svg").createSVGRect,g.userAgent=g.win.navigator&&g.win.navigator.userAgent||"",g.isChrome=g.userAgent.indexOf("Chrome")!==-1,g.isFirefox=g.userAgent.indexOf("Firefox")!==-1,g.isMS=/(edge|msie|trident)/i.test(g.userAgent)&&!g.win.opera,g.isSafari=!g.isChrome&&g.userAgent.indexOf("Safari")!==-1,g.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(g.userAgent),g.isWebKit=g.userAgent.indexOf("AppleWebKit")!==-1,g.deg2rad=2*Math.PI/360,g.hasBidiBug=g.isFirefox&&4>parseInt(g.userAgent.split("Firefox/")[1],10),g.hasTouch=!!g.win.TouchEvent,g.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],g.noop=function(){},g.supportsPassiveEvents=function(){let O=!1;if(!g.isMS){const U=Object.defineProperty({},"passive",{get:function(){O=!0}});g.win.addEventListener&&g.win.removeEventListener&&(g.win.addEventListener("testPassive",g.noop,U),g.win.removeEventListener("testPassive",g.noop,U))}return O}(),g.charts=[],g.dateFormats={},g.seriesTypes={},g.symbolSizes={},g.chartCount=0}(p||(p={})),p}),n(r,"Core/Utilities.js",[r["Core/Globals.js"]],function(p){function g(t,s,u,b){const B=s?"Highcharts error":"Highcharts warning";t===32&&(t=`${B}: Deprecated member`);const c=$(t);let P=c?`${B} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(typeof b<"u"){let Z="";c&&(P+="?"),E(b,function(tt,at){Z+=`
|
|
2
2
|
- ${at}: ${tt}`,c&&(P+=encodeURI(at)+"="+encodeURI(tt))}),P+=Z}A(p,"displayError",{chart:u,code:t,message:P,params:b},function(){if(s)throw Error(P);x.console&&g.messages.indexOf(P)===-1&&console.warn(P)}),g.messages.push(P)}function O(t,s){return parseInt(t,s||10)}function U(t){return typeof t=="string"}function V(t){return t=Object.prototype.toString.call(t),t==="[object Array]"||t==="[object Array Iterator]"}function Y(t,s){return!!t&&typeof t=="object"&&(!s||!V(t))}function G(t){return Y(t)&&typeof t.nodeType=="number"}function D(t){const s=t&&t.constructor;return!(!Y(t,!0)||G(t)||!s||!s.name||s.name==="Object")}function $(t){return typeof t=="number"&&!isNaN(t)&&1/0>t&&-1/0<t}function R(t){return typeof t<"u"&&t!==null}function _(t,s,u){const b=U(s)&&!R(u);let B;const c=(P,Z)=>{R(P)?t.setAttribute(Z,P):b?(B=t.getAttribute(Z))||Z!=="class"||(B=t.getAttribute(Z+"Name")):t.removeAttribute(Z)};return U(s)?c(u,s):E(s,c),B}function M(t){return V(t)?t:[t]}function L(t,s){let u;t||(t={});for(u in s)t[u]=s[u];return t}function z(){const t=arguments,s=t.length;for(let u=0;u<s;u++){const b=t[u];if(typeof b<"u"&&b!==null)return b}}function m(t,s){p.isMS&&!p.svg&&s&&R(s.opacity)&&(s.filter=`alpha(opacity=${100*s.opacity})`),L(t.style,s)}function C(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function S(t,s){return 1e14<t?t:parseFloat(t.toPrecision(s||14))}function y(t,s,u){let b;return s==="width"?(s=Math.min(t.offsetWidth,t.scrollWidth),u=t.getBoundingClientRect&&t.getBoundingClientRect().width,u<s&&u>=s-1&&(s=Math.floor(u)),Math.max(0,s-(y(t,"padding-left",!0)||0)-(y(t,"padding-right",!0)||0))):s==="height"?Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-(y(t,"padding-top",!0)||0)-(y(t,"padding-bottom",!0)||0)):((t=x.getComputedStyle(t,void 0))&&(b=t.getPropertyValue(s),z(u,s!=="opacity")&&(b=O(b))),b)}function E(t,s,u){for(const b in t)Object.hasOwnProperty.call(t,b)&&s.call(u||t[b],t[b],b,t)}function T(t,s,u){function b(P,Z){const tt=t.removeEventListener;tt&&tt.call(t,P,Z,!1)}function B(P){let Z,tt;t.nodeName&&(s?(Z={},Z[s]=!0):Z=P,E(Z,function(at,W){if(P[W])for(tt=P[W].length;tt--;)b(W,P[W][tt].fn)}))}var c=typeof t=="function"&&t.prototype||t;if(Object.hasOwnProperty.call(c,"hcEvents")){const P=c.hcEvents;s?(c=P[s]||[],u?(P[s]=c.filter(function(Z){return u!==Z.fn}),b(s,u)):(B(P),P[s]=[])):(B(P),delete c.hcEvents)}}function A(t,s,u,b){if(u=u||{},d.createEvent&&(t.dispatchEvent||t.fireEvent&&t!==p)){var B=d.createEvent("Events");B.initEvent(s,!0,!0),u=L(B,u),t.dispatchEvent?t.dispatchEvent(u):t.fireEvent(s,u)}else if(t.hcEvents){u.target||L(u,{preventDefault:function(){u.defaultPrevented=!0},target:t,type:s}),B=[];let c=t,P=!1;for(;c.hcEvents;)Object.hasOwnProperty.call(c,"hcEvents")&&c.hcEvents[s]&&(B.length&&(P=!0),B.unshift.apply(B,c.hcEvents[s])),c=Object.getPrototypeOf(c);P&&B.sort((Z,tt)=>Z.order-tt.order),B.forEach(Z=>{Z.fn.call(t,u)===!1&&u.preventDefault()})}b&&!u.defaultPrevented&&b.call(t,u)}const{charts:l,doc:d,win:x}=p;(g||(g={})).messages=[],Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)};var f=Array.prototype.find?function(t,s){return t.find(s)}:function(t,s){let u;const b=t.length;for(u=0;u<b;u++)if(s(t[u],u))return t[u]};E({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(t,s){p[s]=function(u){return g(32,!1,void 0,{[`Highcharts.${s}`]:`use Array.${t}`}),Array.prototype[t].apply(u,[].slice.call(arguments,1))}});let v;const i=function(){const t=Math.random().toString(36).substring(2,9)+"-";let s=0;return function(){return"highcharts-"+(v?"":t)+s++}}();return x.jQuery&&(x.jQuery.fn.highcharts=function(){const t=[].slice.call(arguments);if(this[0])return t[0]?(new p[U(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):l[_(this[0],"data-highcharts-chart")]}),f={addEvent:function(t,s,u,b={}){var B=typeof t=="function"&&t.prototype||t;Object.hasOwnProperty.call(B,"hcEvents")||(B.hcEvents={}),B=B.hcEvents,p.Point&&t instanceof p.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);const c=t.addEventListener;return c&&c.call(t,s,u,p.supportsPassiveEvents?{passive:b.passive===void 0?s.indexOf("touch")!==-1:b.passive,capture:!1}:!1),B[s]||(B[s]=[]),B[s].push({fn:u,order:typeof b.order=="number"?b.order:1/0}),B[s].sort((P,Z)=>P.order-Z.order),function(){T(t,s,u)}},arrayMax:function(t){let s=t.length,u=t[0];for(;s--;)t[s]>u&&(u=t[s]);return u},arrayMin:function(t){let s=t.length,u=t[0];for(;s--;)t[s]<u&&(u=t[s]);return u},attr:_,clamp:function(t,s,u){return t>s?t<u?t:u:s},clearTimeout:function(t){R(t)&&clearTimeout(t)},correctFloat:S,createElement:function(t,s,u,b,B){return t=d.createElement(t),s&&L(t,s),B&&m(t,{padding:"0",border:"none",margin:"0"}),u&&m(t,u),b&&b.appendChild(t),t},css:m,defined:R,destroyObjectProperties:function(t,s){E(t,function(u,b){u&&u!==s&&u.destroy&&u.destroy(),delete t[b]})},diffObjects:function(t,s,u,b){function B(P,Z,tt,at){const W=u?Z:P;E(P,function(o,j){if(!at&&b&&-1<b.indexOf(j)&&Z[j]){o=M(o),tt[j]=[];for(let F=0;F<Math.max(o.length,Z[j].length);F++)Z[j][F]&&(o[F]===void 0?tt[j][F]=Z[j][F]:(tt[j][F]={},B(o[F],Z[j][F],tt[j][F],at+1)))}else Y(o,!0)&&!o.nodeType?(tt[j]=V(o)?[]:{},B(o,Z[j]||{},tt[j],at+1),Object.keys(tt[j]).length!==0||j==="colorAxis"&&at===0||delete tt[j]):(P[j]!==Z[j]||j in P&&!(j in Z))&&(tt[j]=W[j])})}const c={};return B(t,s,c,0),c},discardElement:function(t){t&&t.parentElement&&t.parentElement.removeChild(t)},erase:function(t,s){let u=t.length;for(;u--;)if(t[u]===s){t.splice(u,1);break}},error:g,extend:L,extendClass:function(t,s){const u=function(){};return u.prototype=new t,L(u.prototype,s),u},find:f,fireEvent:A,getClosestDistance:function(t,s){const u=!s;let b,B,c;return t.forEach(P=>{if(1<P.length)for(c=P.length-1;0<c;c--)B=P[c]-P[c-1],0>B&&!u?(s==null||s(),s=void 0):B&&(typeof b>"u"||B<b)&&(b=B)}),b},getMagnitude:C,getNestedProperty:function(t,s){for(t=t.split(".");t.length&&R(s);){const u=t.shift();if(typeof u>"u"||u==="__proto__")return;if(u==="this"){let b;return Y(s)&&(b=s["@this"]),b??s}if(s=s[u],!R(s)||typeof s=="function"||typeof s.nodeType=="number"||s===x)return}return s},getStyle:y,inArray:function(t,s,u){return g(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),s.indexOf(t,u)},insertItem:function(t,s){const u=t.options.index,b=s.length;let B;for(B=t.options.isInternal?b:0;B<b+1;B++)if(!s[B]||$(u)&&u<z(s[B].options.index,s[B]._i)||s[B].options.isInternal){s.splice(B,0,t);break}return B},isArray:V,isClass:D,isDOMElement:G,isFunction:function(t){return typeof t=="function"},isNumber:$,isObject:Y,isString:U,keys:function(t){return g(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(t)},merge:function(){let t,s=arguments,u={};const b=function(c,P){return typeof c!="object"&&(c={}),E(P,function(Z,tt){tt!=="__proto__"&&tt!=="constructor"&&(!Y(Z,!0)||D(Z)||G(Z)?c[tt]=P[tt]:c[tt]=b(c[tt]||{},Z))}),c};s[0]===!0&&(u=s[1],s=Array.prototype.slice.call(s,2));const B=s.length;for(t=0;t<B;t++)u=b(u,s[t]);return u},normalizeTickInterval:function(t,s,u,b,B){let c=t;u=z(u,C(t));const P=t/u;for(s||(s=B?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],b===!1&&(u===1?s=s.filter(function(Z){return Z%1===0}):.1>=u&&(s=[1/u]))),b=0;b<s.length&&(c=s[b],!(B&&c*u>=t||!B&&P<=(s[b]+(s[b+1]||s[b]))/2));b++);return c=S(c*u,-Math.round(Math.log(.001)/Math.LN10))},objectEach:E,offset:function(t){const s=d.documentElement;return t=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0},{top:t.top+(x.pageYOffset||s.scrollTop)-(s.clientTop||0),left:t.left+(x.pageXOffset||s.scrollLeft)-(s.clientLeft||0),width:t.width,height:t.height}},pad:function(t,s,u){return Array((s||2)+1-String(t).replace("-","").length).join(u||"0")+t},pick:z,pInt:O,pushUnique:function(t,s){return 0>t.indexOf(s)&&!!t.push(s)},relativeLength:function(t,s,u){return/%$/.test(t)?s*parseFloat(t)/100+(u||0):parseFloat(t)},removeEvent:T,splat:M,stableSort:function(t,s){const u=t.length;let b,B;for(B=0;B<u;B++)t[B].safeI=B;for(t.sort(function(c,P){return b=s(c,P),b===0?c.safeI-P.safeI:b}),B=0;B<u;B++)delete t[B].safeI},syncTimeout:function(t,s,u){return 0<s?setTimeout(t,s,u):(t.call(0,u),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:i,useSerialIds:function(t){return v=z(t,v)},wrap:function(t,s,u){const b=t[s];t[s]=function(){const B=arguments,c=this;return u.apply(this,[function(){return b.apply(c,arguments.length?arguments:B)}].concat([].slice.call(arguments)))}}},f}),n(r,"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:{zIndex:6},position:{align:"right",x:-10,y:10}},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"}}),n(r,"Core/Color/Color.js",[r["Core/Globals.js"],r["Core/Utilities.js"]],function(p,g){const{isNumber:O,merge:U,pInt:V}=g;class Y{static parse(D){return D?new Y(D):Y.None}constructor(D){this.rgba=[NaN,NaN,NaN,NaN],this.input=D;const $=p.Color;if($&&$!==Y)return new $(D);this.init(D)}init(D){let $,R;if(typeof D=="object"&&typeof D.stops<"u")this.stops=D.stops.map(L=>new Y(L[1]));else if(typeof D=="string"){if(this.input=D=Y.names[D.toLowerCase()]||D,D.charAt(0)==="#"){var _=D.length,M=parseInt(D.substr(1),16);_===7?$=[(M&16711680)>>16,(M&65280)>>8,M&255,1]:_===4&&($=[(M&3840)>>4|(M&3840)>>8,(M&240)>>4|M&240,(M&15)<<4|M&15,1])}if(!$)for(M=Y.parsers.length;M--&&!$;)R=Y.parsers[M],(_=R.regex.exec(D))&&($=R.parse(_))}$&&(this.rgba=$)}get(D){const $=this.input,R=this.rgba;if(typeof $=="object"&&typeof this.stops<"u"){const _=U($);return _.stops=[].slice.call(_.stops),this.stops.forEach((M,L)=>{_.stops[L]=[_.stops[L][0],M.get(D)]}),_}return R&&O(R[0])?D==="rgb"||!D&&R[3]===1?"rgb("+R[0]+","+R[1]+","+R[2]+")":D==="a"?`${R[3]}`:"rgba("+R.join(",")+")":$}brighten(D){const $=this.rgba;if(this.stops)this.stops.forEach(function(R){R.brighten(D)});else if(O(D)&&D!==0)for(let R=0;3>R;R++)$[R]+=V(255*D),0>$[R]&&($[R]=0),255<$[R]&&($[R]=255);return this}setOpacity(D){return this.rgba[3]=D,this}tweenTo(D,$){const R=this.rgba,_=D.rgba;return!O(R[0])||!O(_[0])?D.input||"none":(D=_[3]!==1||R[3]!==1,(D?"rgba(":"rgb(")+Math.round(_[0]+(R[0]-_[0])*(1-$))+","+Math.round(_[1]+(R[1]-_[1])*(1-$))+","+Math.round(_[2]+(R[2]-_[2])*(1-$))+(D?","+(_[3]+(R[3]-_[3])*(1-$)):"")+")")}}return Y.names={white:"#ffffff",black:"#000000"},Y.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(G){return[V(G[1]),V(G[2]),V(G[3]),parseFloat(G[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(G){return[V(G[1]),V(G[2]),V(G[3]),1]}}],Y.None=new Y(""),Y}),n(r,"Core/Color/Palettes.js",[],function(){return{colors:"#2caffe #544fc5 #00e272 #fe6a35 #6b8abc #d568fb #2ee0ca #fa4b42 #feb56a #91e8e1".split(" ")}}),n(r,"Core/Time.js",[r["Core/Globals.js"],r["Core/Utilities.js"]],function(p,g){const{win:O}=p,{defined:U,error:V,extend:Y,isObject:G,merge:D,objectEach:$,pad:R,pick:_,splat:M,timeUnits:L}=g,z=p.isSafari&&O.Intl&&O.Intl.DateTimeFormat.prototype.formatRange,m=p.isSafari&&O.Intl&&!O.Intl.DateTimeFormat.prototype.formatRange;class C{constructor(y){this.options={},this.variableTimezone=this.useUTC=!1,this.Date=O.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(y)}get(y,E){if(this.variableTimezone||this.timezoneOffset){const T=E.getTime(),A=T-this.getTimezoneOffset(E);return E.setTime(A),y=E["getUTC"+y](),E.setTime(T),y}return this.useUTC?E["getUTC"+y]():E["get"+y]()}set(y,E,T){if(this.variableTimezone||this.timezoneOffset){if(y==="Milliseconds"||y==="Seconds"||y==="Minutes"&&this.getTimezoneOffset(E)%36e5===0)return E["setUTC"+y](T);var A=this.getTimezoneOffset(E);return A=E.getTime()-A,E.setTime(A),E["setUTC"+y](T),y=this.getTimezoneOffset(E),A=E.getTime()+y,E.setTime(A)}return this.useUTC||z&&y==="FullYear"?E["setUTC"+y](T):E["set"+y](T)}update(y={}){const E=_(y.useUTC,!0);this.options=y=D(!0,this.options,y),this.Date=y.Date||O.Date||Date,this.timezoneOffset=(this.useUTC=E)&&y.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=E&&!(!y.getTimezoneOffset&&!y.timezone)}makeTime(y,E,T,A,l,d){let x,f,v;return this.useUTC?(x=this.Date.UTC.apply(0,arguments),f=this.getTimezoneOffset(x),x+=f,v=this.getTimezoneOffset(x),f!==v?x+=v-f:f-36e5!==this.getTimezoneOffset(x-36e5)||m||(x-=36e5)):x=new this.Date(y,E,_(T,1),_(A,0),_(l,0),_(d,0)).getTime(),x}timezoneOffsetFunction(){const y=this,E=this.options,T=E.getTimezoneOffset,A=E.moment||O.moment;if(!this.useUTC)return function(l){return 6e4*new Date(l.toString()).getTimezoneOffset()};if(E.timezone){if(A)return function(l){return 6e4*-A.tz(l,E.timezone).utcOffset()};V(25)}return this.useUTC&&T?function(l){return 6e4*T(l.valueOf())}:function(){return 6e4*(y.timezoneOffset||0)}}dateFormat(y,E,T){if(!U(E)||isNaN(E))return p.defaultOptions.lang&&p.defaultOptions.lang.invalidDate||"";y=_(y,"%Y-%m-%d %H:%M:%S");const A=this;var l=new this.Date(E);const d=this.get("Hours",l),x=this.get("Day",l),f=this.get("Date",l),v=this.get("Month",l),i=this.get("FullYear",l),t=p.defaultOptions.lang,s=t&&t.weekdays,u=t&&t.shortWeekdays;return l=Y({a:u?u[x]:s[x].substr(0,3),A:s[x],d:R(f),e:R(f,2," "),w:x,b:t.shortMonths[v],B:t.months[v],m:R(v+1),o:v+1,y:i.toString().substr(2,2),Y:i,H:R(d),k:d,I:R(d%12||12),l:d%12||12,M:R(this.get("Minutes",l)),p:12>d?"AM":"PM",P:12>d?"am":"pm",S:R(l.getSeconds()),L:R(Math.floor(E%1e3),3)},p.dateFormats),$(l,function(b,B){for(;y.indexOf("%"+B)!==-1;)y=y.replace("%"+B,typeof b=="function"?b.call(A,E):b)}),T?y.substr(0,1).toUpperCase()+y.substr(1):y}resolveDTLFormat(y){return G(y,!0)?y:(y=M(y),{main:y[0],from:y[1],to:y[2]})}getTimeTicks(y,E,T,A){const l=this,d=[],x={};var f=new l.Date(E);const v=y.unitRange,i=y.count||1;let t;if(A=_(A,1),U(E)){if(l.set("Milliseconds",f,v>=L.second?0:i*Math.floor(l.get("Milliseconds",f)/i)),v>=L.second&&l.set("Seconds",f,v>=L.minute?0:i*Math.floor(l.get("Seconds",f)/i)),v>=L.minute&&l.set("Minutes",f,v>=L.hour?0:i*Math.floor(l.get("Minutes",f)/i)),v>=L.hour&&l.set("Hours",f,v>=L.day?0:i*Math.floor(l.get("Hours",f)/i)),v>=L.day&&l.set("Date",f,v>=L.month?1:Math.max(1,i*Math.floor(l.get("Date",f)/i))),v>=L.month){l.set("Month",f,v>=L.year?0:i*Math.floor(l.get("Month",f)/i));var s=l.get("FullYear",f)}v>=L.year&&l.set("FullYear",f,s-s%i),v===L.week&&(s=l.get("Day",f),l.set("Date",f,l.get("Date",f)-s+A+(s<A?-7:0))),s=l.get("FullYear",f),A=l.get("Month",f);const u=l.get("Date",f),b=l.get("Hours",f);for(E=f.getTime(),!l.variableTimezone&&l.useUTC||!U(T)||(t=T-E>4*L.month||l.getTimezoneOffset(E)!==l.getTimezoneOffset(T)),E=f.getTime(),f=1;E<T;)d.push(E),E=v===L.year?l.makeTime(s+f*i,0):v===L.month?l.makeTime(s,A+f*i):!t||v!==L.day&&v!==L.week?t&&v===L.hour&&1<i?l.makeTime(s,A,u,b+f*i):E+v*i:l.makeTime(s,A,u+f*i*(v===L.day?1:7)),f++;d.push(E),v<=L.hour&&1e4>d.length&&d.forEach(function(B){B%18e5===0&&l.dateFormat("%H%M%S%L",B)==="000000000"&&(x[B]="day")})}return d.info=Y(y,{higherRanks:x,totalRange:v*i}),d}getDateFormat(y,E,T,A){const l=this.dateFormat("%m-%d %H:%M:%S.%L",E),d={millisecond:15,second:12,minute:9,hour:6,day:3};let x,f="millisecond";for(x in L){if(y===L.week&&+this.dateFormat("%w",E)===T&&l.substr(6)==="00:00:00.000"){x="week";break}if(L[x]>y){x=f;break}if(d[x]&&l.substr(d[x])!=="01-01 00:00:00.000".substr(d[x]))break;x!=="week"&&(f=x)}return this.resolveDTLFormat(A[x]).main}}return C}),n(r,"Core/Defaults.js",[r["Core/Chart/ChartDefaults.js"],r["Core/Color/Color.js"],r["Core/Globals.js"],r["Core/Color/Palettes.js"],r["Core/Time.js"],r["Core/Utilities.js"]],function(p,g,O,U,V,Y){const{isTouchDevice:G,svg:D}=O,{merge:$}=Y,R={colors:U.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:p,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:D,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:G?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"}};R.chart.styledMode=!1;const _=new V(R.time);return p={defaultOptions:R,defaultTime:_,getOptions:function(){return R},setOptions:function(M){return $(!0,R,M),(M.time||M.global)&&(O.time?O.time.update($(R.global,R.time,M.global,M.time)):O.time=_),R}},p}),n(r,"Core/Animation/Fx.js",[r["Core/Color/Color.js"],r["Core/Globals.js"],r["Core/Utilities.js"]],function(p,g,O){const{parse:U}=p,{win:V}=g,{isNumber:Y,objectEach:G}=O;class D{constructor(R,_,M){this.pos=NaN,this.options=_,this.elem=R,this.prop=M}dSetter(){var R=this.paths;const _=R&&R[0];R=R&&R[1];const M=this.now||0;let L=[];if(M!==1&&_&&R)if(_.length===R.length&&1>M)for(let z=0;z<R.length;z++){const m=_[z],C=R[z],S=[];for(let y=0;y<C.length;y++){const E=m[y],T=C[y];Y(E)&&Y(T)&&(C[0]!=="A"||y!==4&&y!==5)?S[y]=E+M*(T-E):S[y]=T}L.push(S)}else L=R;else L=this.toD||[];this.elem.attr("d",L,void 0,!0)}update(){const R=this.elem,_=this.prop,M=this.now,L=this.options.step;this[_+"Setter"]?this[_+"Setter"]():R.attr?R.element&&R.attr(_,M,null,!0):R.style[_]=M+this.unit,L&&L.call(R,M,this)}run(R,_,M){const L=this,z=L.options,m=function(y){return m.stopped?!1:L.step(y)},C=V.requestAnimationFrame||function(y){setTimeout(y,13)},S=function(){for(let y=0;y<D.timers.length;y++)D.timers[y]()||D.timers.splice(y--,1);D.timers.length&&C(S)};R!==_||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=R,this.end=_,this.unit=M,this.now=this.start,this.pos=0,m.elem=this.elem,m.prop=this.prop,m()&&D.timers.push(m)===1&&C(S)):(delete z.curAnim[this.prop],z.complete&&Object.keys(z.curAnim).length===0&&z.complete.call(this.elem))}step(R){const _=+new Date,M=this.options,L=this.elem,z=M.complete,m=M.duration,C=M.curAnim;let S;return L.attr&&!L.element?R=!1:R||_>=m+this.startTime?(this.now=this.end,this.pos=1,this.update(),S=C[this.prop]=!0,G(C,function(y){y!==!0&&(S=!1)}),S&&z&&z.call(L),R=!1):(this.pos=M.easing((_-this.startTime)/m),this.now=this.start+(this.end-this.start)*this.pos,this.update(),R=!0),R}initPath(R,_,M){function L(l,d){for(;l.length<T;){var x=l[0];const f=d[T-l.length];f&&x[0]==="M"&&(l[0]=f[0]==="C"?["C",x[1],x[2],x[1],x[2],x[1],x[2]]:["L",x[1],x[2]]),l.unshift(x),S&&(x=l.pop(),l.push(l[l.length-1],x))}}function z(l,d){for(;l.length<T;)if(d=l[Math.floor(l.length/y)-1].slice(),d[0]==="C"&&(d[1]=d[5],d[2]=d[6]),S){const x=l[Math.floor(l.length/y)].slice();l.splice(l.length/2,0,d,x)}else l.push(d)}const m=R.startX,C=R.endX;M=M.slice();const S=R.isArea,y=S?2:1;let E,T,A;if(_=_&&_.slice(),!_)return[M,M];if(m&&C&&C.length){for(R=0;R<m.length;R++)if(m[R]===C[0]){E=R;break}else if(m[0]===C[C.length-m.length+R]){E=R,A=!0;break}else if(m[m.length-1]===C[C.length-m.length+R]){E=m.length-R;break}typeof E>"u"&&(_=[])}return _.length&&Y(E)&&(T=M.length+E*y,A?(L(_,M),z(M,_)):(L(M,_),z(_,M))),[_,M]}fillSetter(){D.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,U(this.start).tweenTo(U(this.end),this.pos),void 0,!0)}}return D.timers=[],D}),n(r,"Core/Animation/AnimationUtilities.js",[r["Core/Animation/Fx.js"],r["Core/Utilities.js"]],function(p,g){function O(L){return $(L)?R({duration:500,defer:0},L):{duration:L?500:0,defer:0}}function U(L,z){let m=p.timers.length;for(;m--;)p.timers[m].elem!==L||z&&z!==p.timers[m].prop||(p.timers[m].stopped=!0)}const{defined:V,getStyle:Y,isArray:G,isNumber:D,isObject:$,merge:R,objectEach:_,pick:M}=g;return{animate:function(L,z,m){let C,S="",y,E,T;$(m)||(T=arguments,m={duration:T[2],easing:T[3],complete:T[4]}),D(m.duration)||(m.duration=400),m.easing=typeof m.easing=="function"?m.easing:Math[m.easing]||Math.easeInOutSine,m.curAnim=R(z),_(z,function(A,l){U(L,l),E=new p(L,m,l),y=void 0,l==="d"&&G(z.d)?(E.paths=E.initPath(L,L.pathArray,z.d),E.toD=z.d,C=0,y=1):L.attr?C=L.attr(l):(C=parseFloat(Y(L,l))||0,l!=="opacity"&&(S="px")),y||(y=A),typeof y=="string"&&y.match("px")&&(y=y.replace(/px/g,"")),E.run(C,y,S)})},animObject:O,getDeferredAnimation:function(L,z,m){const C=O(z);let S=0,y=0;return(m?[m]:L.series).forEach(E=>{E=O(E.options.animation),S=z&&V(z.defer)?C.defer:Math.max(S,E.duration+E.defer),y=Math.min(C.duration,E.duration)}),L.renderer.forExport&&(S=0),{defer:Math.max(0,S-y),duration:Math.min(S,y)}},setAnimation:function(L,z){z.renderer.globalAnimation=M(L,z.options.chart.animation,!0)},stop:U}}),n(r,"Core/Renderer/HTML/AST.js",[r["Core/Globals.js"],r["Core/Utilities.js"]],function(p,g){const{SVG_NS:O,win:U}=p,{attr:V,createElement:Y,css:G,error:D,isFunction:$,isString:R,objectEach:_,splat:M}=g;({trustedTypes:g}=U);const L=g&&$(g.createPolicy)&&g.createPolicy("highcharts",{createHTML:S=>S});g=L?L.createHTML(""):"";try{var z=!!new DOMParser().parseFromString(g,"text/html")}catch{z=!1}const m=z;class C{static filterUserAttributes(y){return _(y,(E,T)=>{let A=!0;C.allowedAttributes.indexOf(T)===-1&&(A=!1),["background","dynsrc","href","lowsrc","src"].indexOf(T)!==-1&&(A=R(E)&&C.allowedReferences.some(l=>E.indexOf(l)===0)),A||(D(33,!1,void 0,{"Invalid attribute in config":`${T}`}),delete y[T]),R(E)&&y[T]&&(y[T]=E.replace(/</g,"<"))}),y}static parseStyle(y){return y.split(";").reduce((E,T)=>{T=T.split(":").map(l=>l.trim());const A=T.shift();return A&&T.length&&(E[A.replace(/-([a-z])/g,l=>l[1].toUpperCase())]=T.join(":")),E},{})}static setElementHTML(y,E){y.innerHTML=C.emptyHTML,E&&new C(E).addToDOM(y)}constructor(y){this.nodes=typeof y=="string"?this.parseMarkup(y):y}addToDOM(y){function E(T,A){let l;return M(T).forEach(function(d){var x=d.tagName;const f=d.textContent?p.doc.createTextNode(d.textContent):void 0,v=C.bypassHTMLFiltering;let i;if(x)if(x==="#text")i=f;else if(C.allowedTags.indexOf(x)!==-1||v){x=p.doc.createElementNS(x==="svg"?O:A.namespaceURI||O,x);const t=d.attributes||{};_(d,function(s,u){u!=="tagName"&&u!=="attributes"&&u!=="children"&&u!=="style"&&u!=="textContent"&&(t[u]=s)}),V(x,v?t:C.filterUserAttributes(t)),d.style&&G(x,d.style),f&&x.appendChild(f),E(d.children||[],x),i=x}else D(33,!1,void 0,{"Invalid tagName in config":x});i&&A.appendChild(i),l=i}),l}return E(this.nodes,y)}parseMarkup(y){const E=[];if(y=y.trim().replace(/ style=(["'])/g," data-style=$1"),m)y=new DOMParser().parseFromString(L?L.createHTML(y):y,"text/html");else{const A=Y("div");A.innerHTML=y,y={body:A}}const T=(A,l)=>{var d=A.nodeName.toLowerCase();const x={tagName:d};if(d==="#text"&&(x.textContent=A.textContent||""),d=A.attributes){const f={};[].forEach.call(d,v=>{v.name==="data-style"?x.style=C.parseStyle(v.value):f[v.name]=v.value}),x.attributes=f}if(A.childNodes.length){const f=[];[].forEach.call(A.childNodes,v=>{T(v,f)}),f.length&&(x.children=f)}l.push(x)};return[].forEach.call(y.body.childNodes,A=>T(A,E)),E}}return C.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 flood-color flood-opacity height href id in markerHeight markerWidth offset opacity orient padding paddingLeft paddingRight patternUnits r refX refY role scope slope src startOffset stdDeviation stroke stroke-linecap stroke-width style tableValues result rowspan summary target tabindex text-align text-anchor textAnchor textLength title type valign width x x1 x2 xlink:href y y1 y2 zIndex".split(" "),C.allowedReferences="https:// http:// mailto: / ../ ./ #".split(" "),C.allowedTags="a abbr b br button caption circle clipPath code dd defs div dl dt em feComponentTransfer feDropShadow feFuncA feFuncB feFuncG feFuncR feGaussianBlur feOffset feMerge feMergeNode filter h1 h2 h3 h4 h5 h6 hr i img li linearGradient marker ol p path pattern pre rect small span stop strong style sub sup svg table text textPath thead title tbody tspan td th tr u ul #text".split(" "),C.emptyHTML=g,C.bypassHTMLFiltering=!1,C}),n(r,"Core/Templating.js",[r["Core/Defaults.js"],r["Core/Utilities.js"]],function(p,g){function O(m="",C,S){const y=/\{([a-zA-Z0-9:\.,;\-\/<>%_@"'= #\(\)]+)\}/g,E=/\(([a-zA-Z0-9:\.,;\-\/<>%_@"'= ]+)\)/g,T=[],A=/f$/,l=/\.([0-9])/,d=V.lang,x=S&&S.time||Y,f=S&&S.numberFormatter||U,v=(c="")=>{let P;return c==="true"?!0:c==="false"?!1:(P=Number(c)).toString()===c?P:D(c,C)};let i,t,s=0,u;for(;(i=y.exec(m))!==null;){const c=E.exec(i[1]);c&&(i=c,u=!0),t&&t.isBlock||(t={ctx:C,expression:i[1],find:i[0],isBlock:i[1].charAt(0)==="#",start:i.index,startInner:i.index+i[0].length,length:i[0].length});var b=i[1].split(" ")[0].replace("#","");if(z[b]&&(t.isBlock&&b===t.fn&&s++,t.fn||(t.fn=b)),b=i[1]==="else",t.isBlock&&t.fn&&(i[1]===`/${t.fn}`||b))if(s)b||s--;else{var B=t.startInner;B=m.substr(B,i.index-B),t.body===void 0?(t.body=B,t.startInner=i.index+i[0].length):t.elseBody=B,t.find+=B+i[0],b||(T.push(t),t=void 0)}else t.isBlock||T.push(t);if(c&&(t==null||!t.isBlock))break}return T.forEach(c=>{const{body:P,elseBody:Z,expression:tt,fn:at}=c;var W;if(at){var o=[c],j=tt.split(" ");for(W=z[at].length;W--;)o.unshift(v(j[W+1]));W=z[at].apply(C,o),c.isBlock&&typeof W=="boolean"&&(W=O(W?P:Z,C))}else o=tt.split(":"),W=v(o.shift()||""),o.length&&typeof W=="number"&&(o=o.join(":"),A.test(o)?(j=parseInt((o.match(l)||["","-1"])[1],10),W!==null&&(W=f(W,j,d.decimalPoint,-1<o.indexOf(",")?d.thousandsSep:""))):W=x.dateFormat(o,W));m=m.replace(c.find,M(W,""))}),u?O(m,C,S):m}function U(m,C,S,y){m=+m||0,C=+C;const E=V.lang;var T=(m.toString().split(".")[1]||"").split("e")[0].length;const A=m.toString().split("e"),l=C;if(C===-1)C=Math.min(T,20);else if(!R(C))C=2;else if(C&&A[1]&&0>A[1]){var d=C+ +A[1];0<=d?(A[0]=(+A[0]).toExponential(d).split("e")[0],C=d):(A[0]=A[0].split(".")[0]||0,m=20>C?(A[0]*Math.pow(10,A[1])).toFixed(C):0,A[1]=0)}d=(Math.abs(A[1]?A[0]:m)+Math.pow(10,-Math.max(C,T)-1)).toFixed(C),T=String(L(d));const x=3<T.length?T.length%3:0;return S=M(S,E.decimalPoint),y=M(y,E.thousandsSep),m=(0>m?"-":"")+(x?T.substr(0,x)+y:""),m=0>+A[1]&&!l?"0":m+T.substr(x).replace(/(\d{3})(?=\d)/g,"$1"+y),C&&(m+=S+d.slice(-C)),A[1]&&+m!=0&&(m+="e"+A[1]),m}const{defaultOptions:V,defaultTime:Y}=p,{extend:G,getNestedProperty:D,isArray:$,isNumber:R,isObject:_,pick:M,pInt:L}=g,z={add:(m,C)=>m+C,divide:(m,C)=>C!==0?m/C:"",eq:(m,C)=>m==C,each:function(m){const C=arguments[arguments.length-1];return $(m)?m.map((S,y)=>O(C.body,G(_(S)?S:{"@this":S},{"@index":y,"@first":y===0,"@last":y===m.length-1}))).join(""):!1},ge:(m,C)=>m>=C,gt:(m,C)=>m>C,if:m=>!!m,le:(m,C)=>m<=C,lt:(m,C)=>m<C,multiply:(m,C)=>m*C,ne:(m,C)=>m!=C,subtract:(m,C)=>m-C,unless:m=>!m};return{dateFormat:function(m,C,S){return Y.dateFormat(m,C,S)},format:O,helpers:z,numberFormat:U}}),n(r,"Core/Renderer/RendererUtilities.js",[r["Core/Utilities.js"]],function(p){const{clamp:g,pick:O,stableSort:U}=p;var V;return function(Y){function G(D,$,R){const _=D;var M=_.reducedLen||$,L=(E,T)=>(T.rank||0)-(E.rank||0);const z=(E,T)=>E.target-T.target;let m,C=!0,S=[],y=0;for(m=D.length;m--;)y+=D[m].size;if(y>M){for(U(D,L),y=m=0;y<=M;)y+=D[m].size,m++;S=D.splice(m-1,D.length)}for(U(D,z),D=D.map(E=>({size:E.size,targets:[E.target],align:O(E.align,.5)}));C;){for(m=D.length;m--;)M=D[m],L=(Math.min.apply(0,M.targets)+Math.max.apply(0,M.targets))/2,M.pos=g(L-M.size*M.align,0,$-M.size);for(m=D.length,C=!1;m--;)0<m&&D[m-1].pos+D[m-1].size>D[m].pos&&(D[m-1].size+=D[m].size,D[m-1].targets=D[m-1].targets.concat(D[m].targets),D[m-1].align=.5,D[m-1].pos+D[m-1].size>$&&(D[m-1].pos=$-D[m-1].size),D.splice(m,1),C=!0)}return _.push.apply(_,S),m=0,D.some(E=>{let T=0;return(E.targets||[]).some(()=>(_[m].pos=E.pos+T,typeof R<"u"&&Math.abs(_[m].pos-_[m].target)>R?(_.slice(0,m+1).forEach(A=>delete A.pos),_.reducedLen=(_.reducedLen||$)-.1*$,_.reducedLen>.1*$&&G(_,$,R),!0):(T+=_[m].size,m++,!1)))}),U(_,z),_}Y.distribute=G}(V||(V={})),V}),n(r,"Core/Renderer/SVG/SVGElement.js",[r["Core/Animation/AnimationUtilities.js"],r["Core/Color/Color.js"],r["Core/Globals.js"],r["Core/Utilities.js"]],function(p,g,O,U){const{animate:V,animObject:Y,stop:G}=p,{deg2rad:D,doc:$,svg:R,SVG_NS:_,win:M}=O,{addEvent:L,attr:z,createElement:m,css:C,defined:S,erase:y,extend:E,fireEvent:T,isArray:A,isFunction:l,isObject:d,isString:x,merge:f,objectEach:v,pick:i,pInt:t,syncTimeout:s,uniqueKey:u}=U;class b{constructor(){this.element=void 0,this.onEvents={},this.opacity=1,this.renderer=void 0,this.SVG_NS=_}_defaultGetter(c){return c=i(this[c+"Value"],this[c],this.element?this.element.getAttribute(c):null,0),/^[\-0-9\.]+$/.test(c)&&(c=parseFloat(c)),c}_defaultSetter(c,P,Z){Z.setAttribute(P,c)}add(c){const P=this.renderer,Z=this.element;let tt;return c&&(this.parentGroup=c),typeof this.textStr<"u"&&this.element.nodeName==="text"&&P.buildText(this),this.added=!0,(!c||c.handleZ||this.zIndex)&&(tt=this.zIndexSetter()),tt||(c?c.element:P.box).appendChild(Z),this.onAdd&&this.onAdd(),this}addClass(c,P){const Z=P?"":this.attr("class")||"";return c=(c||"").split(/ /g).reduce(function(tt,at){return Z.indexOf(at)===-1&&tt.push(at),tt},Z?[Z]:[]).join(" "),c!==Z&&this.attr("class",c),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(c,P,Z){const tt={};var at=this.renderer,W=at.alignedObjects,o;let j,F;c?(this.alignOptions=c,this.alignByTranslate=P,(!Z||x(Z))&&(this.alignTo=o=Z||"renderer",y(W,this),W.push(this),Z=void 0)):(c=this.alignOptions,P=this.alignByTranslate,o=this.alignTo),Z=i(Z,at[o],o==="scrollablePlotBox"?at.plotBox:void 0,at),o=c.align;const N=c.verticalAlign;return at=(Z.x||0)+(c.x||0),W=(Z.y||0)+(c.y||0),o==="right"?j=1:o==="center"&&(j=2),j&&(at+=(Z.width-(c.width||0))/j),tt[P?"translateX":"x"]=Math.round(at),N==="bottom"?F=1:N==="middle"&&(F=2),F&&(W+=(Z.height-(c.height||0))/F),tt[P?"translateY":"y"]=Math.round(W),this[this.placed?"animate":"attr"](tt),this.placed=!0,this.alignAttr=tt,this}alignSetter(c){const P={left:"start",center:"middle",right:"end"};P[c]&&(this.alignValue=c,this.element.setAttribute("text-anchor",P[c]))}animate(c,P,Z){const tt=Y(i(P,this.renderer.globalAnimation,!0));return P=tt.defer,$.hidden&&(tt.duration=0),tt.duration!==0?(Z&&(tt.complete=Z),s(()=>{this.element&&V(this,c,tt)},P)):(this.attr(c,void 0,Z||tt.complete),v(c,function(at,W){tt.step&&tt.step.call(this,at,{prop:W,pos:1,elem:this})},this)),this}applyTextOutline(c){const P=this.element;c.indexOf("contrast")!==-1&&(c=c.replace(/contrast/g,this.renderer.getContrast(P.style.fill)));var Z=c.split(" ");if(c=Z[Z.length-1],(Z=Z[0])&&Z!=="none"&&O.svg){this.fakeTS=!0,Z=Z.replace(/(^[\d\.]+)(.*?)$/g,function(W,o,j){return 2*Number(o)+j}),this.removeTextOutline();const tt=$.createElementNS(_,"tspan");z(tt,{class:"highcharts-text-outline",fill:c,stroke:c,"stroke-width":Z,"stroke-linejoin":"round"}),c=P.querySelector("textPath")||P,[].forEach.call(c.childNodes,W=>{const o=W.cloneNode(!0);o.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(j=>o.removeAttribute(j)),tt.appendChild(o)});let at=0;[].forEach.call(c.querySelectorAll("text tspan"),W=>{at+=Number(W.getAttribute("dy"))}),Z=$.createElementNS(_,"tspan"),Z.textContent="",z(Z,{x:Number(P.getAttribute("x")),dy:-at}),tt.appendChild(Z),c.insertBefore(tt,c.firstChild)}}attr(c,P,Z,tt){const at=this.element,W=b.symbolCustomAttribs;let o,j,F=this,N,Q;return typeof c=="string"&&typeof P<"u"&&(o=c,c={},c[o]=P),typeof c=="string"?F=(this[c+"Getter"]||this._defaultGetter).call(this,c,at):(v(c,function(h,k){N=!1,tt||G(this,k),this.symbolName&&W.indexOf(k)!==-1&&(j||(this.symbolAttr(c),j=!0),N=!0),!this.rotation||k!=="x"&&k!=="y"||(this.doTransform=!0),N||(Q=this[k+"Setter"]||this._defaultSetter,Q.call(this,h,k,at))},this),this.afterSetters()),Z&&Z.call(this),F}clip(c){return this.attr("clip-path",c?"url("+this.renderer.url+"#"+c.id+")":"none")}crisp(c,P){P=P||c.strokeWidth||0;const Z=Math.round(P)%2/2;return c.x=Math.floor(c.x||this.x||0)+Z,c.y=Math.floor(c.y||this.y||0)+Z,c.width=Math.floor((c.width||this.width||0)-2*Z),c.height=Math.floor((c.height||this.height||0)-2*Z),S(c.strokeWidth)&&(c.strokeWidth=P),c}complexColor(c,P,Z){const tt=this.renderer;let at,W,o,j,F,N,Q,h,k,w,X=[],K;T(this.renderer,"complexColor",{args:arguments},function(){if(c.radialGradient?W="radialGradient":c.linearGradient&&(W="linearGradient"),W){if(o=c[W],F=tt.gradients,N=c.stops,k=Z.radialReference,A(o)&&(c[W]=o={x1:o[0],y1:o[1],x2:o[2],y2:o[3],gradientUnits:"userSpaceOnUse"}),W==="radialGradient"&&k&&!S(o.gradientUnits)&&(j=o,o=f(o,tt.getRadialAttr(k,j),{gradientUnits:"userSpaceOnUse"})),v(o,function(q,st){st!=="id"&&X.push(st,q)}),v(N,function(q){X.push(q)}),X=X.join(","),F[X])w=F[X].attr("id");else{o.id=w=u();const q=F[X]=tt.createElement(W).attr(o).add(tt.defs);q.radAttr=j,q.stops=[],N.forEach(function(st){st[1].indexOf("rgba")===0?(at=g.parse(st[1]),Q=at.get("rgb"),h=at.get("a")):(Q=st[1],h=1),st=tt.createElement("stop").attr({offset:st[0],"stop-color":Q,"stop-opacity":h}).add(q),q.stops.push(st)})}K="url("+tt.url+"#"+w+")",Z.setAttribute(P,K),Z.gradient=X,c.toString=function(){return K}}})}css(c){const P=this.styles,Z={},tt=this.element;let at,W=!P;if(P&&v(c,function(o,j){P&&P[j]!==o&&(Z[j]=o,W=!0)}),W){P&&(c=E(P,Z)),c.width===null||c.width==="auto"?delete this.textWidth:tt.nodeName.toLowerCase()==="text"&&c.width&&(at=this.textWidth=t(c.width)),this.styles=c,at&&!R&&this.renderer.forExport&&delete c.width;const o=f(c);tt.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(j=>o&&delete o[j]),o.color&&(o.fill=o.color)),C(tt,o)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),c.textOutline&&this.applyTextOutline(c.textOutline)),this}dashstyleSetter(c){let P=this["stroke-width"];if(P==="inherit"&&(P=1),c=c&&c.toLowerCase()){const Z=c.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(c=Z.length;c--;)Z[c]=""+t(Z[c])*i(P,NaN);c=Z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",c)}}destroy(){const c=this;var P=c.element||{};const Z=c.renderer;var tt=P.ownerSVGElement;let at=P.nodeName==="SPAN"&&c.parentGroup||void 0;if(P.onclick=P.onmouseout=P.onmouseover=P.onmousemove=P.point=null,G(c),c.clipPath&&tt){const W=c.clipPath;[].forEach.call(tt.querySelectorAll("[clip-path],[CLIP-PATH]"),function(o){-1<o.getAttribute("clip-path").indexOf(W.element.id)&&o.removeAttribute("clip-path")}),c.clipPath=W.destroy()}if(c.stops){for(tt=0;tt<c.stops.length;tt++)c.stops[tt].destroy();c.stops.length=0,c.stops=void 0}for(c.safeRemoveChild(P);at&&at.div&&at.div.childNodes.length===0;)P=at.parentGroup,c.safeRemoveChild(at.div),delete at.div,at=P;c.alignTo&&y(Z.alignedObjects,c),v(c,function(W,o){c[o]&&c[o].parentGroup===c&&c[o].destroy&&c[o].destroy(),delete c[o]})}dSetter(c,P,Z){A(c)&&(typeof c[0]=="string"&&(c=this.renderer.pathToSegments(c)),this.pathArray=c,c=c.reduce((tt,at,W)=>at&&at.join?(W?tt+" ":"")+at.join(" "):(at||"").toString(),"")),/(NaN| {2}|^$)/.test(c)&&(c="M 0 0"),this[P]!==c&&(Z.setAttribute(P,c),this[P]=c)}fadeOut(c){const P=this;P.animate({opacity:0},{duration:i(c,150),complete:function(){P.hide()}})}fillSetter(c,P,Z){typeof c=="string"?Z.setAttribute(P,c):c&&this.complexColor(c,P,Z)}getBBox(c,P){const{alignValue:Z,element:tt,renderer:at,styles:W,textStr:o}=this,{cache:j,cacheKeys:F}=at;var N=tt.namespaceURI===this.SVG_NS;P=i(P,this.rotation,0);var Q=at.styledMode?tt&&b.prototype.getStyle.call(tt,"font-size"):W&&W.fontSize;let h,k;if(S(o)&&(k=o.toString(),k.indexOf("<")===-1&&(k=k.replace(/[0-9]/g,"0")),k+=["",at.rootFontSize,Q,P,this.textWidth,Z,W&&W.textOverflow,W&&W.fontWeight].join()),k&&!c&&(h=j[k]),!h){if(N||at.forExport){try{var w=this.fakeTS&&function(ot){const lt=tt.querySelector(".highcharts-text-outline");lt&&C(lt,{display:ot})};l(w)&&w("none"),h=tt.getBBox?E({},tt.getBBox()):{width:tt.offsetWidth,height:tt.offsetHeight,x:0,y:0},l(w)&&w("")}catch{}(!h||0>h.width)&&(h={x:0,y:0,width:0,height:0})}else h=this.htmlGetBBox();if(w=h.width,c=h.height,N&&(h.height=c={"11px,17":14,"13px,20":16}[`${Q||""},${Math.round(c)}`]||c),P){N=Number(tt.getAttribute("y")||0)-h.y,Q={right:1,center:.5}[Z||0]||0;var X=P*D,K=(P-90)*D,q=w*Math.cos(X);P=w*Math.sin(X);var st=Math.cos(K);X=Math.sin(K),w=h.x+Q*(w-q)+N*st,K=w+q,st=K-c*st,q=st-q,N=h.y+N-Q*P+N*X,Q=N+P,c=Q-c*X,P=c-P,h.x=Math.min(w,K,st,q),h.y=Math.min(N,Q,c,P),h.width=Math.max(w,K,st,q)-h.x,h.height=Math.max(N,Q,c,P)-h.y}}if(k&&(o===""||0<h.height)){for(;250<F.length;)delete j[F.shift()];j[k]||F.push(k),j[k]=h}return h}getStyle(c){return M.getComputedStyle(this.element||this,"").getPropertyValue(c)}hasClass(c){return(""+this.attr("class")).split(" ").indexOf(c)!==-1}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}init(c,P){this.element=P==="span"?m(P):$.createElementNS(this.SVG_NS,P),this.renderer=c,T(this,"afterInit")}on(c,P){const{onEvents:Z}=this;return Z[c]&&Z[c](),Z[c]=L(this.element,c,P),this}opacitySetter(c,P,Z){this.opacity=c=Number(Number(c).toFixed(3)),Z.setAttribute(P,c)}removeClass(c){return this.attr("class",(""+this.attr("class")).replace(x(c)?new RegExp(`(^| )${c}( |$)`):c," ").replace(/ +/g," ").trim())}removeTextOutline(){const c=this.element.querySelector("tspan.highcharts-text-outline");c&&this.safeRemoveChild(c)}safeRemoveChild(c){const P=c.parentNode;P&&P.removeChild(c)}setRadialReference(c){const P=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=c,P&&P.radAttr&&P.animate(this.renderer.getRadialAttr(c,P.radAttr)),this}setTextPath(c,P){P=f(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},P);const Z=this.renderer.url,tt=this.text||this,at=tt.textPath,{attributes:W,enabled:o}=P;return c=c||at&&at.path,at&&at.undo(),c&&o?(P=L(tt,"afterModifyTree",j=>{if(c&&o){let N=c.attr("id");N||c.attr("id",N=u());var F={x:0,y:0};S(W.dx)&&(F.dx=W.dx,delete W.dx),S(W.dy)&&(F.dy=W.dy,delete W.dy),tt.attr(F),this.attr({transform:""}),this.box&&(this.box=this.box.destroy()),F=j.nodes.slice(0),j.nodes.length=0,j.nodes[0]={tagName:"textPath",attributes:E(W,{"text-anchor":W.textAnchor,href:`${Z}#${N}`}),children:F}}}),tt.textPath={path:c,undo:P}):(tt.attr({dx:0,dy:0}),delete tt.textPath),this.added&&(tt.textCache="",this.renderer.buildText(tt)),this}shadow(c){var P;const{renderer:Z}=this,tt=f(((P=this.parentGroup)===null||P===void 0?void 0:P.rotation)===90?{offsetX:-1,offsetY:-1}:{},d(c)?c:{});return P=Z.shadowDefinition(tt),this.attr({filter:c?`url(${Z.url}#${P})`:"none"})}show(c=!0){return this.attr({visibility:c?"inherit":"visible"})}"stroke-widthSetter"(c,P,Z){this[P]=c,Z.setAttribute(P,c)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;const c=this.getStyle("stroke-width");let P=0,Z;return c.indexOf("px")===c.length-2?P=t(c):c!==""&&(Z=$.createElementNS(_,"rect"),z(Z,{width:c,"stroke-width":0}),this.element.parentNode.appendChild(Z),P=Z.getBBox().width,Z.parentNode.removeChild(Z)),P}symbolAttr(c){const P=this;b.symbolCustomAttribs.forEach(function(Z){P[Z]=i(c[Z],P[Z])}),P.attr({d:P.renderer.symbols[P.symbolName](P.x,P.y,P.width,P.height,P)})}textSetter(c){c!==this.textStr&&(delete this.textPxLength,this.textStr=c,this.added&&this.renderer.buildText(this))}titleSetter(c){const P=this.element,Z=P.getElementsByTagName("title")[0]||$.createElementNS(this.SVG_NS,"title");P.insertBefore?P.insertBefore(Z,P.firstChild):P.appendChild(Z),Z.textContent=String(i(c,"")).replace(/<[^>]*>/g,"").replace(/</g,"<").replace(/>/g,">")}toFront(){const c=this.element;return c.parentNode.appendChild(c),this}translate(c,P){return this.attr({translateX:c,translateY:P})}updateTransform(){const{element:c,matrix:P,rotation:Z=0,scaleX:tt,scaleY:at,translateX:W=0,translateY:o=0}=this,j=["translate("+W+","+o+")"];S(P)&&j.push("matrix("+P.join(",")+")"),Z&&j.push("rotate("+Z+" "+i(this.rotationOriginX,c.getAttribute("x"),0)+" "+i(this.rotationOriginY,c.getAttribute("y")||0)+")"),(S(tt)||S(at))&&j.push("scale("+i(tt,1)+" "+i(at,1)+")"),j.length&&!(this.text||this).textPath&&c.setAttribute("transform",j.join(" "))}visibilitySetter(c,P,Z){c==="inherit"?Z.removeAttribute(P):this[P]!==c&&Z.setAttribute(P,c),this[P]=c}xGetter(c){return this.element.nodeName==="circle"&&(c==="x"?c="cx":c==="y"&&(c="cy")),this._defaultGetter(c)}zIndexSetter(c,P){var Z=this.renderer,tt=this.parentGroup;const at=(tt||Z).element||Z.box,W=this.element;Z=at===Z.box;let o=!1,j;var F=this.added;let N;if(S(c)?(W.setAttribute("data-z-index",c),c=+c,this[P]===c&&(F=!1)):S(this[P])&&W.removeAttribute("data-z-index"),this[P]=c,F){for((c=this.zIndex)&&tt&&(tt.handleZ=!0),P=at.childNodes,N=P.length-1;0<=N&&!o;N--)tt=P[N],F=tt.getAttribute("data-z-index"),j=!S(F),tt!==W&&(0>c&&j&&!Z&&!N?(at.insertBefore(W,P[N]),o=!0):(t(F)<=c||j&&(!S(c)||0<=c))&&(at.insertBefore(W,P[N+1]),o=!0));o||(at.insertBefore(W,P[Z?3:0]),o=!0)}return o}}return b.symbolCustomAttribs="anchorX anchorY clockwise end height innerR r start width x y".split(" "),b.prototype.strokeSetter=b.prototype.fillSetter,b.prototype.yGetter=b.prototype.xGetter,b.prototype.matrixSetter=b.prototype.rotationOriginXSetter=b.prototype.rotationOriginYSetter=b.prototype.rotationSetter=b.prototype.scaleXSetter=b.prototype.scaleYSetter=b.prototype.translateXSetter=b.prototype.translateYSetter=b.prototype.verticalAlignSetter=function(B,c){this[c]=B,this.doTransform=!0},b}),n(r,"Core/Renderer/RendererRegistry.js",[r["Core/Globals.js"]],function(p){var g;return function(O){O.rendererTypes={};let U;O.getRendererType=function(V=U){return O.rendererTypes[V]||O.rendererTypes[U]},O.registerRendererType=function(V,Y,G){O.rendererTypes[V]=Y,(!U||G)&&(U=V,p.Renderer=Y)}}(g||(g={})),g}),n(r,"Core/Renderer/SVG/SVGLabel.js",[r["Core/Renderer/SVG/SVGElement.js"],r["Core/Utilities.js"]],function(p,g){const{defined:O,extend:U,isNumber:V,merge:Y,pick:G,removeEvent:D}=g;class $ extends p{constructor(_,M,L,z,m,C,S,y,E,T){super(),this.paddingRightSetter=this.paddingLeftSetter=this.paddingSetter,this.init(_,"g"),this.textStr=M,this.x=L,this.y=z,this.anchorX=C,this.anchorY=S,this.baseline=E,this.className=T,this.addClass(T==="button"?"highcharts-no-tooltip":"highcharts-label"),T&&this.addClass("highcharts-"+T),this.text=_.text(void 0,0,0,y).attr({zIndex:1});let A;typeof m=="string"&&((A=/^url\((.*?)\)$/.test(m))||this.renderer.symbols[m])&&(this.symbolKey=m),this.bBox=$.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=_.styledMode||A,this.deferredAttr={},this.alignFactor=0}alignSetter(_){_={left:0,center:.5,right:1}[_],_!==this.alignFactor&&(this.alignFactor=_,this.bBox&&V(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(_,M){this.anchorX=_,this.boxAttr(M,Math.round(_)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(_,M){this.anchorY=_,this.boxAttr(M,_-this.ySetting)}boxAttr(_,M){this.box?this.box.attr(_,M):this.deferredAttr[_]=M}css(_){if(_){const M={};_=Y(_),$.textProps.forEach(L=>{typeof _[L]<"u"&&(M[L]=_[L],delete _[L])}),this.text.css(M),"fontSize"in M||"fontWeight"in M?this.updateTextPadding():("width"in M||"textOverflow"in M)&&this.updateBoxSize()}return p.prototype.css.call(this,_)}destroy(){D(this.element,"mouseenter"),D(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),p.prototype.destroy.call(this)}fillSetter(_,M){_&&(this.needsBox=!0),this.fill=_,this.boxAttr(M,_)}getBBox(){this.textStr&&this.bBox.width===0&&this.bBox.height===0&&this.updateBoxSize();const _=this.padding,M=G(this.paddingLeft,_);return{width:this.width,height:this.height,x:this.bBox.x-M,y:this.bBox.y-_}}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(_){this.heightSetting=_}onAdd(){this.text.add(this),this.attr({text:G(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&O(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(_,M){V(_)?_!==this[M]&&(this[M]=_,this.updateTextPadding()):this[M]=void 0}rSetter(_,M){this.boxAttr(M,_)}strokeSetter(_,M){this.stroke=_,this.boxAttr(M,_)}"stroke-widthSetter"(_,M){_&&(this.needsBox=!0),this["stroke-width"]=_,this.boxAttr(M,_)}"text-alignSetter"(_){this.textAlign=_}textSetter(_){typeof _<"u"&&this.text.attr({text:_}),this.updateTextPadding()}updateBoxSize(){var _=this.text;const M={},L=this.padding,z=this.bBox=V(this.widthSetting)&&V(this.heightSetting)&&!this.textAlign||!O(_.textStr)?$.emptyBBox:_.getBBox();this.width=this.getPaddedWidth(),this.height=(this.heightSetting||z.height||0)+2*L;const m=this.renderer.fontMetrics(_);this.baselineOffset=L+Math.min((this.text.firstLineMetrics||m).b,z.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-m.h)/2),this.needsBox&&!_.textPath&&(this.box||(_=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect(),_.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),_.add(this)),_=this.getCrispAdjust(),M.x=_,M.y=(this.baseline?-this.baselineOffset:0)+_,M.width=Math.round(this.width),M.height=Math.round(this.height),this.box.attr(U(M,this.deferredAttr)),this.deferredAttr={})}updateTextPadding(){const _=this.text;if(!_.textPath){this.updateBoxSize();const M=this.baseline?0:this.baselineOffset;let L=G(this.paddingLeft,this.padding);O(this.widthSetting)&&this.bBox&&(this.textAlign==="center"||this.textAlign==="right")&&(L+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(L!==_.x||M!==_.y)&&(_.attr("x",L),_.hasBoxWidthChanged&&(this.bBox=_.getBBox(!0)),typeof M<"u"&&_.attr("y",M)),_.x=L,_.y=M}}widthSetter(_){this.widthSetting=V(_)?_:void 0}getPaddedWidth(){var _=this.padding;const M=G(this.paddingLeft,_);return _=G(this.paddingRight,_),(this.widthSetting||this.bBox.width||0)+M+_}xSetter(_){this.x=_,this.alignFactor&&(_-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(_),this.attr("translateX",this.xSetting)}ySetter(_){this.ySetting=this.y=Math.round(_),this.attr("translateY",this.ySetting)}}return $.emptyBBox={width:0,height:0,x:0,y:0},$.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow whiteSpace width".split(" "),$}),n(r,"Core/Renderer/SVG/Symbols.js",[r["Core/Utilities.js"]],function(p){function g(D,$,R,_,M){const L=[];if(M){const z=M.start||0,m=G(M.r,R);R=G(M.r,_||R),_=(M.end||0)-.001;const C=M.innerR,S=G(M.open,.001>Math.abs((M.end||0)-z-2*Math.PI)),y=Math.cos(z),E=Math.sin(z),T=Math.cos(_),A=Math.sin(_),l=G(M.longArc,.001>_-z-Math.PI?0:1);let d=["A",m,R,0,l,G(M.clockwise,1),D+m*T,$+R*A];d.params={start:z,end:_,cx:D,cy:$},L.push(["M",D+m*y,$+R*E],d),V(C)&&(d=["A",C,C,0,l,V(M.clockwise)?1-M.clockwise:0,D+C*y,$+C*E],d.params={start:_,end:z,cx:D,cy:$},L.push(S?["M",D+C*T,$+C*A]:["L",D+C*T,$+C*A],d)),S||L.push(["Z"])}return L}function O(D,$,R,_,M){return M&&M.r?U(D,$,R,_,M):[["M",D,$],["L",D+R,$],["L",D+R,$+_],["L",D,$+_],["Z"]]}function U(D,$,R,_,M){return M=(M==null?void 0:M.r)||0,[["M",D+M,$],["L",D+R-M,$],["A",M,M,0,0,1,D+R,$+M],["L",D+R,$+_-M],["A",M,M,0,0,1,D+R-M,$+_],["L",D+M,$+_],["A",M,M,0,0,1,D,$+_-M],["L",D,$+M],["A",M,M,0,0,1,D+M,$],["Z"]]}const{defined:V,isNumber:Y,pick:G}=p;return{arc:g,callout:function(D,$,R,_,M){const L=Math.min(M&&M.r||0,R,_),z=L+6,m=M&&M.anchorX;M=M&&M.anchorY||0;const C=U(D,$,R,_,{r:L});return Y(m)&&(D+m>=R?M>$+z&&M<$+_-z?C.splice(3,1,["L",D+R,M-6],["L",D+R+6,M],["L",D+R,M+6],["L",D+R,$+_-L]):C.splice(3,1,["L",D+R,_/2],["L",m,M],["L",D+R,_/2],["L",D+R,$+_-L]):0>=D+m?M>$+z&&M<$+_-z?C.splice(7,1,["L",D,M+6],["L",D-6,M],["L",D,M-6],["L",D,$+L]):C.splice(7,1,["L",D,_/2],["L",m,M],["L",D,_/2],["L",D,$+L]):M&&M>_&&m>D+z&&m<D+R-z?C.splice(5,1,["L",m+6,$+_],["L",m,$+_+6],["L",m-6,$+_],["L",D+L,$+_]):M&&0>M&&m>D+z&&m<D+R-z&&C.splice(1,1,["L",m-6,$],["L",m,$-6],["L",m+6,$],["L",R-L,$])),C},circle:function(D,$,R,_){return g(D+R/2,$+_/2,R/2,_/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(D,$,R,_){return[["M",D+R/2,$],["L",D+R,$+_/2],["L",D+R/2,$+_],["L",D,$+_/2],["Z"]]},rect:O,roundedRect:U,square:O,triangle:function(D,$,R,_){return[["M",D+R/2,$],["L",D+R,$+_],["L",D,$+_],["Z"]]},"triangle-down":function(D,$,R,_){return[["M",D,$],["L",D+R,$],["L",D+R/2,$+_],["Z"]]}}}),n(r,"Core/Renderer/SVG/TextBuilder.js",[r["Core/Renderer/HTML/AST.js"],r["Core/Globals.js"],r["Core/Utilities.js"]],function(p,g,O){const{doc:U,SVG_NS:V,win:Y}=g,{attr:G,extend:D,fireEvent:$,isString:R,objectEach:_,pick:M}=O;class L{constructor(m){const C=m.styles;this.renderer=m.renderer,this.svgElement=m,this.width=m.textWidth,this.textLineHeight=C&&C.lineHeight,this.textOutline=C&&C.textOutline,this.ellipsis=!(!C||C.textOverflow!=="ellipsis"),this.noWrap=!(!C||C.whiteSpace!=="nowrap")}buildSVG(){const m=this.svgElement,C=m.element;var S=m.renderer,y=M(m.textStr,"").toString();const E=y.indexOf("<")!==-1,T=C.childNodes;S=!m.added&&S.box;const A=/<br.*?>/g;var l=[y,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,m.getStyle("font-size"),this.width].join();if(l!==m.textCache){for(m.textCache=l,delete m.actualWidth,l=T.length;l--;)C.removeChild(T[l]);E||this.ellipsis||this.width||m.textPath||y.indexOf(" ")!==-1&&(!this.noWrap||A.test(y))?y!==""&&(S&&S.appendChild(C),y=new p(y),this.modifyTree(y.nodes),y.addToDOM(C),this.modifyDOM(),this.ellipsis&&(C.textContent||"").indexOf("…")!==-1&&m.attr("title",this.unescapeEntities(m.textStr||"",["<",">"])),S&&S.removeChild(C)):C.appendChild(U.createTextNode(this.unescapeEntities(y))),R(this.textOutline)&&m.applyTextOutline&&m.applyTextOutline(this.textOutline)}}modifyDOM(){const m=this.svgElement,C=G(m.element,"x");m.firstLineMetrics=void 0;let S;for(;(S=m.element.firstChild)&&/^[\s\u200B]*$/.test(S.textContent||" ");)m.element.removeChild(S);[].forEach.call(m.element.querySelectorAll("tspan.highcharts-br"),(A,l)=>{A.nextSibling&&A.previousSibling&&(l===0&&A.previousSibling.nodeType===1&&(m.firstLineMetrics=m.renderer.fontMetrics(A.previousSibling)),G(A,{dy:this.getLineHeight(A.nextSibling),x:C}))});const y=this.width||0;if(y){var E=(A,l)=>{var d=A.textContent||"";const x=d.replace(/([^\^])-/g,"$1- ").split(" ");var f=!this.noWrap&&(1<x.length||1<m.element.childNodes.length);const v=this.getLineHeight(l);let i=0,t=m.actualWidth;if(this.ellipsis)d&&this.truncate(A,d,void 0,0,Math.max(0,y-.8*v),(s,u)=>s.substring(0,u)+"…");else if(f){for(d=[],f=[];l.firstChild&&l.firstChild!==A;)f.push(l.firstChild),l.removeChild(l.firstChild);for(;x.length;)x.length&&!this.noWrap&&0<i&&(d.push(A.textContent||""),A.textContent=x.join(" ").replace(/- /g,"-")),this.truncate(A,void 0,x,i===0&&t||0,y,(s,u)=>x.slice(0,u).join(" ").replace(/- /g,"-")),t=m.actualWidth,i++;f.forEach(s=>{l.insertBefore(s,A)}),d.forEach(s=>{l.insertBefore(U.createTextNode(s),A),s=U.createElementNS(V,"tspan"),s.textContent="",G(s,{dy:v,x:C}),l.insertBefore(s,A)})}},T=A=>{[].slice.call(A.childNodes).forEach(l=>{l.nodeType===Y.Node.TEXT_NODE?E(l,A):(l.className.baseVal.indexOf("highcharts-br")!==-1&&(m.actualWidth=0),T(l))})};T(m.element)}}getLineHeight(m){return m=m.nodeType===Y.Node.TEXT_NODE?m.parentElement:m,this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(m||this.svgElement.element).h}modifyTree(m){const C=(S,y)=>{const{attributes:E={},children:T,style:A={},tagName:l}=S,d=this.renderer.styledMode;l==="b"||l==="strong"?d?E.class="highcharts-strong":A.fontWeight="bold":(l==="i"||l==="em")&&(d?E.class="highcharts-emphasized":A.fontStyle="italic"),A&&A.color&&(A.fill=A.color),l==="br"?(E.class="highcharts-br",S.textContent="",(y=m[y+1])&&y.textContent&&(y.textContent=y.textContent.replace(/^ +/gm,""))):l==="a"&&T&&T.some(x=>x.tagName==="#text")&&(S.children=[{children:T,tagName:"tspan"}]),l!=="#text"&&l!=="a"&&(S.tagName="tspan"),D(S,{attributes:E,style:A}),T&&T.filter(x=>x.tagName!=="#text").forEach(C)};m.forEach(C),$(this.svgElement,"afterModifyTree",{nodes:m})}truncate(m,C,S,y,E,T){const A=this.svgElement,{rotation:l}=A,d=[];let x=S?1:0,f=(C||S||"").length,v=f,i,t;const s=function(u,b){if(u=b||u,(b=m.parentNode)&&typeof d[u]>"u"&&b.getSubStringLength)try{d[u]=y+b.getSubStringLength(0,S?u+1:u)}catch{}return d[u]};if(A.rotation=0,t=s(m.textContent.length),y+t>E){for(;x<=f;)v=Math.ceil((x+f)/2),S&&(i=T(S,v)),t=s(v,i&&i.length-1),x===f?x=f+1:t>E?f=v-1:x=v;f===0?m.textContent="":C&&f===C.length-1||(m.textContent=i||T(C||S,v))}S&&S.splice(0,v),A.actualWidth=t,A.rotation=l}unescapeEntities(m,C){return _(this.renderer.escapes,function(S,y){C&&C.indexOf(S)!==-1||(m=m.toString().replace(new RegExp(S,"g"),y))}),m}}return L}),n(r,"Core/Renderer/SVG/SVGRenderer.js",[r["Core/Renderer/HTML/AST.js"],r["Core/Color/Color.js"],r["Core/Globals.js"],r["Core/Renderer/RendererRegistry.js"],r["Core/Renderer/SVG/SVGElement.js"],r["Core/Renderer/SVG/SVGLabel.js"],r["Core/Renderer/SVG/Symbols.js"],r["Core/Renderer/SVG/TextBuilder.js"],r["Core/Utilities.js"]],function(p,g,O,U,V,Y,G,D,$){const{charts:R,deg2rad:_,doc:M,isFirefox:L,isMS:z,isWebKit:m,noop:C,SVG_NS:S,symbolSizes:y,win:E}=O,{addEvent:T,attr:A,createElement:l,css:d,defined:x,destroyObjectProperties:f,extend:v,isArray:i,isNumber:t,isObject:s,isString:u,merge:b,pick:B,pInt:c,uniqueKey:P}=$;let Z;class tt{constructor(W,o,j,F,N,Q,h){this.width=this.url=this.style=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0,this.init(W,o,j,F,N,Q,h)}init(W,o,j,F,N,Q,h){const k=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),w=k.element;h||k.css(this.getStyle(F)),W.appendChild(w),A(W,"dir","ltr"),W.innerHTML.indexOf("xmlns")===-1&&A(w,"xmlns",this.SVG_NS),this.box=w,this.boxWrapper=k,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(M.createTextNode("Created with Highcharts 11.1.0")),this.defs=this.createElement("defs").add(),this.allowHTML=Q,this.forExport=N,this.styledMode=h,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=k.getStyle("font-size"),this.setSize(o,j,!1);let X;L&&W.getBoundingClientRect&&(o=function(){d(W,{left:0,top:0}),X=W.getBoundingClientRect(),d(W,{left:Math.ceil(X.left)-X.left+"px",top:Math.ceil(X.top)-X.top+"px"})},o(),this.unSubPixelFix=T(E,"resize",o))}definition(W){return new p([W]).addToDOM(this.defs.element)}getReferenceURL(){if((L||m)&&M.getElementsByTagName("base").length){if(!x(Z)){var W=P();W=new p([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:W},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${W})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(M.body),d(W,{position:"fixed",top:0,left:0,zIndex:9e5});const o=M.elementFromPoint(6,6);Z=(o&&o.id)==="hitme",M.body.removeChild(W)}if(Z)return E.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""}getStyle(W){return this.style=v({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},W)}setStyle(W){this.boxWrapper.css(this.getStyle(W))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){const W=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),f(this.gradients||{}),this.gradients=null,this.defs=W.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null}createElement(W){const o=new this.Element;return o.init(this,W),o}getRadialAttr(W,o){return{cx:W[0]-W[2]/2+(o.cx||0)*W[2],cy:W[1]-W[2]/2+(o.cy||0)*W[2],r:(o.r||0)*W[2]}}shadowDefinition(W){const o=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(W).map(F=>W[F])].join("-").replace(/[^a-z0-9\-]/g,""),j=b({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},W);return this.defs.element.querySelector(`#${o}`)||this.definition({tagName:"filter",attributes:{id:o},children:[{tagName:"feDropShadow",attributes:{dx:j.offsetX,dy:j.offsetY,"flood-color":j.color,"flood-opacity":Math.min(5*j.opacity,1),stdDeviation:j.width/2}}]}),o}buildText(W){new D(W).buildSVG()}getContrast(W){return W=g.parse(W).rgba.map(o=>(o/=255,.03928>=o?o/12.92:Math.pow((o+.055)/1.055,2.4))),W=.2126*W[0]+.7152*W[1]+.0722*W[2],1.05/(W+.05)>(W+.05)/.05?"#FFFFFF":"#000000"}button(W,o,j,F,N={},Q,h,k,w,X){const K=this.label(W,o,j,w,void 0,void 0,X,void 0,"button"),q=this.styledMode;W=N.states||{};let st=0;N=b(N),delete N.states;const ot=b({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},N.style);delete N.style;let lt=p.filterUserAttributes(N);K.attr(b({padding:8,r:2},lt));let ht,ut,H;return q||(lt=b({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},lt),Q=b(lt,{fill:"#e6e6e6"},p.filterUserAttributes(Q||W.hover||{})),ht=Q.style,delete Q.style,h=b(lt,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},p.filterUserAttributes(h||W.select||{})),ut=h.style,delete h.style,k=b(lt,{style:{color:"#cccccc"}},p.filterUserAttributes(k||W.disabled||{})),H=k.style,delete k.style),T(K.element,z?"mouseover":"mouseenter",function(){st!==3&&K.setState(1)}),T(K.element,z?"mouseout":"mouseleave",function(){st!==3&&K.setState(st)}),K.setState=function(I){I!==1&&(K.state=st=I),K.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][I||0]),q||(K.attr([lt,Q,h,k][I||0]),I=[ot,ht,ut,H][I||0],s(I)&&K.css(I))},q||(K.attr(lt).css(v({cursor:"default"},ot)),X&&K.text.css({pointerEvents:"none"})),K.on("touchstart",I=>I.stopPropagation()).on("click",function(I){st!==3&&F.call(K,I)})}crispLine(W,o,j="round"){const F=W[0],N=W[1];return x(F[1])&&F[1]===N[1]&&(F[1]=N[1]=Math[j](F[1])-o%2/2),x(F[2])&&F[2]===N[2]&&(F[2]=N[2]=Math[j](F[2])+o%2/2),W}path(W){const o=this.styledMode?{}:{fill:"none"};return i(W)?o.d=W:s(W)&&v(o,W),this.createElement("path").attr(o)}circle(W,o,j){return W=s(W)?W:typeof W>"u"?{}:{x:W,y:o,r:j},o=this.createElement("circle"),o.xSetter=o.ySetter=function(F,N,Q){Q.setAttribute("c"+N,F)},o.attr(W)}arc(W,o,j,F,N,Q){return s(W)?(F=W,o=F.y,j=F.r,W=F.x):F={innerR:F,start:N,end:Q},W=this.symbol("arc",W,o,j,j,F),W.r=j,W}rect(W,o,j,F,N,Q){W=s(W)?W:typeof W>"u"?{}:{x:W,y:o,r:N,width:Math.max(j||0,0),height:Math.max(F||0,0)};const h=this.createElement("rect");return this.styledMode||(typeof Q<"u"&&(W["stroke-width"]=Q,v(W,h.crisp(W))),W.fill="none"),h.rSetter=function(k,w,X){h.r=k,A(X,{rx:k,ry:k})},h.rGetter=function(){return h.r||0},h.attr(W)}roundedRect(W){return this.symbol("roundedRect").attr(W)}setSize(W,o,j){this.width=W,this.height=o,this.boxWrapper.animate({width:W,height:o},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:B(j,!0)?void 0:0}),this.alignElements()}g(W){const o=this.createElement("g");return W?o.attr({class:"highcharts-"+W}):o}image(W,o,j,F,N,Q){const h={preserveAspectRatio:"none"};t(o)&&(h.x=o),t(j)&&(h.y=j),t(F)&&(h.width=F),t(N)&&(h.height=N);const k=this.createElement("image").attr(h);return o=function(w){k.attr({href:W}),Q.call(k,w)},Q?(k.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}),j=new E.Image,T(j,"load",o),j.src=W,j.complete&&o({})):k.attr({href:W}),k}symbol(W,o,j,F,N,Q){const h=this,k=/^url\((.*?)\)$/,w=k.test(W),X=!w&&(this.symbols[W]?W:"circle"),K=X&&this.symbols[X];let q,st,ot,lt;if(K)typeof o=="number"&&(st=K.call(this.symbols,Math.round(o||0),Math.round(j||0),F||0,N||0,Q)),q=this.path(st),h.styledMode||q.attr("fill","none"),v(q,{symbolName:X||void 0,x:o,y:j,width:F,height:N}),Q&&v(q,Q);else if(w){ot=W.match(k)[1];const ht=q=this.image(ot);ht.imgwidth=B(Q&&Q.width,y[ot]&&y[ot].width),ht.imgheight=B(Q&&Q.height,y[ot]&&y[ot].height),lt=ut=>ut.attr({width:ut.width,height:ut.height}),["width","height"].forEach(function(ut){ht[ut+"Setter"]=function(H,I){this[I]=H;const{alignByTranslate:et,element:J,width:it,height:dt,imgwidth:ct,imgheight:vt}=this;if(H=this["img"+I],x(H)){let yt=1;Q&&Q.backgroundSize==="within"&&it&&dt?(yt=Math.min(it/ct,dt/vt),A(J,{width:Math.round(ct*yt),height:Math.round(vt*yt)})):J&&J.setAttribute(I,H),et||this.translate(((it||0)-ct*yt)/2,((dt||0)-vt*yt)/2)}}}),x(o)&&ht.attr({x:o,y:j}),ht.isImg=!0,x(ht.imgwidth)&&x(ht.imgheight)?lt(ht):(ht.attr({width:0,height:0}),l("img",{onload:function(){const ut=R[h.chartIndex];this.width===0&&(d(this,{position:"absolute",top:"-999em"}),M.body.appendChild(this)),y[ot]={width:this.width,height:this.height},ht.imgwidth=this.width,ht.imgheight=this.height,ht.element&<(ht),this.parentNode&&this.parentNode.removeChild(this),h.imgCount--,!h.imgCount&&ut&&!ut.hasLoaded&&ut.onload()},src:ot}),this.imgCount++)}return q}clipRect(W,o,j,F){const N=P()+"-",Q=this.createElement("clipPath").attr({id:N}).add(this.defs);return W=this.rect(W,o,j,F,0).add(Q),W.id=N,W.clipPath=Q,W.count=0,W}text(W,o,j,F){const N={};return F&&(this.allowHTML||!this.forExport)?this.html(W,o,j):(N.x=Math.round(o||0),j&&(N.y=Math.round(j)),x(W)&&(N.text=W),W=this.createElement("text").attr(N),(!F||this.forExport&&!this.allowHTML)&&(W.xSetter=function(Q,h,k){const w=k.getElementsByTagName("tspan"),X=k.getAttribute(h);for(let K=0,q;K<w.length;K++)q=w[K],q.getAttribute(h)===X&&q.setAttribute(h,Q);k.setAttribute(h,Q)}),W)}fontMetrics(W){W=c(V.prototype.getStyle.call(W,"font-size")||0);const o=24>W?W+3:Math.round(1.2*W);return{h:o,b:Math.round(.8*o),f:W}}rotCorr(W,o,j){let F=W;return o&&j&&(F=Math.max(F*Math.cos(o*_),4)),{x:-W/3*Math.sin(o*_),y:F}}pathToSegments(W){const o=[],j=[],F={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let N=0;N<W.length;N++)u(j[0])&&t(W[N])&&j.length===F[j[0].toUpperCase()]&&W.splice(N,0,j[0].replace("M","L").replace("m","l")),typeof W[N]=="string"&&(j.length&&o.push(j.slice(0)),j.length=0),j.push(W[N]);return o.push(j.slice(0)),o}label(W,o,j,F,N,Q,h,k,w){return new Y(this,W,o,j,F,N,Q,h,k,w)}alignElements(){this.alignedObjects.forEach(W=>W.align())}}return v(tt.prototype,{Element:V,SVG_NS:S,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:G,draw:C}),U.registerRendererType("svg",tt,!0),tt}),n(r,"Core/Renderer/HTML/HTMLElement.js",[r["Core/Globals.js"],r["Core/Renderer/SVG/SVGElement.js"],r["Core/Utilities.js"]],function(p,g,O){const{isFirefox:U,isMS:V,isWebKit:Y,win:G}=p,{css:D,defined:$,extend:R,pick:_,pInt:M}=O,L=[];class z extends g{static compose(C){if(O.pushUnique(L,C)){const S=z.prototype,y=C.prototype;y.getSpanCorrection=S.getSpanCorrection,y.htmlCss=S.htmlCss,y.htmlGetBBox=S.htmlGetBBox,y.htmlUpdateTransform=S.htmlUpdateTransform,y.setSpanRotation=S.setSpanRotation}return C}getSpanCorrection(C,S,y){this.xCorr=-C*y,this.yCorr=-S}htmlCss(C){const S=this.element.tagName==="SPAN"&&C&&"width"in C,y=_(S&&C.width,void 0);let E;return S&&(delete C.width,this.textWidth=y,E=!0),C&&C.textOverflow==="ellipsis"&&(C.whiteSpace="nowrap",C.overflow="hidden"),this.styles=R(this.styles,C),D(this.element,C),E&&this.htmlUpdateTransform(),this}htmlGetBBox(){const C=this.element;return{x:C.offsetLeft,y:C.offsetTop,width:C.offsetWidth,height:C.offsetHeight}}htmlUpdateTransform(){if(this.added){var C=this.renderer,S=this.element,y=this.x||0,E=this.y||0,T=this.textAlign||"left",A={left:0,center:.5,right:1}[T],l=this.styles,d=l&&l.whiteSpace;if(D(S,{marginLeft:this.translateX||0,marginTop:this.translateY||0}),S.tagName==="SPAN"){l=this.rotation;const f=this.textWidth&&M(this.textWidth),v=[l,T,S.innerHTML,this.textWidth,this.textAlign].join();let i=!1;if(f!==this.oldTextWidth){if(this.textPxLength)var x=this.textPxLength;else D(S,{width:"",whiteSpace:d||"nowrap"}),x=S.offsetWidth;(f>this.oldTextWidth||x>f)&&(/[ \-]/.test(S.textContent||S.innerText)||S.style.textOverflow==="ellipsis")&&(D(S,{width:x>f||l?f+"px":"auto",display:"block",whiteSpace:d||"normal"}),this.oldTextWidth=f,i=!0)}this.hasBoxWidthChanged=i,v!==this.cTT&&(C=C.fontMetrics(S).b,!$(l)||l===(this.oldRotation||0)&&T===this.oldAlign||this.setSpanRotation(l,A,C),this.getSpanCorrection(!$(l)&&this.textPxLength||S.offsetWidth,C,A,l,T)),D(S,{left:y+(this.xCorr||0)+"px",top:E+(this.yCorr||0)+"px"}),this.cTT=v,this.oldRotation=l,this.oldAlign=T}}else this.alignOnAdd=!0}setSpanRotation(C,S,y){const E={},T=V&&!/Edge/.test(G.navigator.userAgent)?"-ms-transform":Y?"-webkit-transform":U?"MozTransform":G.opera?"-o-transform":void 0;T&&(E[T]=E.transform="rotate("+C+"deg)",E[T+(U?"Origin":"-origin")]=E.transformOrigin=100*S+"% "+y+"px",D(this.element,E))}}return z}),n(r,"Core/Renderer/HTML/HTMLRenderer.js",[r["Core/Renderer/HTML/AST.js"],r["Core/Renderer/SVG/SVGElement.js"],r["Core/Renderer/SVG/SVGRenderer.js"],r["Core/Utilities.js"]],function(p,g,O,U){const{attr:V,createElement:Y,extend:G,pick:D}=U,$=[];class R extends O{static compose(M){return U.pushUnique($,M)&&(M.prototype.html=R.prototype.html),M}html(M,L,z){const m=this.createElement("span"),C=m.element,S=m.renderer,y=function(E,T){["opacity","visibility"].forEach(function(A){E[A+"Setter"]=function(l,d,x){const f=E.div?E.div.style:T;g.prototype[A+"Setter"].call(this,l,d,x),f&&(f[d]=l)}}),E.addedSetters=!0};return m.textSetter=function(E){E!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,p.setElementHTML(this.element,D(E,"")),this.textStr=E,m.doTransform=!0)},y(m,m.element.style),m.xSetter=m.ySetter=m.alignSetter=m.rotationSetter=function(E,T){T==="align"?m.alignValue=m.textAlign=E:m[T]=E,m.doTransform=!0},m.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)},m.attr({text:M,x:Math.round(L),y:Math.round(z)}).css({position:"absolute"}),S.styledMode||m.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),C.style.whiteSpace="nowrap",m.css=m.htmlCss,m.add=function(E){const T=S.box.parentNode,A=[];let l;if(this.parentGroup=E){if(l=E.div,!l){for(;E;)A.push(E),E=E.parentGroup;A.reverse().forEach(function(d){function x(t,s){d[s]=t,s==="translateX"?i.left=t+"px":i.top=t+"px",d.doTransform=!0}const f=V(d.element,"class"),v=d.styles||{};l=d.div=d.div||Y("div",f?{className:f}:void 0,{position:"absolute",left:(d.translateX||0)+"px",top:(d.translateY||0)+"px",display:d.display,opacity:d.opacity,visibility:d.visibility},l||T);const i=l.style;G(d,{classSetter:function(t){return function(s){this.element.setAttribute("class",s),t.className=s}}(l),css:function(t){return m.css.call(d,t),["cursor","pointerEvents"].forEach(s=>{t[s]&&(i[s]=t[s])}),d},on:function(){return A[0].div&&m.on.apply({element:A[0].div,onEvents:d.onEvents},arguments),d},translateXSetter:x,translateYSetter:x}),d.addedSetters||y(d),d.css(v)})}}else l=T;return l.appendChild(C),m.added=!0,m.alignOnAdd&&m.htmlUpdateTransform(),m},m}}return R}),n(r,"Core/Axis/AxisDefaults.js",[],function(){var p;return function(g){g.defaultXAxisOptions={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:{autoRotation:void 0,autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,opposite:!1,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",rotation:0,useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},g.defaultYAxisOptions={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){const{numberFormatter:O}=this.axis.chart;return O(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},g.defaultLeftAxisOptions={title:{rotation:270}},g.defaultRightAxisOptions={title:{rotation:90}},g.defaultBottomAxisOptions={labels:{autoRotation:[-45]},margin:15,title:{rotation:0}},g.defaultTopAxisOptions={labels:{autoRotation:[-45]},margin:15,title:{rotation:0}}}(p||(p={})),p}),n(r,"Core/Foundation.js",[r["Core/Utilities.js"]],function(p){const{addEvent:g,isFunction:O,objectEach:U,removeEvent:V}=p;var Y;return function(G){G.registerEventOptions=function(D,$){D.eventOptions=D.eventOptions||{},U($.events,function(R,_){D.eventOptions[_]!==R&&(D.eventOptions[_]&&(V(D,_,D.eventOptions[_]),delete D.eventOptions[_]),O(R)&&(D.eventOptions[_]=R,g(D,_,R,{order:0})))})}}(Y||(Y={})),Y}),n(r,"Core/Axis/Tick.js",[r["Core/Templating.js"],r["Core/Globals.js"],r["Core/Utilities.js"]],function(p,g,O){const{deg2rad:U}=g,{clamp:V,correctFloat:Y,defined:G,destroyObjectProperties:D,extend:$,fireEvent:R,isNumber:_,merge:M,objectEach:L,pick:z}=O;class m{constructor(S,y,E,T,A){this.isNewLabel=this.isNew=!0,this.axis=S,this.pos=y,this.type=E||"",this.parameters=A||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,R(this,"init"),E||T||this.addLabel()}addLabel(){const S=this,y=S.axis;var E=y.options;const T=y.chart;var A=y.categories;const l=y.logarithmic,d=y.names,x=S.pos,f=z(S.options&&S.options.labels,E.labels);var v=y.tickPositions;const i=x===v[0],t=x===v[v.length-1],s=(!f.step||f.step===1)&&y.tickInterval===1;v=v.info;let u=S.label,b,B,c;A=this.parameters.category||(A?z(A[x],d[x],x):x),l&&_(A)&&(A=Y(l.lin2log(A))),y.dateTime&&(v?(B=T.time.resolveDTLFormat(E.dateTimeLabelFormats[!E.grid&&v.higherRanks[x]||v.unitName]),b=B.main):_(A)&&(b=y.dateTime.getXDateFormat(A,E.dateTimeLabelFormats||{}))),S.isFirst=i,S.isLast=t;const P={axis:y,chart:T,dateTimeLabelFormat:b,isFirst:i,isLast:t,pos:x,tick:S,tickPositionInfo:v,value:A};R(this,"labelFormat",P);const Z=at=>f.formatter?f.formatter.call(at,at):f.format?(at.text=y.defaultLabelFormatter.call(at,at),p.format(f.format,at,T)):y.defaultLabelFormatter.call(at,at);E=Z.call(P,P);const tt=B&&B.list;S.shortenLabel=tt?function(){for(c=0;c<tt.length;c++)if($(P,{dateTimeLabelFormat:tt[c]}),u.attr({text:Z.call(P,P)}),u.getBBox().width<y.getSlotWidth(S)-2*f.padding)return;u.attr({text:""})}:void 0,s&&y._addedPlotLB&&S.moveLabel(E,f),G(u)||S.movedLabel?u&&u.textStr!==E&&!s&&(!u.textWidth||f.style.width||u.styles.width||u.css({width:null}),u.attr({text:E}),u.textPxLength=u.getBBox().width):(S.label=u=S.createLabel({x:0,y:0},E,f),S.rotation=0)}createLabel(S,y,E){const T=this.axis,A=T.chart;return(S=G(y)&&E.enabled?A.renderer.text(y,S.x,S.y,E.useHTML).add(T.labelGroup):null)&&(A.styledMode||S.css(M(E.style)),S.textPxLength=S.getBBox().width),S}destroy(){D(this,this.axis)}getPosition(S,y,E,T){const A=this.axis,l=A.chart,d=T&&l.oldChartHeight||l.chartHeight;return S={x:S?Y(A.translate(y+E,void 0,void 0,T)+A.transB):A.left+A.offset+(A.opposite?(T&&l.oldChartWidth||l.chartWidth)-A.right-A.left:0),y:S?d-A.bottom+A.offset-(A.opposite?A.height:0):Y(d-A.translate(y+E,void 0,void 0,T)-A.transB)},S.y=V(S.y,-1e5,1e5),R(this,"afterGetPosition",{pos:S}),S}getLabelPosition(S,y,E,T,A,l,d,x){const f=this.axis,v=f.transA,i=f.isLinked&&f.linkedParent?f.linkedParent.reversed:f.reversed,t=f.staggerLines,s=f.tickRotCorr||{x:0,y:0},u=T||f.reserveSpaceDefault?0:-f.labelOffset*(f.labelAlign==="center"?.5:1),b=A.distance,B={};return E=f.side===0?E.rotation?-b:-E.getBBox().height:f.side===2?s.y+b:Math.cos(E.rotation*U)*(s.y-E.getBBox(!1,0).height/2),G(A.y)&&(E=f.side===0&&f.horiz?A.y+E:A.y),S=S+z(A.x,[0,1,0,-1][f.side]*b)+u+s.x-(l&&T?l*v*(i?-1:1):0),y=y+E-(l&&!T?l*v*(i?1:-1):0),t&&(T=d/(x||1)%t,f.opposite&&(T=t-T-1),y+=f.labelOffset/t*T),B.x=S,B.y=Math.round(y),R(this,"afterGetLabelPosition",{pos:B,tickmarkOffset:l,index:d}),B}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(S,y,E,T,A,l){return l.crispLine([["M",S,y],["L",S+(A?0:-E),y+(A?E:0)]],T)}handleOverflow(S){const y=this.axis,E=y.options.labels,T=S.x;var A=y.chart.chartWidth,l=y.chart.spacing;const d=z(y.labelLeft,Math.min(y.pos,l[3]));l=z(y.labelRight,Math.max(y.isRadial?0:y.pos+y.len,A-l[1]));const x=this.label,f=this.rotation,v={left:0,center:.5,right:1}[y.labelAlign||x.attr("align")],i=x.getBBox().width,t=y.getSlotWidth(this),s={};let u=t,b=1,B;f||E.overflow!=="justify"?0>f&&T-v*i<d?B=Math.round(T/Math.cos(f*U)-d):0<f&&T+v*i>l&&(B=Math.round((A-T)/Math.cos(f*U))):(A=T+(1-v)*i,T-v*i<d?u=S.x+u*(1-v)-d:A>l&&(u=l-S.x+u*v,b=-1),u=Math.min(t,u),u<t&&y.labelAlign==="center"&&(S.x+=b*(t-u-v*(t-Math.min(i,u)))),(i>u||y.autoRotation&&(x.styles||{}).width)&&(B=u)),B&&(this.shortenLabel?this.shortenLabel():(s.width=Math.floor(B)+"px",(E.style||{}).textOverflow||(s.textOverflow="ellipsis"),x.css(s)))}moveLabel(S,y){const E=this;var T=E.label;const A=E.axis;let l=!1;T&&T.textStr===S?(E.movedLabel=T,l=!0,delete E.label):L(A.ticks,function(d){l||d.isNew||d===E||!d.label||d.label.textStr!==S||(E.movedLabel=d.label,l=!0,d.labelPos=E.movedLabel.xy,delete d.label)}),l||!E.labelPos&&!T||(T=E.labelPos||T.xy,E.movedLabel=E.createLabel(T,S,y),E.movedLabel&&E.movedLabel.attr({opacity:0}))}render(S,y,E){var T=this.axis,A=T.horiz,l=this.pos,d=z(this.tickmarkOffset,T.tickmarkOffset);l=this.getPosition(A,l,d,y),d=l.x;const x=l.y;T=A&&d===T.pos+T.len||!A&&x===T.pos?-1:1,A=z(E,this.label&&this.label.newOpacity,1),E=z(E,1),this.isActive=!0,this.renderGridLine(y,E,T),this.renderMark(l,E,T),this.renderLabel(l,y,A,S),this.isNew=!1,R(this,"afterRender")}renderGridLine(S,y,E){const T=this.axis,A=T.options,l={},d=this.pos,x=this.type,f=z(this.tickmarkOffset,T.tickmarkOffset),v=T.chart.renderer;let i=this.gridLine,t=A.gridLineWidth,s=A.gridLineColor,u=A.gridLineDashStyle;this.type==="minor"&&(t=A.minorGridLineWidth,s=A.minorGridLineColor,u=A.minorGridLineDashStyle),i||(T.chart.styledMode||(l.stroke=s,l["stroke-width"]=t||0,l.dashstyle=u),x||(l.zIndex=1),S&&(y=0),this.gridLine=i=v.path().attr(l).addClass("highcharts-"+(x?x+"-":"")+"grid-line").add(T.gridGroup)),i&&(E=T.getPlotLinePath({value:d+f,lineWidth:i.strokeWidth()*E,force:"pass",old:S,acrossPanes:!1}))&&i[S||this.isNew?"attr":"animate"]({d:E,opacity:y})}renderMark(S,y,E){const T=this.axis;var A=T.options;const l=T.chart.renderer,d=this.type,x=T.tickSize(d?d+"Tick":"tick"),f=S.x;S=S.y;const v=z(A[d!=="minor"?"tickWidth":"minorTickWidth"],!d&&T.isXAxis?1:0);A=A[d!=="minor"?"tickColor":"minorTickColor"];let i=this.mark;const t=!i;x&&(T.opposite&&(x[0]=-x[0]),i||(this.mark=i=l.path().addClass("highcharts-"+(d?d+"-":"")+"tick").add(T.axisGroup),T.chart.styledMode||i.attr({stroke:A,"stroke-width":v})),i[t?"attr":"animate"]({d:this.getMarkPath(f,S,x[0],i.strokeWidth()*E,T.horiz,l),opacity:y}))}renderLabel(S,y,E,T){var A=this.axis;const l=A.horiz,d=A.options,x=this.label,f=d.labels,v=f.step;A=z(this.tickmarkOffset,A.tickmarkOffset);const i=S.x;S=S.y;let t=!0;x&&_(i)&&(x.xy=S=this.getLabelPosition(i,S,x,l,f,A,T,v),this.isFirst&&!this.isLast&&!d.showFirstLabel||this.isLast&&!this.isFirst&&!d.showLastLabel?t=!1:!l||f.step||f.rotation||y||E===0||this.handleOverflow(S),v&&T%v&&(t=!1),t&&_(S.y)?(S.opacity=E,x[this.isNewLabel?"attr":"animate"](S).show(!0),this.isNewLabel=!1):(x.hide(),this.isNewLabel=!0))}replaceMovedLabel(){const S=this.label,y=this.axis;S&&!this.isNew&&(S.animate({opacity:0},void 0,S.destroy),delete this.label),y.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}return m}),n(r,"Core/Axis/Axis.js",[r["Core/Animation/AnimationUtilities.js"],r["Core/Axis/AxisDefaults.js"],r["Core/Color/Color.js"],r["Core/Defaults.js"],r["Core/Foundation.js"],r["Core/Globals.js"],r["Core/Axis/Tick.js"],r["Core/Utilities.js"]],function(p,g,O,U,V,Y,G,D){const{animObject:$}=p,{defaultOptions:R}=U,{registerEventOptions:_}=V,{deg2rad:M}=Y,{arrayMax:L,arrayMin:z,clamp:m,correctFloat:C,defined:S,destroyObjectProperties:y,erase:E,error:T,extend:A,fireEvent:l,getClosestDistance:d,insertItem:x,isArray:f,isNumber:v,isString:i,merge:t,normalizeTickInterval:s,objectEach:u,pick:b,relativeLength:B,removeEvent:c,splat:P,syncTimeout:Z}=D,tt=(W,o)=>s(o,void 0,void 0,b(W.options.allowDecimals,.5>o||W.tickAmount!==void 0),!!W.tickAmount);class at{constructor(o,j,F){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.index=this.height=this.hasVisibleSeries=this.hasNames=this.eventOptions=this.coll=this.closestPointRange=this.chart=this.bottom=this.alternateBands=void 0,this.init(o,j,F)}init(o,j,F=this.coll){const N=F==="xAxis";this.chart=o,this.horiz=this.isZAxis||(o.inverted?!N:N),this.isXAxis=N,this.coll=F,l(this,"init",{userOptions:j}),this.opposite=b(j.opposite,this.opposite),this.side=b(j.side,this.side,this.horiz?this.opposite?0:2:this.opposite?1:3),this.setOptions(j),F=this.options;const Q=F.labels,h=F.type;this.userOptions=j,this.minPixelPadding=0,this.reversed=b(F.reversed,this.reversed),this.visible=F.visible,this.zoomEnabled=F.zoomEnabled,this.hasNames=h==="category"||F.categories===!0,this.categories=F.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=S(F.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=F.minRange||F.maxZoom,this.range=F.range,this.offset=F.offset||0,this.min=this.max=null,j=b(F.crosshair,P(o.options.tooltip.crosshairs)[N?0:1]),this.crosshair=j===!0?{}:j,o.axes.indexOf(this)===-1&&(N?o.axes.splice(o.xAxis.length,0,this):o.axes.push(this),x(this,o[this.coll])),o.orderItems(this.coll),this.series=this.series||[],o.inverted&&!this.isZAxis&&N&&typeof this.reversed>"u"&&(this.reversed=!0),this.labelRotation=v(Q.rotation)?Q.rotation:void 0,_(this,F),l(this,"afterInit")}setOptions(o){this.options=t(g.defaultXAxisOptions,this.coll==="yAxis"&&g.defaultYAxisOptions,[g.defaultTopAxisOptions,g.defaultRightAxisOptions,g.defaultBottomAxisOptions,g.defaultLeftAxisOptions][this.side],t(R[this.coll],o)),l(this,"afterSetOptions",{userOptions:o})}defaultLabelFormatter(o){var j=this.axis;({numberFormatter:o}=this.chart);const F=v(this.value)?this.value:NaN,N=j.chart.time,Q=this.dateTimeLabelFormat;var h=R.lang;const k=h.numericSymbols;h=h.numericSymbolMagnitude||1e3;const w=j.logarithmic?Math.abs(F):j.tickInterval;let X=k&&k.length,K;if(j.categories)K=`${this.value}`;else if(Q)K=N.dateFormat(Q,F);else if(X&&1e3<=w)for(;X--&&typeof K>"u";)j=Math.pow(h,X+1),w>=j&&10*F%j===0&&k[X]!==null&&F!==0&&(K=o(F/j,-1)+k[X]);return typeof K>"u"&&(K=1e4<=Math.abs(F)?o(F,-1):o(F,-1,void 0,"")),K}getSeriesExtremes(){const o=this,j=o.chart;let F;l(this,"getSeriesExtremes",null,function(){o.hasVisibleSeries=!1,o.dataMin=o.dataMax=o.threshold=null,o.softThreshold=!o.isXAxis,o.series.forEach(function(N){if(N.visible||!j.options.chart.ignoreHiddenSeries){var Q=N.options;let h=Q.threshold,k,w;o.hasVisibleSeries=!0,o.positiveValuesOnly&&0>=h&&(h=null),o.isXAxis?(Q=N.xData)&&Q.length&&(Q=o.logarithmic?Q.filter(X=>0<X):Q,F=N.getXExtremes(Q),k=F.min,w=F.max,v(k)||k instanceof Date||(Q=Q.filter(v),F=N.getXExtremes(Q),k=F.min,w=F.max),Q.length&&(o.dataMin=Math.min(b(o.dataMin,k),k),o.dataMax=Math.max(b(o.dataMax,w),w))):(N=N.applyExtremes(),v(N.dataMin)&&(k=N.dataMin,o.dataMin=Math.min(b(o.dataMin,k),k)),v(N.dataMax)&&(w=N.dataMax,o.dataMax=Math.max(b(o.dataMax,w),w)),S(h)&&(o.threshold=h),(!Q.softThreshold||o.positiveValuesOnly)&&(o.softThreshold=!1))}})}),l(this,"afterGetSeriesExtremes")}translate(o,j,F,N,Q,h){const k=this.linkedParent||this,w=N&&k.old?k.old.min:k.min;if(!v(w))return NaN;const X=k.minPixelPadding;Q=(k.isOrdinal||k.brokenAxis&&k.brokenAxis.hasBreaks||k.logarithmic&&Q)&&k.lin2val;let K=1,q=0;return N=N&&k.old?k.old.transA:k.transA,N||(N=k.transA),F&&(K*=-1,q=k.len),k.reversed&&(K*=-1,q-=K*(k.sector||k.len)),j?(h=(o*K+q-X)/N+w,Q&&(h=k.lin2val(h))):(Q&&(o=k.val2lin(o)),o=K*(o-w)*N,h=(k.isRadial?o:C(o))+q+K*X+(v(h)?N*h:0)),h}toPixels(o,j){return this.translate(o,!1,!this.horiz,void 0,!0)+(j?0:this.pos)}toValue(o,j){return this.translate(o-(j?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(o){function j(J,it,dt){return lt!=="pass"&&(J<it||J>dt)&&(lt?J=m(J,it,dt):et=!0),J}const F=this,N=F.chart,Q=F.left,h=F.top,k=o.old,w=o.value,X=o.lineWidth,K=k&&N.oldChartHeight||N.chartHeight,q=k&&N.oldChartWidth||N.chartWidth,st=F.transB;let ot=o.translatedValue,lt=o.force,ht,ut,H,I,et;return o={value:w,lineWidth:X,old:k,force:lt,acrossPanes:o.acrossPanes,translatedValue:ot},l(this,"getPlotLinePath",o,function(J){ot=b(ot,F.translate(w,void 0,void 0,k)),ot=m(ot,-1e5,1e5),ht=H=Math.round(ot+st),ut=I=Math.round(K-ot-st),v(ot)?F.horiz?(ut=h,I=K-F.bottom,ht=H=j(ht,Q,Q+F.width)):(ht=Q,H=q-F.right,ut=I=j(ut,h,h+F.height)):(et=!0,lt=!1),J.path=et&&!lt?null:N.renderer.crispLine([["M",ht,ut],["L",H,I]],X||1)}),o.path}getLinearTickPositions(o,j,F){const N=C(Math.floor(j/o)*o);F=C(Math.ceil(F/o)*o);const Q=[];let h,k;if(C(N+o)===N&&(k=20),this.single)return[j];for(j=N;j<=F&&(Q.push(j),j=C(j+o,k),j!==h);)h=j;return Q}getMinorTickInterval(){const o=this.options;return o.minorTicks===!0?b(o.minorTickInterval,"auto"):o.minorTicks===!1?null:o.minorTickInterval}getMinorTickPositions(){var o=this.options;const j=this.tickPositions,F=this.minorTickInterval;var N=this.pointRangePadding||0;const Q=this.min-N;N=this.max+N;const h=N-Q;let k=[];if(h&&h/F<this.len/3){const w=this.logarithmic;if(w)this.paddedTicks.forEach(function(X,K,q){K&&k.push.apply(k,w.getLogTickPositions(F,q[K-1],q[K],!0))});else if(this.dateTime&&this.getMinorTickInterval()==="auto")k=k.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(F),Q,N,o.startOfWeek));else for(o=Q+(j[0]-Q)%F;o<=N&&o!==k[0];o+=F)k.push(o)}return k.length!==0&&this.trimTicks(k),k}adjustForMinRange(){const o=this.options,j=this.logarithmic;let F=this.min;var N=this.max;let Q,h;if(this.isXAxis&&typeof this.minRange>"u"&&!j)if(S(o.min)||S(o.max)||S(o.floor)||S(o.ceiling))this.minRange=null;else{var k=d(this.series.map(w=>{var X;return(w.xIncrement?(X=w.xData)===null||X===void 0?void 0:X.slice(0,2):w.xData)||[]}))||0;this.minRange=Math.min(5*k,this.dataMax-this.dataMin)}N-F<this.minRange&&(k=this.dataMax-this.dataMin>=this.minRange,h=this.minRange,N=(h-N+F)/2,Q=[F-N,b(o.min,F-N)],k&&(Q[2]=j?j.log2lin(this.dataMin):this.dataMin),F=L(Q),N=[F+h,b(o.max,F+h)],k&&(N[2]=j?j.log2lin(this.dataMax):this.dataMax),N=z(N),N-F<h&&(Q[0]=N-h,Q[1]=b(o.min,N-h),F=L(Q))),this.min=F,this.max=N}getClosest(){let o,j;if(this.categories)j=1;else{const F=[];this.series.forEach(function(N){var Q;const h=N.closestPointRange,k=N.visible||!N.chart.options.chart.ignoreHiddenSeries;((Q=N.xData)===null||Q===void 0?void 0:Q.length)===1?F.push(N.xData[0]):!N.noSharedTooltip&&S(h)&&k&&(j=S(j)?Math.min(j,h):h)}),F.length&&(F.sort((N,Q)=>N-Q),o=d([F]))}return o&&j?Math.min(o,j):o||j}nameToX(o){const j=f(this.options.categories),F=j?this.categories:this.names;let N=o.options.x,Q;return o.series.requireSorting=!1,S(N)||(N=this.options.uniqueNames&&F?j?F.indexOf(o.name):b(F.keys[o.name],-1):o.series.autoIncrement()),N===-1?!j&&F&&(Q=F.length):Q=N,typeof Q<"u"?(this.names[Q]=o.name,this.names.keys[o.name]=Q):o.x&&(Q=o.x),Q}updateNames(){const o=this,j=this.names;0<j.length&&(Object.keys(j.keys).forEach(function(F){delete j.keys[F]}),j.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(F){F.xIncrement=null,(!F.points||F.isDirtyData)&&(o.max=Math.max(o.max,F.xData.length-1),F.processData(),F.generatePoints()),F.data.forEach(function(N,Q){let h;N&&N.options&&typeof N.name<"u"&&(h=o.nameToX(N),typeof h<"u"&&h!==N.x&&(N.x=h,F.xData[Q]=h))})}))}setAxisTranslation(){const o=this,j=o.max-o.min;var F=o.linkedParent;const N=!!o.categories,Q=o.isXAxis;let h=o.axisPointRange||0,k,w=0,X=0,K=o.transA;(Q||N||h)&&(k=o.getClosest(),F?(w=F.minPointOffset,X=F.pointRangePadding):o.series.forEach(function(q){const st=N?1:Q?b(q.options.pointRange,k,0):o.axisPointRange||0,ot=q.options.pointPlacement;h=Math.max(h,st),(!o.single||N)&&(q=q.is("xrange")?!Q:Q,w=Math.max(w,q&&i(ot)?0:st/2),X=Math.max(X,q&&ot==="on"?0:st))}),F=o.ordinal&&o.ordinal.slope&&k?o.ordinal.slope/k:1,o.minPointOffset=w*=F,o.pointRangePadding=X*=F,o.pointRange=Math.min(h,o.single&&N?1:j),Q&&k&&(o.closestPointRange=k)),o.translationSlope=o.transA=K=o.staticScale||o.len/(j+X||1),o.transB=o.horiz?o.left:o.bottom,o.minPixelPadding=K*w,l(this,"afterSetAxisTranslation")}minFromRange(){return this.max-this.range}setTickInterval(o){var j=this.chart;const F=this.logarithmic,N=this.options,Q=this.isXAxis,h=this.isLinked,k=N.tickPixelInterval,w=this.categories,X=this.softThreshold;let K=N.maxPadding,q=N.minPadding,st=v(N.tickInterval)&&0<=N.tickInterval?N.tickInterval:void 0,ot=v(this.threshold)?this.threshold:null,lt,ht,ut;if(this.dateTime||w||h||this.getTickAmount(),ht=b(this.userMin,N.min),ut=b(this.userMax,N.max),h){this.linkedParent=j[this.coll][N.linkedTo];var H=this.linkedParent.getExtremes();this.min=b(H.min,H.dataMin),this.max=b(H.max,H.dataMax),N.type!==this.linkedParent.options.type&&T(11,1,j)}else X&&S(ot)&&(this.dataMin>=ot?(H=ot,q=0):this.dataMax<=ot&&(lt=ot,K=0)),this.min=b(ht,H,this.dataMin),this.max=b(ut,lt,this.dataMax);if(F&&(this.positiveValuesOnly&&!o&&0>=Math.min(this.min,b(this.dataMin,this.min))&&T(10,1,j),this.min=C(F.log2lin(this.min),16),this.max=C(F.log2lin(this.max),16)),this.range&&S(this.max)&&(this.userMin=this.min=ht=Math.max(this.dataMin,this.minFromRange()),this.userMax=ut=this.max,this.range=null),l(this,"foundExtremes"),this.beforePadding&&this.beforePadding(),this.adjustForMinRange(),!v(this.userMin)&&v(N.softMin)&&N.softMin<this.min&&(this.min=ht=N.softMin),!v(this.userMax)&&v(N.softMax)&&N.softMax>this.max&&(this.max=ut=N.softMax),!(w||this.axisPointRange||this.stacking&&this.stacking.usePercentage||h)&&S(this.min)&&S(this.max)&&(j=this.max-this.min)&&(!S(ht)&&q&&(this.min-=j*q),!S(ut)&&K&&(this.max+=j*K)),!v(this.userMin)&&v(N.floor)&&(this.min=Math.max(this.min,N.floor)),!v(this.userMax)&&v(N.ceiling)&&(this.max=Math.min(this.max,N.ceiling)),X&&S(this.dataMin)&&(ot=ot||0,!S(ht)&&this.min<ot&&this.dataMin>=ot?this.min=this.options.minRange?Math.min(ot,this.max-this.minRange):ot:!S(ut)&&this.max>ot&&this.dataMax<=ot&&(this.max=this.options.minRange?Math.max(ot,this.min+this.minRange):ot)),v(this.min)&&v(this.max)&&!this.chart.polar&&this.min>this.max&&(S(this.options.min)?this.max=this.min:S(this.options.max)&&(this.min=this.max)),this.tickInterval=this.min===this.max||typeof this.min>"u"||typeof this.max>"u"?1:h&&this.linkedParent&&!st&&k===this.linkedParent.options.tickPixelInterval?st=this.linkedParent.tickInterval:b(st,this.tickAmount?(this.max-this.min)/Math.max(this.tickAmount-1,1):void 0,w?1:(this.max-this.min)*k/Math.max(this.len,k)),Q&&!o){const I=this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max);this.series.forEach(function(et){et.forceCrop=et.forceCropping&&et.forceCropping(),et.processData(I)}),l(this,"postProcessData",{hasExtremesChanged:I})}this.setAxisTranslation(),l(this,"initialAxisTranslation"),this.pointRange&&!st&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval)),o=b(N.minTickInterval,this.dateTime&&!this.series.some(I=>I.noSharedTooltip)?this.closestPointRange:0),!st&&this.tickInterval<o&&(this.tickInterval=o),this.dateTime||this.logarithmic||st||(this.tickInterval=tt(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){var o=this.options;const j=o.tickPositions,F=o.tickPositioner;var N=this.getMinorTickInterval(),Q=this.hasVerticalPanning(),h=this.coll==="colorAxis";const k=(h||!Q)&&o.startOnTick;Q=(h||!Q)&&o.endOnTick,h=[];let w;if(this.tickmarkOffset=this.categories&&o.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.minorTickInterval=N==="auto"&&this.tickInterval?this.tickInterval/o.minorTicksPerMajor:N,this.single=this.min===this.max&&S(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||o.allowDecimals!==!1),j)h=j.slice();else if(v(this.min)&&v(this.max)){if(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)))if(this.dateTime)h=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,o.units),this.min,this.max,o.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0);else if(this.logarithmic)h=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else for(N=o=this.tickInterval;N<=2*o&&(h=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&h.length>this.tickAmount);)this.tickInterval=tt(this,N*=1.1);else h=[this.min,this.max],T(19,!1,this.chart);h.length>this.len&&(h=[h[0],h[h.length-1]],h[0]===h[1]&&(h.length=1)),F&&(this.tickPositions=h,(w=F.apply(this,[this.min,this.max]))&&(h=w))}this.tickPositions=h,this.paddedTicks=h.slice(0),this.trimTicks(h,k,Q),!this.isLinked&&v(this.min)&&v(this.max)&&(this.single&&2>h.length&&!this.categories&&!this.series.some(X=>X.is("heatmap")&&X.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),j||w||this.adjustTickAmount()),l(this,"afterSetTickPositions")}trimTicks(o,j,F){const N=o[0],Q=o[o.length-1],h=!this.isOrdinal&&this.minPointOffset||0;if(l(this,"trimTicks"),!this.isLinked){if(j&&N!==-1/0)this.min=N;else for(;this.min-h>o[0];)o.shift();if(F)this.max=Q;else for(;this.max+h<o[o.length-1];)o.pop();o.length===0&&S(N)&&!this.options.tickPositions&&o.push((Q+N)/2)}}alignToOthers(){const o=this,j=[this],F=o.options,N=this.coll==="yAxis"&&this.chart.options.chart.alignThresholds,Q=[];let h;if(o.thresholdAlignment=void 0,(this.chart.options.chart.alignTicks!==!1&&F.alignTicks||N)&&F.startOnTick!==!1&&F.endOnTick!==!1&&!o.logarithmic){const k=X=>{const{horiz:K,options:q}=X;return[K?q.left:q.top,q.width,q.height,q.pane].join()},w=k(this);this.chart[this.coll].forEach(function(X){const{series:K}=X;K.length&&K.some(q=>q.visible)&&X!==o&&k(X)===w&&(h=!0,j.push(X))})}if(h&&N){j.forEach(w=>{w=w.getThresholdAlignment(o),v(w)&&Q.push(w)});const k=1<Q.length?Q.reduce((w,X)=>w+X,0)/Q.length:void 0;j.forEach(w=>{w.thresholdAlignment=k})}return h}getThresholdAlignment(o){if((!v(this.dataMin)||this!==o&&this.series.some(j=>j.isDirty||j.isDirtyData))&&this.getSeriesExtremes(),v(this.threshold))return o=m((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1),this.options.reversed&&(o=1-o),o}getTickAmount(){const o=this.options,j=o.tickPixelInterval;let F=o.tickAmount;!S(o.tickInterval)&&!F&&this.len<j&&!this.isRadial&&!this.logarithmic&&o.startOnTick&&o.endOnTick&&(F=2),!F&&this.alignToOthers()&&(F=Math.ceil(this.len/j)+1),4>F&&(this.finalTickAmt=F,F=5),this.tickAmount=F}adjustTickAmount(){const o=this,{finalTickAmt:j,max:F,min:N,options:Q,tickPositions:h,tickAmount:k,thresholdAlignment:w}=o,X=h&&h.length;var K=b(o.threshold,o.softThreshold?0:null),q=o.tickInterval;let st;if(v(w)&&(st=.5>w?Math.ceil(w*(k-1)):Math.floor(w*(k-1)),Q.reversed&&(st=k-1-st)),o.hasData()&&v(N)&&v(F)){const ot=()=>{o.transA*=(X-1)/(k-1),o.min=Q.startOnTick?h[0]:Math.min(N,h[0]),o.max=Q.endOnTick?h[h.length-1]:Math.max(F,h[h.length-1])};if(v(st)&&v(o.threshold)){for(;h[st]!==K||h.length!==k||h[0]>N||h[h.length-1]<F;){for(h.length=0,h.push(o.threshold);h.length<k;)h[st]===void 0||h[st]>o.threshold?h.unshift(C(h[0]-q)):h.push(C(h[h.length-1]+q));if(q>8*o.tickInterval)break;q*=2}ot()}else if(X<k){for(;h.length<k;)h.length%2||N===K?h.push(C(h[h.length-1]+q)):h.unshift(C(h[0]-q));ot()}if(S(j)){for(q=K=h.length;q--;)(j===3&&q%2===1||2>=j&&0<q&&q<K-1)&&h.splice(q,1);o.finalTickAmt=void 0}}}setScale(){let o=!1,j=!1;this.series.forEach(function(N){o=o||N.isDirtyData||N.isDirty,j=j||N.xAxis&&N.xAxis.isDirty||!1}),this.setAxisSize();const F=this.len!==(this.old&&this.old.len);F||o||j||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(this.stacking&&(this.stacking.resetStacks(),this.stacking.buildStacks()),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),this.isDirty||(this.isDirty=F||this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max))):this.stacking&&this.stacking.cleanStacks(),o&&this.panningState&&(this.panningState.isDirty=!0),l(this,"afterSetScale")}setExtremes(o,j,F,N,Q){const h=this,k=h.chart;F=b(F,!0),h.series.forEach(function(w){delete w.kdTree}),Q=A(Q,{min:o,max:j}),l(h,"setExtremes",Q,function(){h.userMin=o,h.userMax=j,h.eventArgs=Q,F&&k.redraw(N)})}zoom(o,j){const F=this,N=this.dataMin,Q=this.dataMax,h=this.options,k=Math.min(N,b(h.min,N)),w=Math.max(Q,b(h.max,Q));return o={newMin:o,newMax:j},l(this,"zoom",o,function(X){let K=X.newMin,q=X.newMax;(K!==F.min||q!==F.max)&&(F.allowZoomOutside||(S(N)&&(K<k&&(K=k),K>w&&(K=w)),S(Q)&&(q<k&&(q=k),q>w&&(q=w))),F.displayBtn=typeof K<"u"||typeof q<"u",F.setExtremes(K,q,!1,void 0,{trigger:"zoom"})),X.zoomed=!0}),o.zoomed}setAxisSize(){const o=this.chart;var j=this.options;const F=j.offsets||[0,0,0,0],N=this.horiz,Q=this.width=Math.round(B(b(j.width,o.plotWidth-F[3]+F[1]),o.plotWidth)),h=this.height=Math.round(B(b(j.height,o.plotHeight-F[0]+F[2]),o.plotHeight)),k=this.top=Math.round(B(b(j.top,o.plotTop+F[0]),o.plotHeight,o.plotTop));j=this.left=Math.round(B(b(j.left,o.plotLeft+F[3]),o.plotWidth,o.plotLeft)),this.bottom=o.chartHeight-h-k,this.right=o.chartWidth-Q-j,this.len=Math.max(N?Q:h,0),this.pos=N?j:k}getExtremes(){const o=this.logarithmic;return{min:o?C(o.lin2log(this.min)):this.min,max:o?C(o.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(o){var j=this.logarithmic;const F=j?j.lin2log(this.min):this.min;return j=j?j.lin2log(this.max):this.max,o===null||o===-1/0?o=F:o===1/0?o=j:F>o?o=F:j<o&&(o=j),this.translate(o,0,1,0,1)}autoLabelAlign(o){const j=(b(o,0)-90*this.side+720)%360;return o={align:"center"},l(this,"autoLabelAlign",o,function(F){15<j&&165>j?F.align="right":195<j&&345>j&&(F.align="left")}),o.align}tickSize(o){const j=this.options,F=b(j[o==="tick"?"tickWidth":"minorTickWidth"],o==="tick"&&this.isXAxis&&!this.categories?1:0);let N=j[o==="tick"?"tickLength":"minorTickLength"],Q;return F&&N&&(j[o+"Position"]==="inside"&&(N=-N),Q=[N,F]),o={tickSize:Q},l(this,"afterTickSize",o),o.tickSize}labelMetrics(){const o=this.chart.renderer;var j=this.ticks;return j=j[Object.keys(j)[0]]||{},this.chart.renderer.fontMetrics(j.label||j.movedLabel||o.box)}unsquish(){const o=this.options.labels;var j=this.horiz;const F=this.tickInterval,N=this.len/(((this.categories?1:0)+this.max-this.min)/F),Q=o.rotation,h=.75*this.labelMetrics().h,k=Math.max(this.max-this.min,0),w=function(ot){let lt=ot/(N||1);return lt=1<lt?Math.ceil(lt):1,lt*F>k&&ot!==1/0&&N!==1/0&&k&&(lt=Math.ceil(k/F)),C(lt*F)};let X=F,K,q=Number.MAX_VALUE,st;if(j){if(o.staggerLines||(v(Q)?st=[Q]:N<o.autoRotationLimit&&(st=o.autoRotation)),st){let ot;for(const lt of st)(lt===Q||lt&&-90<=lt&&90>=lt)&&(j=w(Math.abs(h/Math.sin(M*lt))),ot=j+Math.abs(lt/360),ot<q&&(q=ot,K=lt,X=j))}}else X=w(h);return this.autoRotation=st,this.labelRotation=b(K,v(Q)?Q:0),o.step?F:X}getSlotWidth(o){const j=this.chart,F=this.horiz,N=this.options.labels,Q=Math.max(this.tickPositions.length-(this.categories?0:1),1),h=j.margin[3];if(o&&v(o.slotWidth))return o.slotWidth;if(F&&2>N.step)return N.rotation?0:(this.staggerLines||1)*this.len/Q;if(!F){if(o=N.style.width,o!==void 0)return parseInt(String(o),10);if(h)return h-j.spacing[3]}return .33*j.chartWidth}renderUnsquish(){const o=this.chart,j=o.renderer,F=this.tickPositions,N=this.ticks,Q=this.options.labels,h=Q.style,k=this.horiz,w=this.getSlotWidth();var X=Math.max(1,Math.round(w-2*Q.padding));const K={},q=this.labelMetrics(),st=h.textOverflow;let ot,lt,ht=0;if(i(Q.rotation)||(K.rotation=Q.rotation||0),F.forEach(function(H){H=N[H],H.movedLabel&&H.replaceMovedLabel(),H&&H.label&&H.label.textPxLength>ht&&(ht=H.label.textPxLength)}),this.maxLabelLength=ht,this.autoRotation)ht>X&&ht>q.h?K.rotation=this.labelRotation:this.labelRotation=0;else if(w&&(ot=X,!st))for(lt="clip",X=F.length;!k&&X--;){var ut=F[X];(ut=N[ut].label)&&(ut.styles&&ut.styles.textOverflow==="ellipsis"?ut.css({textOverflow:"clip"}):ut.textPxLength>w&&ut.css({width:w+"px"}),ut.getBBox().height>this.len/F.length-(q.h-q.f)&&(ut.specificTextOverflow="ellipsis"))}K.rotation&&(ot=ht>.5*o.chartHeight?.33*o.chartHeight:ht,st||(lt="ellipsis")),(this.labelAlign=Q.align||this.autoLabelAlign(this.labelRotation))&&(K.align=this.labelAlign),F.forEach(function(H){const I=(H=N[H])&&H.label,et=h.width,J={};I&&(I.attr(K),H.shortenLabel?H.shortenLabel():ot&&!et&&h.whiteSpace!=="nowrap"&&(ot<I.textPxLength||I.element.tagName==="SPAN")?(J.width=ot+"px",st||(J.textOverflow=I.specificTextOverflow||lt),I.css(J)):I.styles&&I.styles.width&&!J.width&&!et&&I.css({width:null}),delete I.specificTextOverflow,H.rotation=K.rotation)},this),this.tickRotCorr=j.rotCorr(q.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(o){return o.hasData()})||this.options.showEmpty&&S(this.min)&&S(this.max)}addTitle(o){const j=this.chart.renderer,F=this.horiz,N=this.opposite,Q=this.options.title,h=this.chart.styledMode;let k;this.axisTitle||((k=Q.textAlign)||(k=(F?{low:"left",middle:"center",high:"right"}:{low:N?"right":"left",middle:"center",high:N?"left":"right"})[Q.align]),this.axisTitle=j.text(Q.text||"",0,0,Q.useHTML).attr({zIndex:7,rotation:Q.rotation,align:k}).addClass("highcharts-axis-title"),h||this.axisTitle.css(t(Q.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),h||Q.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[o?"show":"hide"](o)}generateTick(o){const j=this.ticks;j[o]?j[o].addLabel():j[o]=new G(this,o)}getOffset(){const o=this,{chart:j,horiz:F,options:N,side:Q,ticks:h,tickPositions:k,coll:w,axisParent:X}=o,K=j.renderer,q=j.inverted&&!o.isZAxis?[1,0,3,2][Q]:Q;var st=o.hasData();const ot=N.title;var lt=N.labels;const ht=v(N.crossing);var ut=j.axisOffset;const H=j.clipOffset,I=[-1,1,1,-1][Q],et=N.className;let J,it=0,dt;var ct=0;let vt=0;if(o.showAxis=J=st||N.showEmpty,o.staggerLines=o.horiz&<.staggerLines||void 0,!o.axisGroup){const yt=(gt,mt,_t)=>K.g(gt).attr({zIndex:_t}).addClass(`highcharts-${w.toLowerCase()}${mt} `+(this.isRadial?`highcharts-radial-axis${mt} `:"")+(et||"")).add(X);o.gridGroup=yt("grid","-grid",N.gridZIndex),o.axisGroup=yt("axis","",N.zIndex),o.labelGroup=yt("axis-labels","-labels",lt.zIndex)}st||o.isLinked?(k.forEach(function(yt){o.generateTick(yt)}),o.renderUnsquish(),o.reserveSpaceDefault=Q===0||Q===2||{1:"left",3:"right"}[Q]===o.labelAlign,b(lt.reserveSpace,ht?!1:null,o.labelAlign==="center"?!0:null,o.reserveSpaceDefault)&&k.forEach(function(yt){vt=Math.max(h[yt].getLabelSize(),vt)}),o.staggerLines&&(vt*=o.staggerLines),o.labelOffset=vt*(o.opposite?-1:1)):u(h,function(yt,gt){yt.destroy(),delete h[gt]}),ot&&ot.text&&ot.enabled!==!1&&(o.addTitle(J),J&&!ht&&ot.reserveSpace!==!1&&(o.titleOffset=it=o.axisTitle.getBBox()[F?"height":"width"],dt=ot.offset,ct=S(dt)?0:b(ot.margin,F?5:10))),o.renderLine(),o.offset=I*b(N.offset,ut[Q]?ut[Q]+(N.margin||0):0),o.tickRotCorr=o.tickRotCorr||{x:0,y:0},st=Q===0?-o.labelMetrics().h:Q===2?o.tickRotCorr.y:0,ct=Math.abs(vt)+ct,vt&&(ct=ct-st+I*(F?b(lt.y,o.tickRotCorr.y+I*lt.distance):b(lt.x,I*lt.distance))),o.axisTitleMargin=b(dt,ct),o.getMaxLabelDimensions&&(o.maxLabelDimensions=o.getMaxLabelDimensions(h,k)),w!=="colorAxis"&&(lt=this.tickSize("tick"),ut[Q]=Math.max(ut[Q],(o.axisTitleMargin||0)+it+I*o.offset,ct,k&&k.length&<?lt[0]+I*o.offset:0),ut=!o.axisLine||N.offset?0:2*Math.floor(o.axisLine.strokeWidth()/2),H[q]=Math.max(H[q],ut)),l(this,"afterGetOffset")}getLinePath(o){const j=this.chart,F=this.opposite;var N=this.offset;const Q=this.horiz,h=this.left+(F?this.width:0)+N;return N=j.chartHeight-this.bottom-(F?this.height:0)+N,F&&(o*=-1),j.renderer.crispLine([["M",Q?this.left:h,Q?N:this.top],["L",Q?j.chartWidth-this.right:h,Q?N:j.chartHeight-this.bottom]],o)}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(o){var j=this.horiz,F=this.left;const N=this.top;var Q=this.len;const h=this.options.title,k=j?F:N,w=this.opposite,X=this.offset,K=h.x,q=h.y,st=this.chart.renderer.fontMetrics(o);return o=o?Math.max(o.getBBox(!1,0).height-st.h-1,0):0,Q={low:k+(j?0:Q),middle:k+Q/2,high:k+(j?Q:0)}[h.align],F=(j?N+this.height:F)+(j?1:-1)*(w?-1:1)*(this.axisTitleMargin||0)+[-o,o,st.f,-o][this.side],j={x:j?Q+K:F+(w?this.width:0)+X+K,y:j?F+q-(w?this.height:0)+X:Q+q},l(this,"afterGetTitlePosition",{titlePosition:j}),j}renderMinorTick(o,j){const F=this.minorTicks;F[o]||(F[o]=new G(this,o,"minor")),j&&F[o].isNew&&F[o].render(null,!0),F[o].render(null,!1,1)}renderTick(o,j,F){const N=this.ticks;(!this.isLinked||o>=this.min&&o<=this.max||this.grid&&this.grid.isColumn)&&(N[o]||(N[o]=new G(this,o)),F&&N[o].isNew&&N[o].render(j,!0,-1),N[o].render(j))}render(){const o=this,j=o.chart,F=o.logarithmic,N=o.options,Q=o.isLinked,h=o.tickPositions,k=o.axisTitle,w=o.ticks,X=o.minorTicks,K=o.alternateBands,q=N.stackLabels,st=N.alternateGridColor;var ot=N.crossing;const lt=o.tickmarkOffset,ht=o.axisLine,ut=o.showAxis,H=$(j.renderer.globalAnimation);let I,et;if(o.labelEdge.length=0,o.overlap=!1,[w,X,K].forEach(function(J){u(J,function(it){it.isActive=!1})}),v(ot)){const J=this.isXAxis?j.yAxis[0]:j.xAxis[0],it=[1,-1,-1,1][this.side];J&&(ot=J.toPixels(ot,!0),o.horiz&&(ot=J.len-ot),o.offset=it*ot)}if(o.hasData()||Q){const J=o.chart.hasRendered&&o.old&&v(o.old.min);o.minorTickInterval&&!o.categories&&o.getMinorTickPositions().forEach(function(it){o.renderMinorTick(it,J)}),h.length&&(h.forEach(function(it,dt){o.renderTick(it,dt,J)}),lt&&(o.min===0||o.single)&&(w[-1]||(w[-1]=new G(o,-1,null,!0)),w[-1].render(-1))),st&&h.forEach(function(it,dt){et=typeof h[dt+1]<"u"?h[dt+1]+lt:o.max-lt,dt%2===0&&it<o.max&&et<=o.max+(j.polar?-lt:lt)&&(K[it]||(K[it]=new Y.PlotLineOrBand(o)),I=it+lt,K[it].options={from:F?F.lin2log(I):I,to:F?F.lin2log(et):et,color:st,className:"highcharts-alternate-grid"},K[it].render(),K[it].isActive=!0)}),o._addedPlotLB||(o._addedPlotLB=!0,(N.plotLines||[]).concat(N.plotBands||[]).forEach(function(it){o.addPlotBandOrLine(it)}))}[w,X,K].forEach(function(J){const it=[],dt=H.duration;u(J,function(ct,vt){ct.isActive||(ct.render(vt,!1,0),ct.isActive=!1,it.push(vt))}),Z(function(){let ct=it.length;for(;ct--;)J[it[ct]]&&!J[it[ct]].isActive&&(J[it[ct]].destroy(),delete J[it[ct]])},J!==K&&j.hasRendered&&dt?dt:0)}),ht&&(ht[ht.isPlaced?"animate":"attr"]({d:this.getLinePath(ht.strokeWidth())}),ht.isPlaced=!0,ht[ut?"show":"hide"](ut)),k&&ut&&(k[k.isNew?"attr":"animate"](o.getTitlePosition(k)),k.isNew=!1),q&&q.enabled&&o.stacking&&o.stacking.renderStackTotals(),o.old={len:o.len,max:o.max,min:o.min,transA:o.transA,userMax:o.userMax,userMin:o.userMin},o.isDirty=!1,l(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(o){o.render()})),this.series.forEach(function(o){o.isDirty=!0})}getKeepProps(){return this.keepProps||at.keepProps}destroy(o){const j=this,F=j.plotLinesAndBands,N=this.eventOptions;if(l(this,"destroy",{keepEvents:o}),o||c(j),[j.ticks,j.minorTicks,j.alternateBands].forEach(function(Q){y(Q)}),F)for(o=F.length;o--;)F[o].destroy();"axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(Q){j[Q]&&(j[Q]=j[Q].destroy())});for(const Q in j.plotLinesAndBandsGroups)j.plotLinesAndBandsGroups[Q]=j.plotLinesAndBandsGroups[Q].destroy();u(j,function(Q,h){j.getKeepProps().indexOf(h)===-1&&delete j[h]}),this.eventOptions=N}drawCrosshair(o,j){const F=this.crosshair;var N=b(F&&F.snap,!0);const Q=this.chart;let h,k=this.cross;if(l(this,"drawCrosshair",{e:o,point:j}),o||(o=this.cross&&this.cross.e),F&&(S(j)||!N)!==!1){if(N?S(j)&&(h=b(this.coll!=="colorAxis"?j.crosshairPos:null,this.isXAxis?j.plotX:this.len-j.plotY)):h=o&&(this.horiz?o.chartX-this.pos:this.len-o.chartY+this.pos),S(h)){var w={value:j&&(this.isXAxis?j.x:b(j.stackY,j.y)),translatedValue:h};Q.polar&&A(w,{isCrosshair:!0,chartX:o&&o.chartX,chartY:o&&o.chartY,point:j}),w=this.getPlotLinePath(w)||null}if(!S(w)){this.hideCrosshair();return}N=this.categories&&!this.isRadial,k||(this.cross=k=Q.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(N?"category ":"thin ")+(F.className||"")).attr({zIndex:b(F.zIndex,2)}).add(),Q.styledMode||(k.attr({stroke:F.color||(N?O.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":b(F.width,1)}).css({"pointer-events":"none"}),F.dashStyle&&k.attr({dashstyle:F.dashStyle}))),k.show().attr({d:w}),N&&!F.width&&k.attr({"stroke-width":this.transA}),this.cross.e=o}else this.hideCrosshair();l(this,"afterDrawCrosshair",{e:o,point:j})}hideCrosshair(){this.cross&&this.cross.hide(),l(this,"afterHideCrosshair")}hasVerticalPanning(){const o=this.chart.options.chart.panning;return!!(o&&o.enabled&&/y/.test(o.type))}update(o,j){const F=this.chart;o=t(this.userOptions,o),this.destroy(!0),this.init(F,o),F.isDirtyBox=!0,b(j,!0)&&F.redraw()}remove(o){const j=this.chart,F=this.coll,N=this.series;let Q=N.length;for(;Q--;)N[Q]&&N[Q].remove(!1);E(j.axes,this),E(j[F]||[],this),j.orderItems(F),this.destroy(),j.isDirtyBox=!0,b(o,!0)&&j.redraw()}setTitle(o,j){this.update({title:o},j)}setCategories(o,j){this.update({categories:o},j)}}return at.defaultOptions=g.defaultXAxisOptions,at.keepProps="coll extKey hcEvents names series userMax userMin".split(" "),at}),n(r,"Core/Axis/DateTimeAxis.js",[r["Core/Utilities.js"]],function(p){const{addEvent:g,getMagnitude:O,normalizeTickInterval:U,timeUnits:V}=p;var Y;return function(G){function D(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function $(M){M.userOptions.type!=="datetime"?this.dateTime=void 0:this.dateTime||(this.dateTime=new _(this))}const R=[];G.compose=function(M){return p.pushUnique(R,M)&&(M.keepProps.push("dateTime"),M.prototype.getTimeTicks=D,g(M,"init",$)),M};class _{constructor(L){this.axis=L}normalizeTimeTickInterval(L,z){const m=z||[["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]];z=m[m.length-1];let C=V[z[0]],S=z[1],y;for(y=0;y<m.length&&(z=m[y],C=V[z[0]],S=z[1],!(m[y+1]&&L<=(C*S[S.length-1]+V[m[y+1][0]])/2));y++);return C===V.year&&L<5*C&&(S=[1,2,5]),L=U(L/C,S,z[0]==="year"?Math.max(O(L/C),1):1),{unitRange:C,count:L,unitName:z[0]}}getXDateFormat(L,z){const{axis:m}=this,C=m.chart.time;return m.closestPointRange?C.getDateFormat(m.closestPointRange,L,m.options.startOfWeek,z)||C.resolveDTLFormat(z.year).main:C.resolveDTLFormat(z.day).main}}G.Additions=_}(Y||(Y={})),Y}),n(r,"Core/Axis/LogarithmicAxis.js",[r["Core/Utilities.js"]],function(p){const{addEvent:g,normalizeTickInterval:O,pick:U}=p;var V;return function(Y){function G(_){let M=this.logarithmic;_.userOptions.type!=="logarithmic"?this.logarithmic=void 0:M||(this.logarithmic=new R(this))}function D(){const _=this.logarithmic;_&&(this.lin2val=function(M){return _.lin2log(M)},this.val2lin=function(M){return _.log2lin(M)})}const $=[];Y.compose=function(_){return p.pushUnique($,_)&&(_.keepProps.push("logarithmic"),g(_,"init",G),g(_,"afterInit",D)),_};class R{constructor(M){this.axis=M}getLogTickPositions(M,L,z,m){const C=this.axis;var S=C.len,y=C.options;let E=[];if(m||(this.minorAutoInterval=void 0),.5<=M)M=Math.round(M),E=C.getLinearTickPositions(M,L,z);else if(.08<=M){y=Math.floor(L);let T,A,l,d,x;for(S=.3<M?[1,2,4]:.15<M?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];y<z+1&&!x;y++)for(A=S.length,T=0;T<A&&!x;T++)l=this.log2lin(this.lin2log(y)*S[T]),l>L&&(!m||d<=z)&&typeof d<"u"&&E.push(d),d>z&&(x=!0),d=l}else L=this.lin2log(L),z=this.lin2log(z),M=m?C.getMinorTickInterval():y.tickInterval,M=U(M==="auto"?null:M,this.minorAutoInterval,y.tickPixelInterval/(m?5:1)*(z-L)/((m?S/C.tickPositions.length:S)||1)),M=O(M),E=C.getLinearTickPositions(M,L,z).map(this.log2lin),m||(this.minorAutoInterval=M/5);return m||(C.tickInterval=M),E}lin2log(M){return Math.pow(10,M)}log2lin(M){return Math.log(M)/Math.LN10}}Y.Additions=R}(V||(V={})),V}),n(r,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[r["Core/Utilities.js"]],function(p){const{erase:g,extend:O,isNumber:U}=p;var V;return function(Y){function G(C){return this.addPlotBandOrLine(C,"plotBands")}function D(C,S){const y=this.userOptions;let E=new m(this,C);if(this.visible&&(E=E.render()),E){if(this._addedPlotLB||(this._addedPlotLB=!0,(y.plotLines||[]).concat(y.plotBands||[]).forEach(T=>{this.addPlotBandOrLine(T)})),S){const T=y[S]||[];T.push(C),y[S]=T}this.plotLinesAndBands.push(E)}return E}function $(C){return this.addPlotBandOrLine(C,"plotLines")}function R(C,S,y=this.options){const E=this.getPlotLinePath({value:S,force:!0,acrossPanes:y.acrossPanes}),T=[],A=this.horiz;S=!U(this.min)||!U(this.max)||C<this.min&&S<this.min||C>this.max&&S>this.max,C=this.getPlotLinePath({value:C,force:!0,acrossPanes:y.acrossPanes}),y=1;let l;if(C&&E)for(S&&(l=C.toString()===E.toString(),y=0),S=0;S<C.length;S+=2){const d=C[S],x=C[S+1],f=E[S],v=E[S+1];d[0]!=="M"&&d[0]!=="L"||x[0]!=="M"&&x[0]!=="L"||f[0]!=="M"&&f[0]!=="L"||v[0]!=="M"&&v[0]!=="L"||(A&&f[1]===d[1]?(f[1]+=y,v[1]+=y):A||f[2]!==d[2]||(f[2]+=y,v[2]+=y),T.push(["M",d[1],d[2]],["L",x[1],x[2]],["L",v[1],v[2]],["L",f[1],f[2]],["Z"])),T.isFlat=l}return T}function _(C){this.removePlotBandOrLine(C)}function M(C){const S=this.plotLinesAndBands,y=this.options,E=this.userOptions;if(S){let T=S.length;for(;T--;)S[T].id===C&&S[T].destroy();[y.plotLines||[],E.plotLines||[],y.plotBands||[],E.plotBands||[]].forEach(function(A){for(T=A.length;T--;)(A[T]||{}).id===C&&g(A,A[T])})}}function L(C){this.removePlotBandOrLine(C)}const z=[];let m;Y.compose=function(C,S){return m||(m=C),p.pushUnique(z,S)&&O(S.prototype,{addPlotBand:G,addPlotLine:$,addPlotBandOrLine:D,getPlotBandPath:R,removePlotBand:_,removePlotLine:L,removePlotBandOrLine:M}),S}}(V||(V={})),V}),n(r,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[r["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],r["Core/Utilities.js"]],function(p,g){const{arrayMax:O,arrayMin:U,defined:V,destroyObjectProperties:Y,erase:G,fireEvent:D,merge:$,objectEach:R,pick:_}=g;class M{static compose(z){return p.compose(M,z)}constructor(z,m){this.axis=z,m&&(this.options=m,this.id=m.id)}render(){D(this,"render");const z=this,m=z.axis,C=m.horiz;var S=m.logarithmic;const y=z.options,E=y.color,T=_(y.zIndex,0),A=y.events,l={},d=m.chart.renderer;let x=y.label,f=z.label,v=y.to,i=y.from,t=y.value,s=z.svgElem;var u=[];const b=V(i)&&V(v);u=V(t);const B=!s,c={class:"highcharts-plot-"+(b?"band ":"line ")+(y.className||"")};let P=b?"bands":"lines";if(S&&(i=S.log2lin(i),v=S.log2lin(v),t=S.log2lin(t)),m.chart.styledMode||(u?(c.stroke=E||"#999999",c["stroke-width"]=_(y.width,1),y.dashStyle&&(c.dashstyle=y.dashStyle)):b&&(c.fill=E||"#e6e9ff",y.borderWidth&&(c.stroke=y.borderColor,c["stroke-width"]=y.borderWidth))),l.zIndex=T,P+="-"+T,(S=m.plotLinesAndBandsGroups[P])||(m.plotLinesAndBandsGroups[P]=S=d.g("plot-"+P).attr(l).add()),B&&(z.svgElem=s=d.path().attr(c).add(S)),u)u=m.getPlotLinePath({value:t,lineWidth:s.strokeWidth(),acrossPanes:y.acrossPanes});else if(b)u=m.getPlotBandPath(i,v,y);else return;return!z.eventsAdded&&A&&(R(A,function(Z,tt){s.on(tt,function(at){A[tt].apply(z,[at])})}),z.eventsAdded=!0),(B||!s.d)&&u&&u.length?s.attr({d:u}):s&&(u?(s.show(),s.animate({d:u})):s.d&&(s.hide(),f&&(z.label=f=f.destroy()))),x&&(V(x.text)||V(x.formatter))&&u&&u.length&&0<m.width&&0<m.height&&!u.isFlat?(x=$({align:C&&b&&"center",x:C?!b&&4:10,verticalAlign:!C&&b&&"middle",y:C?b?16:10:b?6:-4,rotation:C&&!b&&90},x),this.renderLabel(x,u,b,T)):f&&f.hide(),z}renderLabel(z,m,C,S){const y=this.axis;var E=y.chart.renderer;let T=this.label;T||(this.label=T=E.text(this.getLabelText(z),0,0,z.useHTML).attr({align:z.textAlign||z.align,rotation:z.rotation,class:"highcharts-plot-"+(C?"band":"line")+"-label "+(z.className||""),zIndex:S}).add(),y.chart.styledMode||T.css($({fontSize:"0.8em",textOverflow:"ellipsis"},z.style))),S=m.xBounds||[m[0][1],m[1][1],C?m[2][1]:m[0][1]],m=m.yBounds||[m[0][2],m[1][2],C?m[2][2]:m[0][2]],C=U(S),E=U(m),T.align(z,!1,{x:C,y:E,width:O(S)-C,height:O(m)-E}),T.alignValue&&T.alignValue!=="left"||(z=z.clip?y.width:y.chart.chartWidth,T.css({width:(T.rotation===90?y.height-(T.alignAttr.y-y.top):z-(T.alignAttr.x-y.left))+"px"})),T.show(!0)}getLabelText(z){return V(z.formatter)?z.formatter.call(this):z.text}destroy(){G(this.axis.plotLinesAndBands,this),delete this.axis,Y(this)}}return M}),n(r,"Core/Tooltip.js",[r["Core/Templating.js"],r["Core/Globals.js"],r["Core/Renderer/RendererUtilities.js"],r["Core/Renderer/RendererRegistry.js"],r["Core/Utilities.js"]],function(p,g,O,U,V){const{format:Y}=p,{doc:G,isSafari:D}=g,{distribute:$}=O,{addEvent:R,clamp:_,css:M,discardElement:L,extend:z,fireEvent:m,isArray:C,isNumber:S,isString:y,merge:E,pick:T,splat:A,syncTimeout:l}=V;class d{constructor(f,v){this.allowShared=!0,this.container=void 0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=f,this.init(f,v)}bodyFormatter(f){return f.map(function(v){const i=v.series.tooltipOptions;return(i[(v.point.formatPrefix||"point")+"Formatter"]||v.point.tooltipFormatter).call(v.point,i[(v.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(f){this.chart.series.forEach(function(v){const i=v&&v.tt;i&&(!i.isActive||f?v.tt=i.destroy():i.isActive=!1)})}defaultFormatter(f){const v=this.points||A(this);let i;return i=[f.tooltipFooterHeaderFormatter(v[0])],i=i.concat(f.bodyFormatter(v)),i.push(f.tooltipFooterHeaderFormatter(v[0],!0)),i}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),L(this.container)),V.clearTimeout(this.hideTimer),V.clearTimeout(this.tooltipTimeout)}getAnchor(f,v){var i=this.chart;const t=i.pointer,s=i.inverted,u=i.plotTop;if(i=i.plotLeft,f=A(f),f[0].series&&f[0].series.yAxis&&!f[0].series.yAxis.options.reversedStacks&&(f=f.slice().reverse()),this.followPointer&&v)typeof v.chartX>"u"&&(v=t.normalize(v)),f=[v.chartX-i,v.chartY-u];else if(f[0].tooltipPos)f=f[0].tooltipPos;else{let b=0,B=0;f.forEach(function(c){(c=c.pos(!0))&&(b+=c[0],B+=c[1])}),b/=f.length,B/=f.length,this.shared&&1<f.length&&v&&(s?b=v.chartX:B=v.chartY),f=[b-i,B-u]}return f.map(Math.round)}getClassName(f,v,i){const t=f.series,s=t.options;return[this.options.className,"highcharts-label",i&&"highcharts-tooltip-header",v?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+T(f.colorIndex,t.colorIndex),s&&s.className].filter(y).join(" ")}getLabel(){const f=this,v=this.chart.styledMode,i=this.options,t=this.split&&this.allowShared,s=i.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none");let u,b=this.chart.renderer;if(this.label){var B=!this.label.hasClass("highcharts-label");(!t&&B||t&&!B)&&this.destroy()}if(!this.label){if(this.outside){B=this.chart.options.chart.style;const c=U.getRendererType();this.container=u=g.doc.createElement("div"),u.className="highcharts-tooltip-container",M(u,{position:"absolute",top:"1px",pointerEvents:s,zIndex:Math.max(this.options.style.zIndex||0,(B&&B.zIndex||0)+3)}),g.doc.body.appendChild(u),this.renderer=b=new c(u,0,0,B,void 0,void 0,b.styledMode)}if(t?this.label=b.g("tooltip"):(this.label=b.label("",0,0,i.shape,void 0,void 0,i.useHTML,void 0,"tooltip").attr({padding:i.padding,r:i.borderRadius}),v||this.label.attr({fill:i.backgroundColor,"stroke-width":i.borderWidth||0}).css(i.style).css({pointerEvents:s})),f.outside){const c=this.label,{xSetter:P,ySetter:Z}=c;c.xSetter=function(tt){P.call(c,f.distance),u.style.left=tt+"px"},c.ySetter=function(tt){Z.call(c,f.distance),u.style.top=tt+"px"}}this.label.attr({zIndex:8}).shadow(i.shadow).add()}return this.label}getPlayingField(){const{body:f,documentElement:v}=G,{chart:i,distance:t,outside:s}=this;return{width:s?Math.max(f.scrollWidth,v.scrollWidth,f.offsetWidth,v.offsetWidth,v.clientWidth)-2*t:i.chartWidth,height:s?Math.max(f.scrollHeight,v.scrollHeight,f.offsetHeight,v.offsetHeight,v.clientHeight):i.chartHeight}}getPosition(f,v,i){const t=this.chart,s=this.distance,u={},b=t.inverted&&i.h||0,B=this.outside;var c=this.getPlayingField();const P=c.width,Z=c.height,tt=t.pointer.getChartPosition();c=k=>{const w=k==="x";return[k,w?P:Z,w?f:v].concat(B?[w?f*tt.scaleX:v*tt.scaleY,w?tt.left-s+(i.plotX+t.plotLeft)*tt.scaleX:tt.top-s+(i.plotY+t.plotTop)*tt.scaleY,0,w?P:Z]:[w?f:v,w?i.plotX+t.plotLeft:i.plotY+t.plotTop,w?t.plotLeft:t.plotTop,w?t.plotLeft+t.plotWidth:t.plotTop+t.plotHeight])};let at=c("y"),W=c("x"),o;c=!!i.negative,!t.polar&&t.hoverSeries&&t.hoverSeries.yAxis&&t.hoverSeries.yAxis.reversed&&(c=!c);const j=!this.followPointer&&T(i.ttBelow,!t.inverted===c),F=function(k,w,X,K,q,st,ot){const lt=B?k==="y"?s*tt.scaleY:s*tt.scaleX:s,ht=(X-K)/2,ut=K<q-s,H=q+s+K<w,I=q-lt-X+ht;if(q=q+lt-ht,j&&H)u[k]=q;else if(!j&&ut)u[k]=I;else if(ut)u[k]=Math.min(ot-K,0>I-b?I:I-b);else if(H)u[k]=Math.max(st,q+b+X>w?q:q+b);else return!1},N=function(k,w,X,K,q){let st;return q<s||q>w-s?st=!1:u[k]=q<X/2?1:q>w-K/2?w-K-2:q-X/2,st},Q=function(k){const w=at;at=W,W=w,o=k},h=function(){F.apply(0,at)!==!1?N.apply(0,W)!==!1||o||(Q(!0),h()):o?u.x=u.y=0:(Q(!0),h())};return(t.inverted||1<this.len)&&Q(),h(),u}hide(f){const v=this;V.clearTimeout(this.hideTimer),f=T(f,this.options.hideDelay),this.isHidden||(this.hideTimer=l(function(){v.getLabel().fadeOut(f&&void 0),v.isHidden=!0},f))}init(f,v){this.chart=f,this.options=v,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=v.split&&!f.inverted&&!f.polar,this.shared=v.shared||this.split,this.outside=T(v.outside,!(!f.scrollablePixelsX&&!f.scrollablePixelsY))}shouldStickOnContact(f){return!(this.followPointer||!this.options.stickOnContact||f&&!this.chart.pointer.inClass(f.target,"highcharts-tooltip"))}move(f,v,i,t){const s=this,u=s.now,b=s.options.animation!==!1&&!s.isHidden&&(1<Math.abs(f-u.x)||1<Math.abs(v-u.y)),B=s.followPointer||1<s.len;z(u,{x:b?(2*u.x+f)/3:f,y:b?(u.y+v)/2:v,anchorX:B?void 0:b?(2*u.anchorX+i)/3:i,anchorY:B?void 0:b?(u.anchorY+t)/2:t}),s.getLabel().attr(u),s.drawTracker(),b&&(V.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){s&&s.move(f,v,i,t)},32))}refresh(f,v){const i=this.chart,t=this.options,s=i.pointer,u=A(f),b=u[0],B=[];var c=t.format,P=t.formatter||this.defaultFormatter;const Z=this.shared,tt=i.styledMode;let at={};if(t.enabled&&b.series){V.clearTimeout(this.hideTimer),this.allowShared=!(!C(f)&&f.series&&f.series.noSharedTooltip),this.followPointer=!this.split&&b.series.tooltipOptions.followPointer,f=this.getAnchor(f,v);var W=f[0],o=f[1];if(Z&&this.allowShared?(s.applyInactiveState(u),u.forEach(function(j){j.setState("hover"),B.push(j.getLabelConfig())}),at=b.getLabelConfig(),at.points=B):at=b.getLabelConfig(),this.len=B.length,c=y(c)?Y(c,at,i):P.call(at,this),P=b.series,this.distance=T(P.tooltipOptions.distance,16),c===!1)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(c,u);else{let j=W,F=o;if(v&&s.isDirectTouch&&(j=v.chartX-i.plotLeft,F=v.chartY-i.plotTop),i.polar||P.options.clip===!1||u.some(N=>s.isDirectTouch||N.series.shouldShowTooltip(j,F)))v=this.getLabel(),t.style.width&&!tt||v.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),v.attr({text:c&&c.join?c.join(""):c}),v.addClass(this.getClassName(b),!0),tt||v.attr({stroke:t.borderColor||b.color||P.color||"#666666"}),this.updatePosition({plotX:W,plotY:o,negative:b.negative,ttBelow:b.ttBelow,h:f[2]||0});else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}m(this,"refresh")}}renderSplit(f,v){function i(J,it,dt,ct,vt=!0){return dt?(it=X?0:lt,J=_(J-ct/2,h.left,h.right-ct-(t.outside?K:0))):(it-=st,J=vt?J-ct-F:J+F,J=_(J,vt?J:h.left,h.right)),{x:J,y:it}}const t=this,{chart:s,chart:{chartWidth:u,chartHeight:b,plotHeight:B,plotLeft:c,plotTop:P,pointer:Z,scrollablePixelsY:tt=0,scrollablePixelsX:at,scrollingContainer:{scrollLeft:W,scrollTop:o}={scrollLeft:0,scrollTop:0},styledMode:j},distance:F,options:N,options:{positioner:Q}}=t,h=t.outside&&typeof at!="number"?G.documentElement.getBoundingClientRect():{left:W,right:W+u,top:o,bottom:o+b},k=t.getLabel(),w=this.renderer||s.renderer,X=!(!s.xAxis[0]||!s.xAxis[0].opposite),{left:K,top:q}=Z.getChartPosition();let st=P+o,ot=0,lt=B-tt;y(f)&&(f=[!1,f]),f=f.slice(0,v.length+1).reduce(function(J,it,dt){if(it!==!1&&it!==""){dt=v[dt-1]||{isHeader:!0,plotX:v[0].plotX,plotY:B,series:{}};const _t=dt.isHeader;var ct=_t?t:dt.series,vt;{var yt=dt;it=it.toString();var gt=ct.tt;const{isHeader:Ct,series:Lt}=yt;gt||(gt={padding:N.padding,r:N.borderRadius},j||(gt.fill=N.backgroundColor,gt["stroke-width"]=(vt=N.borderWidth)!==null&&vt!==void 0?vt:1),gt=w.label("",0,0,N[Ct?"headerShape":"shape"],void 0,void 0,N.useHTML).addClass(t.getClassName(yt,!0,Ct)).attr(gt).add(k)),gt.isActive=!0,gt.attr({text:it}),j||gt.css(N.style).attr({stroke:N.borderColor||yt.color||Lt.color||"#333333"}),vt=gt}vt=ct.tt=vt,yt=vt.getBBox(),ct=yt.width+vt.strokeWidth(),_t&&(ot=yt.height,lt+=ot,X&&(st-=ot));{const{isHeader:Ct,plotX:Lt=0,plotY:Mt=0,series:Bt}=dt;if(Ct){it=c+Lt;var mt=P+B/2}else{const{xAxis:Ft,yAxis:Ot}=Bt;it=Ft.pos+_(Lt,-F,Ft.len+F),Bt.shouldShowTooltip(0,Ot.pos-P+Mt,{ignoreX:!0})&&(mt=Ot.pos+Mt)}it=_(it,h.left-F,h.right+F),mt={anchorX:it,anchorY:mt}}const{anchorX:bt,anchorY:wt}=mt;typeof wt=="number"?(mt=yt.height+1,yt=Q?Q.call(t,ct,mt,dt):i(bt,wt,_t,ct),J.push({align:Q?0:void 0,anchorX:bt,anchorY:wt,boxWidth:ct,point:dt,rank:T(yt.rank,_t?1:0),size:mt,target:yt.y,tt:vt,x:yt.x})):vt.isActive=!1}return J},[]),!Q&&f.some(J=>{var{outside:it}=t;return it=(it?K:0)+J.anchorX,it<h.left&&it+J.boxWidth<h.right?!0:it<K-h.left+J.boxWidth&&h.right-it>it})&&(f=f.map(J=>{const{x:it,y:dt}=i(J.anchorX,J.anchorY,J.point.isHeader,J.boxWidth,!1);return z(J,{target:dt,x:it})})),t.cleanSplit(),$(f,lt);var ht=K,ut=K;f.forEach(function(J){const{x:it,boxWidth:dt,isHeader:ct}=J;ct||(t.outside&&K+it<ht&&(ht=K+it),!ct&&t.outside&&ht+dt>ut&&(ut=K+it))}),f.forEach(function(J){const{x:it,anchorX:dt,anchorY:ct,pos:vt,point:{isHeader:yt}}=J,gt={visibility:typeof vt>"u"?"hidden":"inherit",x:it,y:(vt||0)+st,anchorX:dt,anchorY:ct};if(t.outside&&it<dt){const mt=K-ht;0<mt&&(yt||(gt.x=it+mt,gt.anchorX=dt+mt),yt&&(gt.x=(ut-ht)/2,gt.anchorX=dt+mt))}J.tt.attr(gt)});const{container:H,outside:I,renderer:et}=t;if(I&&H&&et){const{width:J,height:it,x:dt,y:ct}=k.getBBox();et.setSize(J+dt,it+ct,!1),H.style.left=ht+"px",H.style.top=q+"px"}D&&k.attr({opacity:k.opacity===1?.999:1})}drawTracker(){if(this.shouldStickOnContact()){var f=this.chart,v=this.label,i=this.shared?f.hoverPoints:f.hoverPoint;if(v&&i){var t={x:0,y:0,width:0,height:0};i=this.getAnchor(i);var s=v.getBBox();i[0]+=f.plotLeft-v.translateX,i[1]+=f.plotTop-v.translateY,t.x=Math.min(0,i[0]),t.y=Math.min(0,i[1]),t.width=0>i[0]?Math.max(Math.abs(i[0]),s.width-i[0]):Math.max(Math.abs(i[0]),s.width),t.height=0>i[1]?Math.max(Math.abs(i[1]),s.height-Math.abs(i[1])):Math.max(Math.abs(i[1]),s.height),this.tracker?this.tracker.attr(t):(this.tracker=v.renderer.rect(t).addClass("highcharts-tracker").add(v),f.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}else this.tracker&&(this.tracker=this.tracker.destroy())}styledModeFormat(f){return f.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(f,v){const i=f.series,t=i.tooltipOptions;var s=i.xAxis;const u=s&&s.dateTime;s={isFooter:v,labelConfig:f};let b=t.xDateFormat,B=t[v?"footerFormat":"headerFormat"];return m(this,"headerFormatter",s,function(c){u&&!b&&S(f.key)&&(b=u.getXDateFormat(f.key,t.dateTimeLabelFormats)),u&&b&&(f.point&&f.point.tooltipDateKeys||["key"]).forEach(function(P){B=B.replace("{point."+P+"}","{point."+P+":"+b+"}")}),i.chart.styledMode&&(B=this.styledModeFormat(B)),c.text=Y(B,{point:f,series:i},this.chart)}),s.text}update(f){this.destroy(),this.init(this.chart,E(!0,this.options,f))}updatePosition(f){const{chart:v,distance:i,options:t}=this;var s=v.pointer;const u=this.getLabel(),{left:b,top:B,scaleX:c,scaleY:P}=s.getChartPosition();s=(t.positioner||this.getPosition).call(this,u.width,u.height,f);let Z=(f.plotX||0)+v.plotLeft;f=(f.plotY||0)+v.plotTop;let tt;this.outside&&(t.positioner&&(s.x+=b-i,s.y+=B-i),tt=(t.borderWidth||0)+2*i,this.renderer.setSize(u.width+tt,u.height+tt,!1),(c!==1||P!==1)&&(M(this.container,{transform:`scale(${c}, ${P})`}),Z*=c,f*=P),Z+=b-s.x,f+=B-s.y),this.move(Math.round(s.x),Math.round(s.y||0),Z,f)}}return function(x){const f=[];x.compose=function(v){V.pushUnique(f,v)&&R(v,"afterInit",function(){const i=this.chart;i.options.tooltip&&(i.tooltip=new x(i,i.options.tooltip))})}}(d||(d={})),d}),n(r,"Core/Series/Point.js",[r["Core/Renderer/HTML/AST.js"],r["Core/Animation/AnimationUtilities.js"],r["Core/Defaults.js"],r["Core/Templating.js"],r["Core/Utilities.js"]],function(p,g,O,U,V){const{animObject:Y}=g,{defaultOptions:G}=O,{format:D}=U,{addEvent:$,defined:R,erase:_,extend:M,fireEvent:L,getNestedProperty:z,isArray:m,isFunction:C,isNumber:S,isObject:y,merge:E,objectEach:T,pick:A,syncTimeout:l,removeEvent:d,uniqueKey:x}=V;class f{constructor(){this.category=void 0,this.destroyed=!1,this.formatPrefix="point",this.id=void 0,this.isNull=!1,this.percentage=this.options=this.name=void 0,this.selected=!1,this.total=this.shapeArgs=this.series=void 0,this.visible=!0,this.x=void 0}animateBeforeDestroy(){const i=this,t={x:i.startXPos,opacity:0},s=i.getGraphicalProps();s.singular.forEach(function(u){i[u]=i[u].animate(u==="dataLabel"?{x:i[u].startXPos,y:i[u].startYPos,opacity:0}:t)}),s.plural.forEach(function(u){i[u].forEach(function(b){b.element&&b.animate(M({x:i.startXPos},b.startYPos?{x:b.startXPos,y:b.startYPos}:{}))})})}applyOptions(i,t){const s=this.series,u=s.options.pointValKey||s.pointValKey;return i=f.prototype.optionsToObject.call(this,i),M(this,i),this.options=this.options?M(this.options,i):i,i.group&&delete this.group,i.dataLabels&&delete this.dataLabels,u&&(this.y=f.prototype.getNestedProperty.call(this,u)),this.formatPrefix=(this.isNull=this.isValid&&!this.isValid())?"null":"point",this.selected&&(this.state="select"),"name"in this&&typeof t>"u"&&s.xAxis&&s.xAxis.hasNames&&(this.x=s.xAxis.nameToX(this)),typeof this.x>"u"&&s?this.x=typeof t>"u"?s.autoIncrement():t:S(i.x)&&s.options.relativeXValue&&(this.x=s.autoIncrement(i.x)),this}destroy(){if(!this.destroyed){const t=this;var i=t.series;const s=i.chart;i=i.options.dataSorting;const u=s.hoverPoints,b=Y(t.series.chart.renderer.globalAnimation),B=()=>{(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(d(t),t.destroyElements());for(const c in t)delete t[c]};t.legendItem&&s.legend.destroyItem(t),u&&(t.setState(),_(u,t),u.length||(s.hoverPoints=null)),t===s.hoverPoint&&t.onMouseOut(),i&&i.enabled?(this.animateBeforeDestroy(),l(B,b.duration)):B(),s.pointCount--}this.destroyed=!0}destroyElements(i){const t=this;i=t.getGraphicalProps(i),i.singular.forEach(function(s){t[s]=t[s].destroy()}),i.plural.forEach(function(s){t[s].forEach(function(u){u&&u.element&&u.destroy()}),delete t[s]})}firePointEvent(i,t,s){const u=this,b=this.series.options;(b.point.events[i]||u.options&&u.options.events&&u.options.events[i])&&u.importEvents(),i==="click"&&b.allowPointSelect&&(s=function(B){u.select&&u.select(null,B.ctrlKey||B.metaKey||B.shiftKey)}),L(u,i,t,s)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(typeof this.colorIndex<"u"?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(i){const t=this,s=[],u={singular:[],plural:[]};let b,B;for(i=i||{graphic:1,dataLabel:1},i.graphic&&s.push("graphic"),i.dataLabel&&s.push("dataLabel","dataLabelPath","dataLabelUpper","connector"),B=s.length;B--;)b=s[B],t[b]&&u.singular.push(b);return["graphic","dataLabel","connector"].forEach(function(c){const P=c+"s";i[c]&&t[P]&&u.plural.push(P)}),u}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(i){if(i)return i.indexOf("custom.")===0?z(i,this.options):this[i]}getZone(){var i=this.series;const t=i.zones;i=i.zoneAxis||"y";let s,u=0;for(s=t[u];this[i]>=s.value;)s=t[++u];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=s&&s.color&&!this.options.color?s.color:this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}init(i,t,s){return this.series=i,this.applyOptions(t,s),this.id=R(this.id)?this.id:x(),this.resolveColor(),i.chart.pointCount++,L(this,"afterInit"),this}isValid(){return this.x!==null&&S(this.y)}optionsToObject(i){var t=this.series;const s=t.options.keys,u=s||t.pointArrayMap||["y"],b=u.length;let B={},c=0,P=0;if(S(i)||i===null)B[u[0]]=i;else if(m(i))for(!s&&i.length>b&&(t=typeof i[0],t==="string"?B.name=i[0]:t==="number"&&(B.x=i[0]),c++);P<b;)s&&typeof i[c]>"u"||(0<u[P].indexOf(".")?f.prototype.setNestedProperty(B,i[c],u[P]):B[u[P]]=i[c]),c++,P++;else typeof i=="object"&&(B=i,i.dataLabels&&(t._hasPointLabels=!0),i.marker&&(t._hasPointMarkers=!0));return B}pos(i,t=this.plotY){if(!this.destroyed){const{plotX:s,series:u}=this,{chart:b,xAxis:B,yAxis:c}=u;let P=0,Z=0;if(S(s)&&S(t))return i&&(P=B?B.pos:b.plotLeft,Z=c?c.pos:b.plotTop),b.inverted&&B&&c?[c.len-t+Z,B.len-s+P]:[s+P,t+Z]}}resolveColor(){const i=this.series;var t=i.chart.styledMode;let s;var u=i.chart.options.chart.colorCount;delete this.nonZonedColor,i.options.colorByPoint?(t||(u=i.options.colors||i.chart.options.colors,s=u[i.colorCounter],u=u.length),t=i.colorCounter,i.colorCounter++,i.colorCounter===u&&(i.colorCounter=0)):(t||(s=i.color),t=i.colorIndex),this.colorIndex=A(this.options.colorIndex,t),this.color=A(this.options.color,s)}setNestedProperty(i,t,s){return s.split(".").reduce(function(u,b,B,c){return u[b]=c.length-1===B?t:y(u[b],!0)?u[b]:{},u[b]},i),i}shouldDraw(){return!this.isNull}tooltipFormatter(i){const t=this.series,s=t.tooltipOptions,u=A(s.valueDecimals,""),b=s.valuePrefix||"",B=s.valueSuffix||"";return t.chart.styledMode&&(i=t.chart.tooltip.styledModeFormat(i)),(t.pointArrayMap||["y"]).forEach(function(c){c="{point."+c,(b||B)&&(i=i.replace(RegExp(c+"}","g"),b+c+"}"+B)),i=i.replace(RegExp(c+"}","g"),c+":,."+u+"f}")}),D(i,{point:this,series:this.series},t.chart)}update(i,t,s,u){function b(){B.applyOptions(i);var W=P&&B.hasMockGraphic;W=B.y===null?!W:W,P&&W&&(B.graphic=P.destroy(),delete B.hasMockGraphic),y(i,!0)&&(P&&P.element&&i&&i.marker&&typeof i.marker.symbol<"u"&&(B.graphic=P.destroy()),i&&i.dataLabels&&B.dataLabel&&(B.dataLabel=B.dataLabel.destroy()),B.connector&&(B.connector=B.connector.destroy())),at=B.index,c.updateParallelArrays(B,at),tt.data[at]=y(tt.data[at],!0)||y(i,!0)?B.options:A(i,tt.data[at]),c.isDirty=c.isDirtyData=!0,!c.fixedBox&&c.hasCartesianSeries&&(Z.isDirtyBox=!0),tt.legendType==="point"&&(Z.isDirtyLegend=!0),t&&Z.redraw(s)}const B=this,c=B.series,P=B.graphic,Z=c.chart,tt=c.options;let at;t=A(t,!0),u===!1?b():B.firePointEvent("update",{options:i},b)}remove(i,t){this.series.removePoint(this.series.data.indexOf(this),i,t)}select(i,t){const s=this,u=s.series,b=u.chart;this.selectedStaging=i=A(i,!s.selected),s.firePointEvent(i?"select":"unselect",{accumulate:t},function(){s.selected=s.options.selected=i,u.options.data[u.data.indexOf(s)]=s.options,s.setState(i&&"select"),t||b.getSelectedPoints().forEach(function(B){const c=B.series;B.selected&&B!==s&&(B.selected=B.options.selected=!1,c.options.data[c.data.indexOf(B)]=B.options,B.setState(b.hoverPoints&&c.options.inactiveOtherPoints?"inactive":""),B.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(i){const t=this.series.chart,s=t.pointer;i=i?s.normalize(i):s.getChartCoordinatesFromPoint(this,t.inverted),s.runPointActions(i,this)}onMouseOut(){const i=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(i.hoverPoints||[]).forEach(function(t){t.setState()}),i.hoverPoints=i.hoverPoint=null}importEvents(){if(!this.hasImportedEvents){const i=this,t=E(i.series.options.point,i.options).events;i.events=t,T(t,function(s,u){C(s)&&$(i,u,s)}),this.hasImportedEvents=!0}}setState(i,t){const s=this.series;var u=this.state,b=s.options.states[i||"normal"]||{},B=G.plotOptions[s.type].marker&&s.options.marker;const c=B&&B.enabled===!1,P=B&&B.states&&B.states[i||"normal"]||{},Z=P.enabled===!1,tt=this.marker||{},at=s.chart,W=B&&s.markerAttribs;let o=s.halo;var j;let F;var N=s.stateMarkerGraphic;if(i=i||"",!(i===this.state&&!t||this.selected&&i!=="select"||b.enabled===!1||i&&(Z||c&&P.enabled===!1)||i&&tt.states&&tt.states[i]&&tt.states[i].enabled===!1)){if(this.state=i,W&&(j=s.markerAttribs(this,i)),this.graphic&&!this.hasMockGraphic){if(u&&this.graphic.removeClass("highcharts-point-"+u),i&&this.graphic.addClass("highcharts-point-"+i),!at.styledMode){u=s.pointAttribs(this,i),F=A(at.options.chart.animation,b.animation);const Q=u.opacity;s.options.inactiveOtherPoints&&S(Q)&&((this.dataLabels||[]).forEach(function(h){h&&!h.hasClass("highcharts-data-label-hidden")&&h.animate({opacity:Q},F)}),this.connector&&this.connector.animate({opacity:Q},F)),this.graphic.animate(u,F)}j&&this.graphic.animate(j,A(at.options.chart.animation,P.animation,B.animation)),N&&N.hide()}else i&&P&&(B=tt.symbol||s.symbol,N&&N.currentSymbol!==B&&(N=N.destroy()),j&&(N?N[t?"animate":"attr"]({x:j.x,y:j.y}):B&&(s.stateMarkerGraphic=N=at.renderer.symbol(B,j.x,j.y,j.width,j.height).add(s.markerGroup),N.currentSymbol=B)),!at.styledMode&&N&&this.state!=="inactive"&&N.attr(s.pointAttribs(this,i))),N&&(N[i&&this.isInside?"show":"hide"](),N.element.point=this,N.addClass(this.getClassName(),!0));b=b.halo,j=(N=this.graphic||N)&&N.visibility||"inherit",b&&b.size&&N&&j!=="hidden"&&!this.isCluster?(o||(s.halo=o=at.renderer.path().add(N.parentGroup)),o.show()[t?"animate":"attr"]({d:this.haloPath(b.size)}),o.attr({class:"highcharts-halo highcharts-color-"+A(this.colorIndex,s.colorIndex)+(this.className?" "+this.className:""),visibility:j,zIndex:-1}),o.point=this,at.styledMode||o.attr(M({fill:this.color||s.color,"fill-opacity":b.opacity},p.filterUserAttributes(b.attributes||{})))):o&&o.point&&o.point.haloPath&&o.animate({d:o.point.haloPath(0)},null,o.hide),L(this,"afterSetState",{state:i})}}haloPath(i){const t=this.pos();return t?this.series.chart.renderer.symbols.circle(Math.floor(t[0])-i,t[1]-i,2*i,2*i):[]}}return f}),n(r,"Core/Pointer.js",[r["Core/Color/Color.js"],r["Core/Globals.js"],r["Core/Utilities.js"]],function(p,g,O){const{parse:U}=p,{charts:V,noop:Y}=g,{addEvent:G,attr:D,css:$,defined:R,extend:_,find:M,fireEvent:L,isNumber:z,isObject:m,objectEach:C,offset:S,pick:y,splat:E}=O;class T{constructor(l,d){this.lastValidTouch={},this.pinchDown=[],this.runChartClick=!1,this.eventsToUnbind=[],this.chart=l,this.hasDragged=!1,this.options=d,this.init(l,d)}applyInactiveState(l){let d=[],x;(l||[]).forEach(function(f){x=f.series,d.push(x),x.linkedParent&&d.push(x.linkedParent),x.linkedSeries&&(d=d.concat(x.linkedSeries)),x.navigatorSeries&&d.push(x.navigatorSeries)}),this.chart.series.forEach(function(f){d.indexOf(f)===-1?f.setState("inactive",!0):f.options.inactiveOtherPoints&&f.setAllPointsToState("inactive")})}destroy(){const l=this;this.eventsToUnbind.forEach(d=>d()),this.eventsToUnbind=[],g.chartCount||(T.unbindDocumentMouseUp&&(T.unbindDocumentMouseUp=T.unbindDocumentMouseUp()),T.unbindDocumentTouchEnd&&(T.unbindDocumentTouchEnd=T.unbindDocumentTouchEnd())),clearInterval(l.tooltipTimeout),C(l,function(d,x){l[x]=void 0})}getSelectionMarkerAttrs(l,d){const x={args:{chartX:l,chartY:d},attrs:{},shapeType:"rect"};return L(this,"getSelectionMarkerAttrs",x,f=>{const{chart:v,mouseDownX:i=0,mouseDownY:t=0,zoomHor:s,zoomVert:u}=this;f=f.attrs;let b;f.x=v.plotLeft,f.y=v.plotTop,f.width=s?1:v.plotWidth,f.height=u?1:v.plotHeight,s&&(b=l-i,f.width=Math.abs(b),f.x=(0<b?0:b)+i),u&&(b=d-t,f.height=Math.abs(b),f.y=(0<b?0:b)+t)}),x}drag(l){const d=this.chart,x=d.options.chart;var f=d.plotLeft;const v=d.plotTop,i=d.plotWidth,t=d.plotHeight,s=this.mouseDownX||0,u=this.mouseDownY||0,b=m(x.panning)?x.panning&&x.panning.enabled:x.panning,B=x.panKey&&l[x.panKey+"Key"];let c=l.chartX,P=l.chartY,Z=this.selectionMarker;if((!Z||!Z.touch)&&(c<f?c=f:c>f+i&&(c=f+i),P<v?P=v:P>v+t&&(P=v+t),this.hasDragged=Math.sqrt(Math.pow(s-c,2)+Math.pow(u-P,2)),10<this.hasDragged)){f=d.isInsidePlot(s-f,u-v,{visiblePlotOnly:!0});const{shapeType:tt,attrs:at}=this.getSelectionMarkerAttrs(c,P);!d.hasCartesianSeries&&!d.mapView||!this.zoomX&&!this.zoomY||!f||B||Z||(this.selectionMarker=Z=d.renderer[tt](),Z.attr({class:"highcharts-selection-marker",zIndex:7}).add(),d.styledMode||Z.attr({fill:x.selectionMarkerFill||U("#334eff").setOpacity(.25).get()})),Z&&Z.attr(at),f&&!Z&&b&&d.pan(l,x.panning)}}dragStart(l){const d=this.chart;d.mouseIsDown=l.type,d.cancelClick=!1,d.mouseDownX=this.mouseDownX=l.chartX,d.mouseDownY=this.mouseDownY=l.chartY}getSelectionBox(l){const d={args:{marker:l},result:{}};return L(this,"getSelectionBox",d,x=>{x.result={x:l.attr?+l.attr("x"):l.x,y:l.attr?+l.attr("y"):l.y,width:l.attr?l.attr("width"):l.width,height:l.attr?l.attr("height"):l.height}}),d.result}drop(l){const d=this,x=this.chart,f=this.hasPinched;if(this.selectionMarker){const{x:v,y:i,width:t,height:s}=this.getSelectionBox(this.selectionMarker),u={originalEvent:l,xAxis:[],yAxis:[],x:v,y:i,width:t,height:s};let b=!!x.mapView;(this.hasDragged||f)&&(x.axes.forEach(function(B){if(B.zoomEnabled&&R(B.min)&&(f||d[{xAxis:"zoomX",yAxis:"zoomY"}[B.coll]])&&z(v)&&z(i)&&z(t)&&z(s)){var c=B.horiz;const P=l.type==="touchend"?B.minPixelPadding:0,Z=B.toValue((c?v:i)+P);c=B.toValue((c?v+t:i+s)-P),u[B.coll].push({axis:B,min:Math.min(Z,c),max:Math.max(Z,c)}),b=!0}}),b&&L(x,"selection",u,function(B){x.zoom(_(B,f?{animation:!1}:null))})),z(x.index)&&(this.selectionMarker=this.selectionMarker.destroy()),f&&this.scaleGroups()}x&&z(x.index)&&($(x.container,{cursor:x._cursor}),x.cancelClick=10<this.hasDragged,x.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])}findNearestKDPoint(l,d,x){let f;return l.forEach(function(v){var i=!(v.noSharedTooltip&&d)&&0>v.options.findNearestPointBy.indexOf("y");if(v=v.searchPoint(x,i),(i=m(v,!0)&&v.series)&&!(i=!m(f,!0))){{i=f.distX-v.distX;const t=f.dist-v.dist,s=(v.series.group&&v.series.group.zIndex)-(f.series.group&&f.series.group.zIndex);i=i!==0&&d?i:t!==0?t:s!==0?s:f.series.index>v.series.index?-1:1}i=0<i}i&&(f=v)}),f}getChartCoordinatesFromPoint(l,d){var x=l.series;const f=x.xAxis;x=x.yAxis;const v=l.shapeArgs;if(f&&x){let i=y(l.clientX,l.plotX),t=l.plotY||0;return l.isNode&&v&&z(v.x)&&z(v.y)&&(i=v.x,t=v.y),d?{chartX:x.len+x.pos-t,chartY:f.len+f.pos-i}:{chartX:i+f.pos,chartY:t+x.pos}}if(v&&v.x&&v.y)return{chartX:v.x,chartY:v.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;var{container:l}=this.chart;const d=S(l);this.chartPosition={left:d.left,top:d.top,scaleX:1,scaleY:1};const x=l.offsetWidth;return l=l.offsetHeight,2<x&&2<l&&(this.chartPosition.scaleX=d.width/x,this.chartPosition.scaleY=d.height/l),this.chartPosition}getCoordinates(l){const d={xAxis:[],yAxis:[]};return this.chart.axes.forEach(function(x){d[x.isXAxis?"xAxis":"yAxis"].push({axis:x,value:x.toValue(l[x.horiz?"chartX":"chartY"])})}),d}getHoverData(l,d,x,f,v,i){const t=[];f=!(!f||!l);const s=function(c){return c.visible&&!(!v&&c.directTouch)&&y(c.options.enableMouseTracking,!0)};let u,b={chartX:i?i.chartX:void 0,chartY:i?i.chartY:void 0,shared:v};L(this,"beforeGetHoverData",b),u=d&&!d.stickyTracking?[d]:x.filter(c=>c.stickyTracking&&(b.filter||s)(c));const B=f||!i?l:this.findNearestKDPoint(u,v,i);return d=B&&B.series,B&&(v&&!d.noSharedTooltip?(u=x.filter(function(c){return b.filter?b.filter(c):s(c)&&!c.noSharedTooltip}),u.forEach(function(c){let P=M(c.points,function(Z){return Z.x===B.x&&!Z.isNull});m(P)&&(c.boosted&&c.boost&&(P=c.boost.getPoint(P)),t.push(P))})):t.push(B)),b={hoverPoint:B},L(this,"afterGetHoverData",b),{hoverPoint:b.hoverPoint,hoverSeries:d,hoverPoints:t}}getPointFromEvent(l){l=l.target;let d;for(;l&&!d;)d=l.point,l=l.parentNode;return d}onTrackerMouseOut(l){l=l.relatedTarget;const d=this.chart.hoverSeries;this.isDirectTouch=!1,!d||!l||d.stickyTracking||this.inClass(l,"highcharts-tooltip")||this.inClass(l,"highcharts-series-"+d.index)&&this.inClass(l,"highcharts-tracker")||d.onMouseOut()}inClass(l,d){let x;for(;l;){if(x=D(l,"class")){if(x.indexOf(d)!==-1)return!0;if(x.indexOf("highcharts-container")!==-1)return!1}l=l.parentElement}}init(l,d){this.options=d,this.chart=l,this.runChartClick=!(!d.chart.events||!d.chart.events.click),this.pinchDown=[],this.lastValidTouch={},this.setDOMEvents(),L(this,"afterInit")}normalize(l,d){var x=l.touches,f=x?x.length?x.item(0):y(x.changedTouches,l.changedTouches)[0]:l;return d||(d=this.getChartPosition()),x=f.pageX-d.left,f=f.pageY-d.top,x/=d.scaleX,f/=d.scaleY,_(l,{chartX:Math.round(x),chartY:Math.round(f)})}onContainerClick(l){const d=this.chart,x=d.hoverPoint;l=this.normalize(l);const f=d.plotLeft,v=d.plotTop;d.cancelClick||(x&&this.inClass(l.target,"highcharts-tracker")?(L(x.series,"click",_(l,{point:x})),d.hoverPoint&&x.firePointEvent("click",l)):(_(l,this.getCoordinates(l)),d.isInsidePlot(l.chartX-f,l.chartY-v,{visiblePlotOnly:!0})&&L(d,"click",l)))}onContainerMouseDown(l){const d=((l.buttons||l.button)&1)===1;l=this.normalize(l),g.isFirefox&&l.button!==0&&this.onContainerMouseMove(l),(typeof l.button>"u"||d)&&(this.zoomOption(l),d&&l.preventDefault&&l.preventDefault(),this.dragStart(l))}onContainerMouseLeave(l){const d=V[y(T.hoverChartIndex,-1)];l=this.normalize(l),d&&l.relatedTarget&&!this.inClass(l.relatedTarget,"highcharts-tooltip")&&(d.pointer.reset(),d.pointer.chartPosition=void 0)}onContainerMouseEnter(l){delete this.chartPosition}onContainerMouseMove(l){const d=this.chart,x=d.tooltip;l=this.normalize(l),this.setHoverChartIndex(),(d.mouseIsDown==="mousedown"||this.touchSelect(l))&&this.drag(l),d.openMenu||!this.inClass(l.target,"highcharts-tracker")&&!d.isInsidePlot(l.chartX-d.plotLeft,l.chartY-d.plotTop,{visiblePlotOnly:!0})||x&&x.shouldStickOnContact(l)||(this.inClass(l.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(l))}onDocumentTouchEnd(l){const d=V[y(T.hoverChartIndex,-1)];d&&d.pointer.drop(l)}onContainerTouchMove(l){this.touchSelect(l)?this.onContainerMouseMove(l):this.touch(l)}onContainerTouchStart(l){this.touchSelect(l)?this.onContainerMouseDown(l):(this.zoomOption(l),this.touch(l,!0))}onDocumentMouseMove(l){const d=this.chart,x=d.tooltip,f=this.chartPosition;l=this.normalize(l,f),!f||d.isInsidePlot(l.chartX-d.plotLeft,l.chartY-d.plotTop,{visiblePlotOnly:!0})||x&&x.shouldStickOnContact(l)||this.inClass(l.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(l){const d=V[y(T.hoverChartIndex,-1)];d&&d.pointer.drop(l)}pinch(l){const d=this,x=d.chart,f=d.pinchDown,v=l.touches||[],i=v.length,t=d.lastValidTouch,s=d.hasZoom,u={},b=i===1&&(d.inClass(l.target,"highcharts-tracker")&&x.runTrackerClick||d.runChartClick),B={};var c=d.chart.tooltip;c=i===1&&y(c&&c.options.followTouchMove,!0);let P=d.selectionMarker;1<i?d.initiated=!0:c&&(d.initiated=!1),s&&d.initiated&&!b&&l.cancelable!==!1&&l.preventDefault(),[].map.call(v,function(Z){return d.normalize(Z)}),l.type==="touchstart"?([].forEach.call(v,function(Z,tt){f[tt]={chartX:Z.chartX,chartY:Z.chartY}}),t.x=[f[0].chartX,f[1]&&f[1].chartX],t.y=[f[0].chartY,f[1]&&f[1].chartY],x.axes.forEach(function(Z){if(Z.zoomEnabled){const tt=x.bounds[Z.horiz?"h":"v"],at=Z.minPixelPadding,W=Z.toPixels(Math.min(y(Z.options.min,Z.dataMin),Z.dataMin)),o=Z.toPixels(Math.max(y(Z.options.max,Z.dataMax),Z.dataMax)),j=Math.max(W,o);tt.min=Math.min(Z.pos,Math.min(W,o)-at),tt.max=Math.max(Z.pos+Z.len,j+at)}}),d.res=!0):c?this.runPointActions(d.normalize(l)):f.length&&(L(x,"touchpan",{originalEvent:l},()=>{P||(d.selectionMarker=P=_({destroy:Y,touch:!0},x.plotBox)),d.pinchTranslate(f,v,u,P,B,t),d.hasPinched=s,d.scaleGroups(u,B)}),d.res&&(d.res=!1,this.reset(!1,0)))}pinchTranslate(l,d,x,f,v,i){this.zoomHor&&this.pinchTranslateDirection(!0,l,d,x,f,v,i),this.zoomVert&&this.pinchTranslateDirection(!1,l,d,x,f,v,i)}pinchTranslateDirection(l,d,x,f,v,i,t,s){const u=this.chart,b=l?"x":"y",B=l?"X":"Y",c="chart"+B,P=l?"width":"height",Z=u["plot"+(l?"Left":"Top")],tt=u.inverted,at=u.bounds[l?"h":"v"],W=d.length===1,o=d[0][c],j=!W&&d[1][c];d=function(){typeof k=="number"&&20<Math.abs(o-j)&&(Q=s||Math.abs(h-k)/Math.abs(o-j)),N=(Z-h)/Q+o,F=u["plot"+(l?"Width":"Height")]/Q};let F,N,Q=s||1,h=x[0][c],k=!W&&x[1][c],w;d(),x=N,x<at.min?(x=at.min,w=!0):x+F>at.max&&(x=at.max-F,w=!0),w?(h-=.8*(h-t[b][0]),typeof k=="number"&&(k-=.8*(k-t[b][1])),d()):t[b]=[h,k],tt||(i[b]=N-Z,i[P]=F),i=tt?1/Q:Q,v[P]=F,v[b]=x,f[tt?l?"scaleY":"scaleX":"scale"+B]=Q,f["translate"+B]=i*Z+(h-i*o)}reset(l,d){const x=this.chart,f=x.hoverSeries,v=x.hoverPoint,i=x.hoverPoints,t=x.tooltip,s=t&&t.shared?i:v;l&&s&&E(s).forEach(function(u){u.series.isCartesian&&typeof u.plotX>"u"&&(l=!1)}),l?t&&s&&E(s).length&&(t.refresh(s),t.shared&&i?i.forEach(function(u){u.setState(u.state,!0),u.series.isCartesian&&(u.series.xAxis.crosshair&&u.series.xAxis.drawCrosshair(null,u),u.series.yAxis.crosshair&&u.series.yAxis.drawCrosshair(null,u))}):v&&(v.setState(v.state,!0),x.axes.forEach(function(u){u.crosshair&&v.series[u.coll]===u&&u.drawCrosshair(null,v)}))):(v&&v.onMouseOut(),i&&i.forEach(function(u){u.setState()}),f&&f.onMouseOut(),t&&t.hide(d),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),x.axes.forEach(function(u){u.hideCrosshair()}),this.hoverX=x.hoverPoints=x.hoverPoint=null)}runPointActions(l,d,x){const f=this.chart,v=f.tooltip&&f.tooltip.options.enabled?f.tooltip:void 0,i=v?v.shared:!1;let t=d||f.hoverPoint,s=t&&t.series||f.hoverSeries;d=this.getHoverData(t,s,f.series,(!l||l.type!=="touchmove")&&(!!d||s&&s.directTouch&&this.isDirectTouch),i,l),t=d.hoverPoint,s=d.hoverSeries;const u=d.hoverPoints;d=s&&s.tooltipOptions.followPointer&&!s.tooltipOptions.split;const b=i&&s&&!s.noSharedTooltip;if(t&&(x||t!==f.hoverPoint||v&&v.isHidden)){if((f.hoverPoints||[]).forEach(function(B){u.indexOf(B)===-1&&B.setState()}),f.hoverSeries!==s&&s.onMouseOver(),this.applyInactiveState(u),(u||[]).forEach(function(B){B.setState("hover")}),f.hoverPoint&&f.hoverPoint.firePointEvent("mouseOut"),!t.series)return;f.hoverPoints=u,f.hoverPoint=t,t.firePointEvent("mouseOver",void 0,()=>{v&&t&&v.refresh(b?u:t,l)})}else d&&v&&!v.isHidden&&(x=v.getAnchor([{}],l),f.isInsidePlot(x[0],x[1],{visiblePlotOnly:!0})&&v.updatePosition({plotX:x[0],plotY:x[1]}));this.unDocMouseMove||(this.unDocMouseMove=G(f.container.ownerDocument,"mousemove",function(B){const c=V[T.hoverChartIndex];c&&c.pointer.onDocumentMouseMove(B)}),this.eventsToUnbind.push(this.unDocMouseMove)),f.axes.forEach(function(B){const c=y((B.crosshair||{}).snap,!0);let P;c&&((P=f.hoverPoint)&&P.series[B.coll]===B||(P=M(u,Z=>Z.series&&Z.series[B.coll]===B))),P||!c?B.drawCrosshair(l,P):B.hideCrosshair()})}scaleGroups(l,d){const x=this.chart;x.series.forEach(function(f){const v=l||f.getPlotBox();f.group&&(f.xAxis&&f.xAxis.zoomEnabled||x.mapView)&&(f.group.attr(v),f.markerGroup&&(f.markerGroup.attr(v),f.markerGroup.clip(d?x.clipRect:null)),f.dataLabelsGroup&&f.dataLabelsGroup.attr(v))}),x.clipRect.attr(d||x.clipBox)}setDOMEvents(){const l=this.chart.container,d=l.ownerDocument;l.onmousedown=this.onContainerMouseDown.bind(this),l.onmousemove=this.onContainerMouseMove.bind(this),l.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(G(l,"mouseenter",this.onContainerMouseEnter.bind(this))),this.eventsToUnbind.push(G(l,"mouseleave",this.onContainerMouseLeave.bind(this))),T.unbindDocumentMouseUp||(T.unbindDocumentMouseUp=G(d,"mouseup",this.onDocumentMouseUp.bind(this)));let x=this.chart.renderTo.parentElement;for(;x&&x.tagName!=="BODY";)this.eventsToUnbind.push(G(x,"scroll",()=>{delete this.chartPosition})),x=x.parentElement;g.hasTouch&&(this.eventsToUnbind.push(G(l,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(G(l,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),T.unbindDocumentTouchEnd||(T.unbindDocumentTouchEnd=G(d,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))}setHoverChartIndex(){const l=this.chart,d=g.charts[y(T.hoverChartIndex,-1)];d&&d!==l&&d.pointer.onContainerMouseLeave({relatedTarget:l.container}),d&&d.mouseIsDown||(T.hoverChartIndex=l.index)}touch(l,d){const x=this.chart;let f;this.setHoverChartIndex(),l.touches.length===1?(l=this.normalize(l),x.isInsidePlot(l.chartX-x.plotLeft,l.chartY-x.plotTop,{visiblePlotOnly:!0})&&!x.openMenu?(d&&this.runPointActions(l),l.type==="touchmove"&&(d=this.pinchDown,f=d[0]?4<=Math.sqrt(Math.pow(d[0].chartX-l.chartX,2)+Math.pow(d[0].chartY-l.chartY,2)):!1),y(f,!0)&&this.pinch(l)):d&&this.reset()):l.touches.length===2&&this.pinch(l)}touchSelect(l){return!(!this.chart.zooming.singleTouch||!l.touches||l.touches.length!==1)}zoomOption(l){const d=this.chart,x=d.inverted;var f=d.zooming.type||"";/touch/.test(l.type)&&(f=y(d.zooming.pinchType,f)),this.zoomX=l=/x/.test(f),this.zoomY=f=/y/.test(f),this.zoomHor=l&&!x||f&&x,this.zoomVert=f&&!x||l&&x,this.hasZoom=l||f}}return function(A){const l=[],d=[];A.compose=function(x){O.pushUnique(d,x)&&G(x,"beforeRender",function(){this.pointer=new A(this,this.options)})},A.dissolve=function(){for(let x=0,f=l.length;x<f;++x)l[x]();l.length=0}}(T||(T={})),T}),n(r,"Core/Legend/Legend.js",[r["Core/Animation/AnimationUtilities.js"],r["Core/Templating.js"],r["Core/Globals.js"],r["Core/Series/Point.js"],r["Core/Renderer/RendererUtilities.js"],r["Core/Utilities.js"]],function(p,g,O,U,V,Y){const{animObject:G,setAnimation:D}=p,{format:$}=g,{marginNames:R}=O,{distribute:_}=V,{addEvent:M,createElement:L,css:z,defined:m,discardElement:C,find:S,fireEvent:y,isNumber:E,merge:T,pick:A,relativeLength:l,stableSort:d,syncTimeout:x}=Y;class f{constructor(i,t){this.allItems=[],this.contentGroup=this.box=void 0,this.display=!1,this.group=void 0,this.offsetWidth=this.maxLegendWidth=this.maxItemWidth=this.legendWidth=this.legendHeight=this.lastLineHeight=this.lastItemY=this.itemY=this.itemX=this.itemMarginTop=this.itemMarginBottom=this.itemHeight=this.initialItemY=0,this.options=void 0,this.padding=0,this.pages=[],this.proximate=!1,this.scrollGroup=void 0,this.widthOption=this.totalItemWidth=this.titleHeight=this.symbolWidth=this.symbolHeight=0,this.chart=i,this.init(i,t)}init(i,t){this.chart=i,this.setOptions(t),t.enabled&&(this.render(),M(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),M(this.chart,"render",()=>{this.proximate&&(this.proximatePositions(),this.positionItems())}))}setOptions(i){const t=A(i.padding,8);this.options=i,this.chart.styledMode||(this.itemStyle=i.itemStyle,this.itemHiddenStyle=T(this.itemStyle,i.itemHiddenStyle)),this.itemMarginTop=i.itemMarginTop,this.itemMarginBottom=i.itemMarginBottom,this.padding=t,this.initialItemY=t-5,this.symbolWidth=A(i.symbolWidth,16),this.pages=[],this.proximate=i.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(i,t){const s=this.chart;this.setOptions(T(!0,this.options,i)),this.destroy(),s.isDirtyLegend=s.isDirtyBox=!0,A(t,!0)&&s.redraw(),y(this,"afterUpdate")}colorizeItem(i,t){const{group:s,label:u,line:b,symbol:B}=i.legendItem||{};if(s&&s[t?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){const{itemHiddenStyle:c}=this,P=c.color,Z=t&&i.color||P,tt=i.options&&i.options.marker;let at={fill:Z};u==null||u.css(T(t?this.itemStyle:c)),b==null||b.attr({stroke:Z}),B&&(tt&&B.isMarker&&(at=i.pointAttribs(),t||(at.stroke=at.fill=P)),B.attr(at))}y(this,"afterColorizeItem",{item:i,visible:t})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(i){const{group:t,x:s=0,y:u=0}=i.legendItem||{};var b=this.options,B=b.symbolPadding;const c=!b.rtl;b=i.checkbox,t&&t.element&&(B={translateX:c?s:this.legendWidth-s-2*B-4,translateY:u},t[m(t.translateY)?"animate":"attr"](B,void 0,()=>{y(this,"afterPositionItem",{item:i})})),b&&(b.x=s,b.y=u)}destroyItem(i){const t=i.checkbox,s=i.legendItem||{};for(const u of["group","label","line","symbol"])s[u]&&(s[u]=s[u].destroy());t&&C(t),i.legendItem=void 0}destroy(){for(const i of this.getAllItems())this.destroyItem(i);for(const i of"clipRect up down pager nav box title group".split(" "))this[i]&&(this[i]=this[i].destroy());this.display=null}positionCheckboxes(){const i=this.group&&this.group.alignAttr,t=this.clipHeight||this.legendHeight,s=this.titleHeight;let u;i&&(u=i.translateY,this.allItems.forEach(function(b){const B=b.checkbox;let c;B&&(c=u+s+B.y+(this.scrollOffset||0)+3,z(B,{left:i.translateX+b.checkboxOffset+B.x-20+"px",top:c+"px",display:this.proximate||c>u-6&&c<u+t-6?"":"none"}))},this))}renderTitle(){var i=this.options;const t=this.padding,s=i.title;let u=0;s.text&&(this.title||(this.title=this.chart.renderer.label(s.text,t-3,t-4,void 0,void 0,void 0,i.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(s.style),this.title.add(this.group)),s.width||this.title.css({width:this.maxLegendWidth+"px"}),i=this.title.getBBox(),u=i.height,this.offsetWidth=i.width,this.contentGroup.attr({translateY:u})),this.titleHeight=u}setText(i){const t=this.options;i.legendItem.label.attr({text:t.labelFormat?$(t.labelFormat,i,this.chart):t.labelFormatter.call(i)})}renderItem(i){const t=i.legendItem=i.legendItem||{};var s=this.chart,u=s.renderer;const b=this.options,B=this.symbolWidth,c=b.symbolPadding||0,P=this.itemStyle,Z=this.itemHiddenStyle,tt=b.layout==="horizontal"?A(b.itemDistance,20):0,at=!b.rtl,W=!i.series,o=!W&&i.series.drawLegendSymbol?i.series:i;var j=o.options;const F=this.createCheckboxForItem&&j&&j.showCheckbox,N=b.useHTML,Q=i.options.className;let h=t.label;j=B+c+tt+(F?20:0),h||(t.group=u.g("legend-item").addClass("highcharts-"+o.type+"-series highcharts-color-"+i.colorIndex+(Q?" "+Q:"")+(W?" highcharts-series-"+i.index:"")).attr({zIndex:1}).add(this.scrollGroup),t.label=h=u.text("",at?B+c:-c,this.baseline||0,N),s.styledMode||h.css(T(i.visible?P:Z)),h.attr({align:at?"left":"right",zIndex:2}).add(t.group),this.baseline||(this.fontMetrics=u.fontMetrics(h),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,h.attr("y",this.baseline),this.symbolHeight=A(b.symbolHeight,this.fontMetrics.f),b.squareSymbol&&(this.symbolWidth=A(b.symbolWidth,Math.max(this.symbolHeight,16)),j=this.symbolWidth+c+tt+(F?20:0),at&&h.attr("x",this.symbolWidth+c))),o.drawLegendSymbol(this,i),this.setItemEvents&&this.setItemEvents(i,h,N)),F&&!i.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(i),this.colorizeItem(i,i.visible),!s.styledMode&&P.width||h.css({width:(b.itemWidth||this.widthOption||s.spacingBox.width)-j+"px"}),this.setText(i),s=h.getBBox(),u=this.fontMetrics&&this.fontMetrics.h||0,i.itemWidth=i.checkboxOffset=b.itemWidth||t.labelWidth||s.width+j,this.maxItemWidth=Math.max(this.maxItemWidth,i.itemWidth),this.totalItemWidth+=i.itemWidth,this.itemHeight=i.itemHeight=Math.round(t.labelHeight||(s.height>1.5*u?s.height:u))}layoutItem(i){var t=this.options;const s=this.padding,u=t.layout==="horizontal",b=i.itemHeight,B=this.itemMarginBottom,c=this.itemMarginTop,P=u?A(t.itemDistance,20):0,Z=this.maxLegendWidth;t=t.alignColumns&&this.totalItemWidth>Z?this.maxItemWidth:i.itemWidth;const tt=i.legendItem||{};u&&this.itemX-s+t>Z&&(this.itemX=s,this.lastLineHeight&&(this.itemY+=c+this.lastLineHeight+B),this.lastLineHeight=0),this.lastItemY=c+this.itemY+B,this.lastLineHeight=Math.max(b,this.lastLineHeight),tt.x=this.itemX,tt.y=this.itemY,u?this.itemX+=t:(this.itemY+=c+b+B,this.lastLineHeight=b),this.offsetWidth=this.widthOption||Math.max((u?this.itemX-s-(i.checkbox?0:P):t)+s,this.offsetWidth)}getAllItems(){let i=[];return this.chart.series.forEach(function(t){const s=t&&t.options;t&&A(s.showInLegend,m(s.linkedTo)?!1:void 0,!0)&&(i=i.concat((t.legendItem||{}).labels||(s.legendType==="point"?t.data:t)))}),y(this,"afterGetAllItems",{allItems:i}),i}getAlignment(){const i=this.options;return this.proximate?i.align.charAt(0)+"tv":i.floating?"":i.align.charAt(0)+i.verticalAlign.charAt(0)+i.layout.charAt(0)}adjustMargins(i,t){const s=this.chart,u=this.options,b=this.getAlignment();b&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(B,c){B.test(b)&&!m(i[c])&&(s[R[c]]=Math.max(s[R[c]],s.legend[(c+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][c]*u[c%2?"x":"y"]+A(u.margin,12)+t[c]+(s.titleOffset[c]||0)))})}proximatePositions(){const i=this.chart,t=[],s=this.options.align==="left";this.allItems.forEach(function(b){var B,c=s;let P;b.yAxis&&(b.xAxis.options.reversed&&(c=!c),b.points&&(B=S(c?b.points:b.points.slice(0).reverse(),function(Z){return E(Z.plotY)})),c=this.itemMarginTop+b.legendItem.label.getBBox().height+this.itemMarginBottom,P=b.yAxis.top-i.plotTop,b.visible?(B=B?B.plotY:b.yAxis.height,B+=P-.3*c):B=P+b.yAxis.height,t.push({target:B,size:c,item:b}))},this);let u;for(const b of _(t,i.plotHeight))u=b.item.legendItem||{},E(b.pos)&&(u.y=i.plotTop-i.spacing[0]+b.pos)}render(){const i=this.chart,t=i.renderer,s=this.options,u=this.padding;var b=this.getAllItems();let B,c=this.group,P=this.box;this.itemX=u,this.itemY=this.initialItemY,this.lastItemY=this.offsetWidth=0,this.widthOption=l(s.width,i.spacingBox.width-u);var Z=i.spacingBox.width-2*u-s.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(Z/=2),this.maxLegendWidth=this.widthOption||Z,c||(this.group=c=t.g("legend").addClass(s.className||"").attr({zIndex:7}).add(),this.contentGroup=t.g().attr({zIndex:1}).add(c),this.scrollGroup=t.g().add(this.contentGroup)),this.renderTitle(),d(b,(tt,at)=>(tt.options&&tt.options.legendIndex||0)-(at.options&&at.options.legendIndex||0)),s.reversed&&b.reverse(),this.allItems=b,this.display=Z=!!b.length,this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0,b.forEach(this.renderItem,this),b.forEach(this.layoutItem,this),b=(this.widthOption||this.offsetWidth)+u,B=this.lastItemY+this.lastLineHeight+this.titleHeight,B=this.handleOverflow(B),B+=u,P||(this.box=P=t.rect().addClass("highcharts-legend-box").attr({r:s.borderRadius}).add(c)),i.styledMode||P.attr({stroke:s.borderColor,"stroke-width":s.borderWidth||0,fill:s.backgroundColor||"none"}).shadow(s.shadow),0<b&&0<B&&P[P.placed?"animate":"attr"](P.crisp.call({},{x:0,y:0,width:b,height:B},P.strokeWidth())),c[Z?"show":"hide"](),i.styledMode&&c.getStyle("display")==="none"&&(b=B=0),this.legendWidth=b,this.legendHeight=B,Z&&this.align(),this.proximate||this.positionItems(),y(this,"afterRender")}align(i=this.chart.spacingBox){const t=this.chart,s=this.options;let u=i.y;/(lth|ct|rth)/.test(this.getAlignment())&&0<t.titleOffset[0]?u+=t.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<t.titleOffset[2]&&(u-=t.titleOffset[2]),u!==i.y&&(i=T(i,{y:u})),t.hasRendered||(this.group.placed=!1),this.group.align(T(s,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":s.verticalAlign}),!0,i)}handleOverflow(i){const t=this,s=this.chart,u=s.renderer,b=this.options;var B=b.y;const c=b.verticalAlign==="top",P=this.padding,Z=b.maxHeight,tt=b.navigation,at=A(tt.animation,!0),W=tt.arrowSize||12,o=this.pages,j=this.allItems,F=function(K){typeof K=="number"?X.attr({height:K}):X&&(t.clipRect=X.destroy(),t.contentGroup.clip()),t.contentGroup.div&&(t.contentGroup.div.style.clip=K?"rect("+P+"px,9999px,"+(P+K)+"px,0)":"auto")},N=function(K){return t[K]=u.circle(0,0,1.3*W).translate(W/2,W/2).add(w),s.styledMode||t[K].attr("fill","rgba(0,0,0,0.0001)"),t[K]};let Q,h,k;B=s.spacingBox.height+(c?-B:B)-P;let w=this.nav,X=this.clipRect;return b.layout!=="horizontal"||b.verticalAlign==="middle"||b.floating||(B/=2),Z&&(B=Math.min(B,Z)),o.length=0,i&&0<B&&i>B&&tt.enabled!==!1?(this.clipHeight=Q=Math.max(B-20-this.titleHeight-P,0),this.currentPage=A(this.currentPage,1),this.fullHeight=i,j.forEach((K,q)=>{k=K.legendItem||{},K=k.y||0;const st=Math.round(k.label.getBBox().height);let ot=o.length;(!ot||K-o[ot-1]>Q&&(h||K)!==o[ot-1])&&(o.push(h||K),ot++),k.pageIx=ot-1,h&&((j[q-1].legendItem||{}).pageIx=ot-1),q===j.length-1&&K+st-o[ot-1]>Q&&K>o[ot-1]&&(o.push(K),k.pageIx=ot),K!==h&&(h=K)}),X||(X=t.clipRect=u.clipRect(0,P-2,9999,0),t.contentGroup.clip(X)),F(Q),w||(this.nav=w=u.g().attr({zIndex:1}).add(this.group),this.up=u.symbol("triangle",0,0,W,W).add(w),N("upTracker").on("click",function(){t.scroll(-1,at)}),this.pager=u.text("",15,10).addClass("highcharts-legend-navigation"),!s.styledMode&&tt.style&&this.pager.css(tt.style),this.pager.add(w),this.down=u.symbol("triangle-down",0,0,W,W).add(w),N("downTracker").on("click",function(){t.scroll(1,at)})),t.scroll(0),i=B):w&&(F(),this.nav=w.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),i}scroll(i,t){const s=this.chart,u=this.pages,b=u.length,B=this.clipHeight,c=this.options.navigation,P=this.pager,Z=this.padding;let tt=this.currentPage+i;tt>b&&(tt=b),0<tt&&(typeof t<"u"&&D(t,s),this.nav.attr({translateX:Z,translateY:B+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(at){at.attr({class:tt===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),P.attr({text:tt+"/"+b}),[this.down,this.downTracker].forEach(function(at){at.attr({x:18+this.pager.getBBox().width,class:tt===b?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),s.styledMode||(this.up.attr({fill:tt===1?c.inactiveColor:c.activeColor}),this.upTracker.css({cursor:tt===1?"default":"pointer"}),this.down.attr({fill:tt===b?c.inactiveColor:c.activeColor}),this.downTracker.css({cursor:tt===b?"default":"pointer"})),this.scrollOffset=-u[tt-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=tt,this.positionCheckboxes(),i=G(A(t,s.renderer.globalAnimation,!0)),x(()=>{y(this,"afterScroll",{currentPage:tt})},i.duration))}setItemEvents(i,t,s){const u=this,b=i.legendItem||{},B=u.chart.renderer.boxWrapper,c=i instanceof U,P="highcharts-legend-"+(c?"point":"series")+"-active",Z=u.chart.styledMode;s=s?[t,b.symbol]:[b.group];const tt=at=>{u.allItems.forEach(W=>{i!==W&&[W].concat(W.linkedSeries||[]).forEach(o=>{o.setState(at,!c)})})};for(const at of s)at&&at.on("mouseover",function(){i.visible&&tt("inactive"),i.setState("hover"),i.visible&&B.addClass(P),Z||t.css(u.options.itemHoverStyle)}).on("mouseout",function(){u.chart.styledMode||t.css(T(i.visible?u.itemStyle:u.itemHiddenStyle)),tt(""),B.removeClass(P),i.setState()}).on("click",function(W){const o=function(){i.setVisible&&i.setVisible(),tt(i.visible?"inactive":"")};B.removeClass(P),W={browserEvent:W},i.firePointEvent?i.firePointEvent("legendItemClick",W,o):y(i,"legendItemClick",W,o)})}createCheckboxForItem(i){i.checkbox=L("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:i.selected,defaultChecked:i.selected},this.options.itemCheckboxStyle,this.chart.container),M(i.checkbox,"click",function(t){y(i.series||i,"checkboxClick",{checked:t.target.checked,item:i},function(){i.select()})})}}return function(v){const i=[];v.compose=function(t){Y.pushUnique(i,t)&&M(t,"beforeMargins",function(){this.legend=new v(this,this.options.legend)})}}(f||(f={})),f}),n(r,"Core/Legend/LegendSymbol.js",[r["Core/Utilities.js"]],function(p){const{extend:g,merge:O,pick:U}=p;var V;return function(Y){Y.lineMarker=function(G,D){D=this.legendItem=this.legendItem||{};var $=this.options;const R=G.symbolWidth,_=G.symbolHeight,M=_/2,L=this.chart.renderer,z=D.group;G=G.baseline-Math.round(.3*G.fontMetrics.b);let m={},C=$.marker,S=0;this.chart.styledMode||(m={"stroke-width":Math.min($.lineWidth||0,24)},$.dashStyle?m.dashstyle=$.dashStyle:$.linecap!=="square"&&(m["stroke-linecap"]="round")),D.line=L.path().addClass("highcharts-graph").attr(m).add(z),m["stroke-linecap"]&&(S=Math.min(D.line.strokeWidth(),R)/2),R&&D.line.attr({d:[["M",S,G],["L",R-S,G]]}),C&&C.enabled!==!1&&R&&($=Math.min(U(C.radius,M),M),this.symbol.indexOf("url")===0&&(C=O(C,{width:_,height:_}),$=0),D.symbol=D=L.symbol(this.symbol,R/2-$,G-$,2*$,2*$,g({context:"legend"},C)).addClass("highcharts-point").add(z),D.isMarker=!0)},Y.rectangle=function(G,D){D=D.legendItem||{};const $=G.symbolHeight,R=G.options.squareSymbol;D.symbol=this.chart.renderer.rect(R?(G.symbolWidth-$)/2:0,G.baseline-$+1,R?$:G.symbolWidth,$,U(G.options.symbolRadius,$/2)).addClass("highcharts-point").attr({zIndex:3}).add(D.group)}}(V||(V={})),V}),n(r,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:1,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){const{numberFormatter:p}=this.series.chart;return typeof this.y!="number"?"":p(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"}}),n(r,"Core/Series/SeriesRegistry.js",[r["Core/Globals.js"],r["Core/Defaults.js"],r["Core/Series/Point.js"],r["Core/Utilities.js"]],function(p,g,O,U){const{defaultOptions:V}=g,{extendClass:Y,merge:G}=U;var D;return function($){function R(_,M){const L=V.plotOptions||{},z=M.defaultOptions,m=M.prototype;m.type=_,m.pointClass||(m.pointClass=O),z&&(L[_]=z),$.seriesTypes[_]=M}$.seriesTypes=p.seriesTypes,$.registerSeriesType=R,$.seriesType=function(_,M,L,z,m){const C=V.plotOptions||{};return M=M||"",C[_]=G(C[M],L),R(_,Y($.seriesTypes[M]||function(){},z)),$.seriesTypes[_].prototype.type=_,m&&($.seriesTypes[_].prototype.pointClass=Y(O,m)),$.seriesTypes[_]}}(D||(D={})),D}),n(r,"Core/Series/Series.js",[r["Core/Animation/AnimationUtilities.js"],r["Core/Defaults.js"],r["Core/Foundation.js"],r["Core/Globals.js"],r["Core/Legend/LegendSymbol.js"],r["Core/Series/Point.js"],r["Core/Series/SeriesDefaults.js"],r["Core/Series/SeriesRegistry.js"],r["Core/Renderer/SVG/SVGElement.js"],r["Core/Utilities.js"]],function(p,g,O,U,V,Y,G,D,$,R){const{animObject:_,setAnimation:M}=p,{defaultOptions:L}=g,{registerEventOptions:z}=O,{hasTouch:m,svg:C,win:S}=U,{seriesTypes:y}=D,{arrayMax:E,arrayMin:T,clamp:A,correctFloat:l,defined:d,diffObjects:x,erase:f,error:v,extend:i,find:t,fireEvent:s,getClosestDistance:u,getNestedProperty:b,insertItem:B,isArray:c,isNumber:P,isString:Z,merge:tt,objectEach:at,pick:W,removeEvent:o,splat:j,syncTimeout:F}=R;class N{constructor(){this.zones=this.yAxis=this.xAxis=this.userOptions=this.tooltipOptions=this.processedYData=this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}init(h,k){s(this,"init",{options:k});const w=this,X=h.series;this.eventsToUnbind=[],w.chart=h,w.options=w.setOptions(k),k=w.options,w.linkedSeries=[],w.bindAxes(),i(w,{name:k.name,state:"",visible:k.visible!==!1,selected:k.selected===!0}),z(this,k);const K=k.events;(K&&K.click||k.point&&k.point.events&&k.point.events.click||k.allowPointSelect)&&(h.runTrackerClick=!0),w.getColor(),w.getSymbol(),w.parallelArrays.forEach(function(st){w[st+"Data"]||(w[st+"Data"]=[])}),w.isCartesian&&(h.hasCartesianSeries=!0);let q;X.length&&(q=X[X.length-1]),w._i=W(q&&q._i,-1)+1,w.opacity=w.options.opacity,h.orderItems("series",B(this,X)),k.dataSorting&&k.dataSorting.enabled?w.setDataSortingOptions():w.points||w.data||w.setData(k.data,!1),s(this,"afterInit")}is(h){return y[h]&&this instanceof y[h]}bindAxes(){const h=this,k=h.options,w=h.chart;let X;s(this,"bindAxes",null,function(){(h.axisTypes||[]).forEach(function(K){w[K].forEach(function(q){X=q.options,(W(k[K],0)===q.index||typeof k[K]<"u"&&k[K]===X.id)&&(B(h,q.series),h[K]=q,q.isDirty=!0)}),h[K]||h.optionalAxis===K||v(18,!0,w)})}),s(this,"afterBindAxes")}updateParallelArrays(h,k,w){const X=h.series,K=P(k)?function(q){const st=q==="y"&&X.toYData?X.toYData(h):h[q];X[q+"Data"][k]=st}:function(q){Array.prototype[k].apply(X[q+"Data"],w)};X.parallelArrays.forEach(K)}hasData(){return this.visible&&typeof this.dataMax<"u"&&typeof this.dataMin<"u"||this.visible&&this.yData&&0<this.yData.length}autoIncrement(h){var k=this.options;const w=k.pointIntervalUnit,X=k.relativeXValue,K=this.chart.time;let q=this.xIncrement,st;return q=W(q,k.pointStart,0),this.pointInterval=st=W(this.pointInterval,k.pointInterval,1),X&&P(h)&&(st*=h),w&&(k=new K.Date(q),w==="day"?K.set("Date",k,K.get("Date",k)+st):w==="month"?K.set("Month",k,K.get("Month",k)+st):w==="year"&&K.set("FullYear",k,K.get("FullYear",k)+st),st=k.getTime()-q),X&&P(h)?q+st:(this.xIncrement=q+st,q)}setDataSortingOptions(){const h=this.options;i(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),d(h.pointRange)||(h.pointRange=1)}setOptions(h){var k,w;const X=this.chart;var K=X.options.plotOptions,q=X.userOptions||{};const st=tt(h);h=X.styledMode;const ot={plotOptions:K,userOptions:st};s(this,"setOptions",ot);const lt=ot.plotOptions[this.type];q=q.plotOptions||{};const ht=q.series||{},ut=L.plotOptions[this.type]||{},H=q[this.type]||{};return this.userOptions=ot.userOptions,K=tt(lt,K.series,H,st),this.tooltipOptions=tt(L.tooltip,(k=L.plotOptions.series)===null||k===void 0?void 0:k.tooltip,ut==null?void 0:ut.tooltip,X.userOptions.tooltip,(w=q.series)===null||w===void 0?void 0:w.tooltip,H.tooltip,st.tooltip),this.stickyTracking=W(st.stickyTracking,H.stickyTracking,ht.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:K.stickyTracking),lt.marker===null&&delete K.marker,this.zoneAxis=K.zoneAxis,w=this.zones=(K.zones||[]).slice(),!K.negativeColor&&!K.negativeFillColor||K.zones||(k={value:K[this.zoneAxis+"Threshold"]||K.threshold||0,className:"highcharts-negative"},h||(k.color=K.negativeColor,k.fillColor=K.negativeFillColor),w.push(k)),w.length&&d(w[w.length-1].value)&&w.push(h?{}:{color:this.color,fillColor:this.fillColor}),s(this,"afterSetOptions",{options:K}),K}getName(){return W(this.options.name,"Series "+(this.index+1))}getCyclic(h,k,w){const X=this.chart,K=`${h}Index`,q=`${h}Counter`,st=(w==null?void 0:w.length)||X.options.chart.colorCount;if(!k){var ot=W(h==="color"?this.options.colorIndex:void 0,this[K]);d(ot)||(X.series.length||(X[q]=0),ot=X[q]%st,X[q]+=1),w&&(k=w[ot])}typeof ot<"u"&&(this[K]=ot),this[h]=k}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||L.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(h,k){const w=h.id,X=h.x,K=this.points;var q=this.options.dataSorting,st;let ot,lt;if(w)q=this.chart.get(w),q instanceof Y&&(st=q);else if((this.linkedParent||this.enabledDataSorting||this.options.relativeXValue)&&(st=ht=>!ht.touched&&ht.index===h.index,q&&q.matchByName?st=ht=>!ht.touched&&ht.name===h.name:this.options.relativeXValue&&(st=ht=>!ht.touched&&ht.options.x===h.x),st=t(K,st),!st))return;return st&&(lt=st&&st.index,typeof lt<"u"&&(ot=!0)),typeof lt>"u"&&P(X)&&(lt=this.xData.indexOf(X,k)),lt!==-1&&typeof lt<"u"&&this.cropped&&(lt=lt>=this.cropStart?lt-this.cropStart:lt),!ot&&P(lt)&&K[lt]&&K[lt].touched&&(lt=void 0),lt}updateData(h,k){const w=this.options,X=w.dataSorting,K=this.points,q=[],st=this.requireSorting,ot=h.length===K.length;let lt,ht,ut,H=!0;if(this.xIncrement=null,h.forEach(function(I,et){var J=d(I)&&this.pointClass.prototype.optionsToObject.call({series:this},I)||{};const it=J.x;J.id||P(it)?(J=this.findPointIndex(J,ut),J===-1||typeof J>"u"?q.push(I):K[J]&&I!==w.data[J]?(K[J].update(I,!1,null,!1),K[J].touched=!0,st&&(ut=J+1)):K[J]&&(K[J].touched=!0),(!ot||et!==J||X&&X.enabled||this.hasDerivedData)&&(lt=!0)):q.push(I)},this),lt)for(h=K.length;h--;)(ht=K[h])&&!ht.touched&&ht.remove&&ht.remove(!1,k);else!ot||X&&X.enabled?H=!1:(h.forEach(function(I,et){I===K[et].y||K[et].destroyed||K[et].update(I,!1,null,!1)}),q.length=0);return K.forEach(function(I){I&&(I.touched=!1)}),H?(q.forEach(function(I){this.addPoint(I,!1,null,null,!1)},this),this.xIncrement===null&&this.xData&&this.xData.length&&(this.xIncrement=E(this.xData),this.autoIncrement()),!0):!1}setData(h,k=!0,w,X){var K;const q=this,st=q.points,ot=st&&st.length||0,lt=q.options,ht=q.chart,ut=lt.dataSorting,H=q.xAxis,I=lt.turboThreshold,et=this.xData,J=this.yData;var it=q.pointArrayMap;it=it&&it.length;const dt=lt.keys;let ct,vt=0,yt=1,gt=null;if(!ht.options.chart.allowMutatingData){lt.data&&delete q.options.data,q.userOptions.data&&delete q.userOptions.data;var mt=tt(!0,h)}if(h=mt||h||[],mt=h.length,ut&&ut.enabled&&(h=this.sortData(h)),ht.options.chart.allowMutatingData&&X!==!1&&mt&&ot&&!q.cropped&&!q.hasGroupedData&&q.visible&&!q.boosted&&(ct=this.updateData(h,w)),!ct){if(q.xIncrement=null,q.colorCounter=0,this.parallelArrays.forEach(function(_t){q[_t+"Data"].length=0}),I&&mt>I)if(gt=q.getFirstValidPoint(h),P(gt))for(w=0;w<mt;w++)et[w]=this.autoIncrement(),J[w]=h[w];else if(c(gt))if(it)if(gt.length===it)for(w=0;w<mt;w++)et[w]=this.autoIncrement(),J[w]=h[w];else for(w=0;w<mt;w++)X=h[w],et[w]=X[0],J[w]=X.slice(1,it+1);else if(dt&&(vt=dt.indexOf("x"),yt=dt.indexOf("y"),vt=0<=vt?vt:0,yt=0<=yt?yt:1),gt.length===1&&(yt=0),vt===yt)for(w=0;w<mt;w++)et[w]=this.autoIncrement(),J[w]=h[w][yt];else for(w=0;w<mt;w++)X=h[w],et[w]=X[vt],J[w]=X[yt];else v(12,!1,ht);else for(w=0;w<mt;w++)X={series:q},q.pointClass.prototype.applyOptions.apply(X,[h[w]]),q.updateParallelArrays(X,w);for(J&&Z(J[0])&&v(14,!0,ht),q.data=[],q.options.data=q.userOptions.data=h,w=ot;w--;)(K=st[w])===null||K===void 0||K.destroy();H&&(H.minRange=H.userMinRange),q.isDirty=ht.isDirtyBox=!0,q.isDirtyData=!!st,w=!1}lt.legendType==="point"&&(this.processData(),this.generatePoints()),k&&ht.redraw(w)}sortData(h){const k=this,w=k.options.dataSorting.sortKey||"y",X=function(K,q){return d(q)&&K.pointClass.prototype.optionsToObject.call({series:K},q)||{}};return h.forEach(function(K,q){h[q]=X(k,K),h[q].index=q},this),h.concat().sort((K,q)=>(K=b(w,K),q=b(w,q),q<K?-1:q>K?1:0)).forEach(function(K,q){K.x=q},this),k.linkedSeries&&k.linkedSeries.forEach(function(K){const q=K.options,st=q.data;q.dataSorting&&q.dataSorting.enabled||!st||(st.forEach(function(ot,lt){st[lt]=X(K,ot),h[lt]&&(st[lt].x=h[lt].x,st[lt].index=lt)}),K.setData(st,!1))}),h}getProcessedData(h){const k=this;var w=k.xAxis,X=k.options;const K=X.cropThreshold,q=h||k.getExtremesFromAll||X.getExtremesFromAll,st=w==null?void 0:w.logarithmic,ot=k.isCartesian;let lt=0,ht;h=k.xData,X=k.yData;let ut=!1;const H=h.length;if(w){var I=w.getExtremes();ht=I.min,I=I.max,ut=!(!w.categories||w.names.length)}if(ot&&k.sorted&&!q&&(!K||H>K||k.forceCrop)){if(h[H-1]<ht||h[0]>I)h=[],X=[];else if(k.yData&&(h[0]<ht||h[H-1]>I)){var et=this.cropData(k.xData,k.yData,ht,I);h=et.xData,X=et.yData,lt=et.start,et=!0}}return w=u([st?h.map(st.log2lin):h],()=>k.requireSorting&&!ut&&v(15,!1,k.chart)),{xData:h,yData:X,cropped:et,cropStart:lt,closestPointRange:w}}processData(h){const k=this.xAxis;if(this.isCartesian&&!this.isDirty&&!k.isDirty&&!this.yAxis.isDirty&&!h)return!1;h=this.getProcessedData(),this.cropped=h.cropped,this.cropStart=h.cropStart,this.processedXData=h.xData,this.processedYData=h.yData,this.closestPointRange=this.basePointRange=h.closestPointRange,s(this,"afterProcessData")}cropData(h,k,w,X,K){const q=h.length;let st,ot=0,lt=q;for(K=W(K,this.cropShoulder),st=0;st<q;st++)if(h[st]>=w){ot=Math.max(0,st-K);break}for(w=st;w<q;w++)if(h[w]>X){lt=w+K;break}return{xData:h.slice(ot,lt),yData:k.slice(ot,lt),start:ot,end:lt}}generatePoints(){var h=this.options;const k=this.processedData||h.data,w=this.processedXData,X=this.processedYData,K=this.pointClass,q=w.length,st=this.cropStart||0,ot=this.hasGroupedData,lt=h.keys,ht=[];h=h.dataGrouping&&h.dataGrouping.groupAll?st:0;let ut,H,I,et=this.data;if(!et&&!ot){var J=[];J.length=k.length,et=this.data=J}for(lt&&ot&&(this.options.keys=!1),I=0;I<q;I++)J=st+I,ot?(H=new K().init(this,[w[I]].concat(j(X[I]))),H.dataGroup=this.groupMap[h+I],H.dataGroup.options&&(H.options=H.dataGroup.options,i(H,H.dataGroup.options),delete H.dataLabels)):(H=et[J])||typeof k[J]>"u"||(et[J]=H=new K().init(this,k[J],w[I])),H&&(H.index=ot?h+I:J,ht[I]=H);if(this.options.keys=lt,et&&(q!==(ut=et.length)||ot))for(I=0;I<ut;I++)I!==st||ot||(I+=q),et[I]&&(et[I].destroyElements(),et[I].plotX=void 0);this.data=et,this.points=ht,s(this,"afterGeneratePoints")}getXExtremes(h){return{min:T(h),max:E(h)}}getExtremes(h,k){const w=this.xAxis;var X=this.yAxis;const K=this.processedXData||this.xData,q=[],st=this.requireSorting?this.cropShoulder:0;X=X?X.positiveValuesOnly:!1;let ot,lt=0,ht=0,ut=0;h=h||this.stackedYData||this.processedYData||[];const H=h.length;if(w){var I=w.getExtremes();lt=I.min,ht=I.max}for(ot=0;ot<H;ot++){var et=K[ot];I=h[ot];var J=(P(I)||c(I))&&(I.length||0<I||!X);if(et=k||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!w||(K[ot+st]||et)>=lt&&(K[ot-st]||et)<=ht,J&&et)if(J=I.length)for(;J--;)P(I[J])&&(q[ut++]=I[J]);else q[ut++]=I}return h={activeYData:q,dataMin:T(q),dataMax:E(q)},s(this,"afterGetExtremes",{dataExtremes:h}),h}applyExtremes(){const h=this.getExtremes();return this.dataMin=h.dataMin,this.dataMax=h.dataMax,h}getFirstValidPoint(h){const k=h.length;let w=0,X=null;for(;X===null&&w<k;)X=h[w],w++;return X}translate(){var h;this.processedXData||this.processData(),this.generatePoints();var k=this.options;const w=k.stacking,X=this.xAxis,K=X.categories,q=this.enabledDataSorting,st=this.yAxis,ot=this.points,lt=ot.length,ht=this.pointPlacementToXValue(),ut=!!ht,H=k.threshold;k=k.startFromThreshold?H:0;let I,et,J,it,dt=Number.MAX_VALUE;for(I=0;I<lt;I++){const ct=ot[I],vt=ct.x;let yt,gt,mt=ct.y,_t=ct.low;const bt=w&&((h=st.stacking)===null||h===void 0?void 0:h.stacks[(this.negStacks&&mt<(k?0:H)?"-":"")+this.stackKey]);et=X.translate(vt,!1,!1,!1,!0,ht),ct.plotX=P(et)?l(A(et,-1e5,1e5)):void 0,w&&this.visible&&bt&&bt[vt]&&(it=this.getStackIndicator(it,vt,this.index),!ct.isNull&&it.key&&(yt=bt[vt],gt=yt.points[it.key]),yt&&c(gt)&&(_t=gt[0],mt=gt[1],_t===k&&it.key===bt[vt].base&&(_t=W(P(H)?H:st.min)),st.positiveValuesOnly&&d(_t)&&0>=_t&&(_t=void 0),ct.total=ct.stackTotal=W(yt.total),ct.percentage=d(ct.y)&&yt.total?ct.y/yt.total*100:void 0,ct.stackY=mt,this.irregularWidths||yt.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),ct.yBottom=d(_t)?A(st.translate(_t,!1,!0,!1,!0),-1e5,1e5):void 0,this.dataModify&&(mt=this.dataModify.modifyValue(mt,I));let wt;P(mt)&&ct.plotX!==void 0&&(wt=st.translate(mt,!1,!0,!1,!0),wt=P(wt)?A(wt,-1e5,1e5):void 0),ct.plotY=wt,ct.isInside=this.isPointInside(ct),ct.clientX=ut?l(X.translate(vt,!1,!1,!1,!0,ht)):et,ct.negative=(ct.y||0)<(H||0),ct.category=W(K&&K[ct.x],ct.x),ct.isNull||ct.visible===!1||(typeof J<"u"&&(dt=Math.min(dt,Math.abs(et-J))),J=et),ct.zone=this.zones.length?ct.getZone():void 0,!ct.graphic&&this.group&&q&&(ct.isNew=!0)}this.closestPointRangePx=dt,s(this,"afterTranslate")}getValidPoints(h,k,w){const X=this.chart;return(h||this.points||[]).filter(function(K){const{plotX:q,plotY:st}=K;return!w&&(K.isNull||!P(st))||k&&!X.isInsidePlot(q,st,{inverted:X.inverted})?!1:K.visible!==!1})}getClipBox(){const{chart:h,xAxis:k,yAxis:w}=this,X=tt(h.clipBox);return k&&k.len!==h.plotSizeX&&(X.width=k.len),w&&w.len!==h.plotSizeY&&(X.height=w.len),X}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0)}setClip(){const{chart:h,group:k,markerGroup:w}=this,X=h.sharedClips,K=h.renderer,q=this.getClipBox(),st=this.getSharedClipKey();let ot=X[st];ot?ot.animate(q):X[st]=ot=K.clipRect(q),k&&k.clip(this.options.clip===!1?void 0:ot),w&&w.clip()}animate(h){const{chart:k,group:w,markerGroup:X}=this,K=k.inverted;var q=_(this.options.animation),st=[this.getSharedClipKey(),q.duration,q.easing,q.defer].join();let ot=k.sharedClips[st],lt=k.sharedClips[st+"m"];if(h&&w)q=this.getClipBox(),ot?ot.attr("height",q.height):(q.width=0,K&&(q.x=k.plotHeight),ot=k.renderer.clipRect(q),k.sharedClips[st]=ot,lt=k.renderer.clipRect({x:-99,y:-99,width:K?k.plotWidth+199:99,height:K?99:k.plotHeight+199}),k.sharedClips[st+"m"]=lt),w.clip(ot),X&&X.clip(lt);else if(ot&&!ot.hasClass("highcharts-animating")){st=this.getClipBox();const ht=q.step;X&&X.element.childNodes.length&&(q.step=function(ut,H){ht&&ht.apply(H,arguments),H.prop==="width"&<&<.element&<.attr(K?"height":"width",ut+99)}),ot.addClass("highcharts-animating").animate(st,q)}}afterAnimate(){this.setClip(),at(this.chart.sharedClips,(h,k,w)=>{h&&!this.chart.container.querySelector(`[clip-path="url(#${h.id})"]`)&&(h.destroy(),delete w[k])}),this.finishedAnimating=!0,s(this,"afterAnimate")}drawPoints(h=this.points){const k=this.chart,w=k.styledMode,{colorAxis:X,options:K}=this,q=K.marker,st=this[this.specialGroup||"markerGroup"],ot=this.xAxis,lt=W(q.enabled,!ot||ot.isRadial?!0:null,this.closestPointRangePx>=q.enabledThreshold*q.radius);let ht,ut,H,I,et,J;if(q.enabled!==!1||this._hasPointMarkers)for(ht=0;ht<h.length;ht++){ut=h[ht],I=(H=ut.graphic)?"animate":"attr";var it=ut.marker||{};if(et=!!ut.marker,(lt&&typeof it.enabled>"u"||it.enabled)&&!ut.isNull&&ut.visible!==!1){const dt=W(it.symbol,this.symbol,"rect");J=this.markerAttribs(ut,ut.selected&&"select"),this.enabledDataSorting&&(ut.startXPos=ot.reversed?-(J.width||0):ot.width);const ct=ut.isInside!==!1;!H&&ct&&(0<(J.width||0)||ut.hasImage)&&(ut.graphic=H=k.renderer.symbol(dt,J.x,J.y,J.width,J.height,et?it:q).add(st),this.enabledDataSorting&&k.hasRendered&&(H.attr({x:ut.startXPos}),I="animate")),H&&I==="animate"&&H[ct?"show":"hide"](ct).animate(J),H&&(it=this.pointAttribs(ut,w||!ut.selected?void 0:"select"),w?X&&H.css({fill:it.fill}):H[I](it)),H&&H.addClass(ut.getClassName(),!0)}else H&&(ut.graphic=H.destroy())}}markerAttribs(h,k){const w=this.options;var X=w.marker;const K=h.marker||{},q=K.symbol||X.symbol,st={};let ot=W(K.radius,X&&X.radius);return k&&(X=X.states[k],k=K.states&&K.states[k],ot=W(k&&k.radius,X&&X.radius,ot&&ot+(X&&X.radiusPlus||0))),h.hasImage=q&&q.indexOf("url")===0,h.hasImage&&(ot=0),h=h.pos(),P(ot)&&h&&(st.x=h[0]-ot,st.y=h[1]-ot,w.crisp&&(st.x=Math.floor(st.x))),ot&&(st.width=st.height=2*ot),st}pointAttribs(h,k){var w=this.options.marker,X=h&&h.options;const K=X&&X.marker||{};var q=X&&X.color,st=h&&h.color;const ot=h&&h.zone&&h.zone.color;let lt=this.color;return h=W(K.lineWidth,w.lineWidth),X=1,lt=q||ot||st||lt,q=K.fillColor||w.fillColor||lt,st=K.lineColor||w.lineColor||lt,k=k||"normal",w=w.states[k]||{},k=K.states&&K.states[k]||{},h=W(k.lineWidth,w.lineWidth,h+W(k.lineWidthPlus,w.lineWidthPlus,0)),q=k.fillColor||w.fillColor||q,st=k.lineColor||w.lineColor||st,X=W(k.opacity,w.opacity,X),{stroke:st,"stroke-width":h,fill:q,opacity:X}}destroy(h){const k=this,w=k.chart,X=/AppleWebKit\/533/.test(S.navigator.userAgent),K=k.data||[];let q,st,ot,lt;for(s(k,"destroy",{keepEventsForUpdate:h}),this.removeEvents(h),(k.axisTypes||[]).forEach(function(ht){(lt=k[ht])&<.series&&(f(lt.series,k),lt.isDirty=lt.forceRedraw=!0)}),k.legendItem&&k.chart.legend.destroyItem(k),st=K.length;st--;)(ot=K[st])&&ot.destroy&&ot.destroy();k.clips&&k.clips.forEach(ht=>ht.destroy()),R.clearTimeout(k.animationTimeout),at(k,function(ht,ut){ht instanceof $&&!ht.survive&&(q=X&&ut==="group"?"hide":"destroy",ht[q]())}),w.hoverSeries===k&&(w.hoverSeries=void 0),f(w.series,k),w.orderItems("series"),at(k,function(ht,ut){h&&ut==="hcEvents"||delete k[ut]})}applyZones(){const h=this,k=this.chart,w=k.renderer,X=this.zones,K=this.clips||[],q=this.graph,st=this.area,ot=Math.max(k.plotWidth,k.plotHeight),lt=this[(this.zoneAxis||"y")+"Axis"],ht=k.inverted;let ut,H,I,et,J,it,dt,ct,vt,yt,gt,mt=!1;X.length&&(q||st)&<&&typeof lt.min<"u"?(J=lt.reversed,it=lt.horiz,q&&!this.showLine&&q.hide(),st&&st.hide(),et=lt.getExtremes(),X.forEach(function(_t,bt){ut=J?it?k.plotWidth:0:it?0:lt.toPixels(et.min)||0,ut=A(W(H,ut),0,ot),H=A(Math.round(lt.toPixels(W(_t.value,et.max),!0)||0),0,ot),mt&&(ut=H=lt.toPixels(et.max)),dt=Math.abs(ut-H),ct=Math.min(ut,H),vt=Math.max(ut,H),lt.isXAxis?(I={x:ht?vt:ct,y:0,width:dt,height:ot},it||(I.x=k.plotHeight-I.x)):(I={x:0,y:ht?vt:ct,width:ot,height:dt},it&&(I.y=k.plotWidth-I.y)),K[bt]?K[bt].animate(I):K[bt]=w.clipRect(I),yt=h["zone-area-"+bt],gt=h["zone-graph-"+bt],q&>&>.clip(K[bt]),st&&yt&&yt.clip(K[bt]),mt=_t.value>et.max,h.resetZones&&H===0&&(H=void 0)}),this.clips=K):h.visible&&(q&&q.show(),st&&st.show())}plotGroup(h,k,w,X,K){let q=this[h];const st=!q;return w={visibility:w,zIndex:X||.1},typeof this.opacity>"u"||this.chart.styledMode||this.state==="inactive"||(w.opacity=this.opacity),st&&(this[h]=q=this.chart.renderer.g().add(K)),q.addClass("highcharts-"+k+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(d(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(q.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),q.attr(w)[st?"attr":"animate"](this.getPlotBox(k)),q}getPlotBox(h){let k=this.xAxis,w=this.yAxis;const X=this.chart;return h=X.inverted&&!X.polar&&k&&this.invertible!==!1&&h==="series",X.inverted&&(k=w,w=this.xAxis),{translateX:k?k.left:X.plotLeft,translateY:w?w.top:X.plotTop,rotation:h?90:0,rotationOriginX:h?(k.len-w.len)/2:0,rotationOriginY:h?(k.len+w.len)/2:0,scaleX:h?-1:1,scaleY:1}}removeEvents(h){h||o(this),this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(k){k()}),this.eventsToUnbind.length=0)}render(){const h=this;var k=h.chart;const w=h.options,X=_(w.animation),K=h.visible?"inherit":"hidden",q=w.zIndex,st=h.hasRendered;k=k.seriesGroup;let ot=h.finishedAnimating?0:X.duration;s(this,"render"),h.plotGroup("group","series",K,q,k),h.markerGroup=h.plotGroup("markerGroup","markers",K,q,k),w.clip!==!1&&h.setClip(),h.animate&&ot&&h.animate(!0),h.drawGraph&&(h.drawGraph(),h.applyZones()),h.visible&&h.drawPoints(),h.drawDataLabels&&h.drawDataLabels(),h.redrawPoints&&h.redrawPoints(),h.drawTracker&&w.enableMouseTracking&&h.drawTracker(),h.animate&&ot&&h.animate(),st||(ot&&X.defer&&(ot+=X.defer),h.animationTimeout=F(function(){h.afterAnimate()},ot||0)),h.isDirty=!1,h.hasRendered=!0,s(h,"afterRender")}redraw(){const h=this.isDirty||this.isDirtyData;this.translate(),this.render(),h&&delete this.kdTree}searchPoint(h,k){const w=this.xAxis,X=this.yAxis,K=this.chart.inverted;return this.searchKDTree({clientX:K?w.len-h.chartY+w.pos:h.chartX-w.pos,plotY:K?X.len-h.chartX+X.pos:h.chartY-X.pos},k,h)}buildKDTree(h){function k(K,q,st){var ot=K&&K.length;let lt;if(ot)return lt=w.kdAxisArray[q%st],K.sort(function(ht,ut){return ht[lt]-ut[lt]}),ot=Math.floor(ot/2),{point:K[ot],left:k(K.slice(0,ot),q+1,st),right:k(K.slice(ot+1),q+1,st)}}this.buildingKdTree=!0;const w=this,X=-1<w.options.findNearestPointBy.indexOf("y")?2:1;delete w.kdTree,F(function(){w.kdTree=k(w.getValidPoints(null,!w.directTouch),X,X),w.buildingKdTree=!1},w.options.kdNow||h&&h.type==="touchstart"?0:1)}searchKDTree(h,k,w){function X(lt,ht,ut,H){const I=ht.point;var et=K.kdAxisArray[ut%H];let J=I;var it=d(lt[q])&&d(I[q])?Math.pow(lt[q]-I[q],2):null,dt=d(lt[st])&&d(I[st])?Math.pow(lt[st]-I[st],2):null;return dt=(it||0)+(dt||0),I.dist=d(dt)?Math.sqrt(dt):Number.MAX_VALUE,I.distX=d(it)?Math.sqrt(it):Number.MAX_VALUE,et=lt[et]-I[et],dt=0>et?"left":"right",it=0>et?"right":"left",ht[dt]&&(dt=X(lt,ht[dt],ut+1,H),J=dt[ot]<J[ot]?dt:I),ht[it]&&Math.sqrt(et*et)<J[ot]&&(lt=X(lt,ht[it],ut+1,H),J=lt[ot]<J[ot]?lt:J),J}const K=this,q=this.kdAxisArray[0],st=this.kdAxisArray[1],ot=k?"distX":"dist";if(k=-1<K.options.findNearestPointBy.indexOf("y")?2:1,this.kdTree||this.buildingKdTree||this.buildKDTree(w),this.kdTree)return X(h,this.kdTree,k,k)}pointPlacementToXValue(){const{options:{pointPlacement:h,pointRange:k},xAxis:w}=this;let X=h;return X==="between"&&(X=w.reversed?-.5:.5),P(X)?X*(k||w.pointRange):0}isPointInside(h){const{chart:k,xAxis:w,yAxis:X}=this;return typeof h.plotY<"u"&&typeof h.plotX<"u"&&0<=h.plotY&&h.plotY<=(X?X.len:k.plotHeight)&&0<=h.plotX&&h.plotX<=(w?w.len:k.plotWidth)}drawTracker(){const h=this,k=h.options,w=k.trackByArea,X=[].concat(w?h.areaPath:h.graphPath),K=h.chart,q=K.pointer,st=K.renderer,ot=K.options.tooltip.snap,lt=h.tracker,ht=function(H){k.enableMouseTracking&&K.hoverSeries!==h&&h.onMouseOver()},ut="rgba(192,192,192,"+(C?1e-4:.002)+")";lt?lt.attr({d:X}):h.graph&&(h.tracker=st.path(X).attr({visibility:h.visible?"inherit":"hidden",zIndex:2}).addClass(w?"highcharts-tracker-area":"highcharts-tracker-line").add(h.group),K.styledMode||h.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:ut,fill:w?ut:"none","stroke-width":h.graph.strokeWidth()+(w?0:2*ot)}),[h.tracker,h.markerGroup,h.dataLabelsGroup].forEach(function(H){H&&(H.addClass("highcharts-tracker").on("mouseover",ht).on("mouseout",function(I){q.onTrackerMouseOut(I)}),k.cursor&&!K.styledMode&&H.css({cursor:k.cursor}),m)&&H.on("touchstart",ht)})),s(this,"afterDrawTracker")}addPoint(h,k,w,X,K){const q=this.options,st=this.data,ot=this.chart;var lt=this.xAxis;lt=lt&<.hasNames&<.names;const ht=q.data,ut=this.xData;let H,I;k=W(k,!0);const et={series:this};this.pointClass.prototype.applyOptions.apply(et,[h]);const J=et.x;if(I=ut.length,this.requireSorting&&J<ut[I-1])for(H=!0;I&&ut[I-1]>J;)I--;this.updateParallelArrays(et,"splice",[I,0,0]),this.updateParallelArrays(et,I),lt&&et.name&&(lt[J]=et.name),ht.splice(I,0,h),(H||this.processedData)&&(this.data.splice(I,0,null),this.processData()),q.legendType==="point"&&this.generatePoints(),w&&(st[0]&&st[0].remove?st[0].remove(!1):(st.shift(),this.updateParallelArrays(et,"shift"),ht.shift())),K!==!1&&s(this,"addPoint",{point:et}),this.isDirtyData=this.isDirty=!0,k&&ot.redraw(X)}removePoint(h,k,w){const X=this,K=X.data,q=K[h],st=X.points,ot=X.chart,lt=function(){st&&st.length===K.length&&st.splice(h,1),K.splice(h,1),X.options.data.splice(h,1),X.updateParallelArrays(q||{series:X},"splice",[h,1]),q&&q.destroy(),X.isDirty=!0,X.isDirtyData=!0,k&&ot.redraw()};M(w,ot),k=W(k,!0),q?q.firePointEvent("remove",null,lt):lt()}remove(h,k,w,X){function K(){q.destroy(X),st.isDirtyLegend=st.isDirtyBox=!0,st.linkSeries(X),W(h,!0)&&st.redraw(k)}const q=this,st=q.chart;w!==!1?s(q,"remove",null,K):K()}update(h,k){h=x(h,this.userOptions),s(this,"update",{options:h});const w=this,X=w.chart;var K=w.userOptions;const q=w.initialType||w.type;var st=X.options.plotOptions;const ot=y[q].prototype;var lt=w.finishedAnimating&&{animation:!1};const ht={};let ut,H=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],I=h.type||K.type||X.options.chart.type;const et=!(this.hasDerivedData||I&&I!==this.type||typeof h.pointStart<"u"||typeof h.pointInterval<"u"||typeof h.relativeXValue<"u"||h.joinBy||h.mapData||w.hasOptionChanged("dataGrouping")||w.hasOptionChanged("pointStart")||w.hasOptionChanged("pointInterval")||w.hasOptionChanged("pointIntervalUnit")||w.hasOptionChanged("keys"));if(I=I||q,et&&(H.push("data","isDirtyData","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX"),h.visible!==!1&&H.push("area","graph"),w.parallelArrays.forEach(function(J){H.push(J+"Data")}),h.data&&(h.dataSorting&&i(w.options.dataSorting,h.dataSorting),this.setData(h.data,!1))),h=tt(K,lt,{index:typeof K.index>"u"?w.index:K.index,pointStart:W(st&&st.series&&st.series.pointStart,K.pointStart,w.xData[0])},!et&&{data:w.options.data},h),et&&h.data&&(h.data=w.options.data),H=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(H),H.forEach(function(J){H[J]=w[J],delete w[J]}),st=!1,y[I]){if(st=I!==w.type,w.remove(!1,!1,!1,!0),st)if(Object.setPrototypeOf)Object.setPrototypeOf(w,y[I].prototype);else{lt=Object.hasOwnProperty.call(w,"hcEvents")&&w.hcEvents;for(ut in ot)w[ut]=void 0;i(w,y[I].prototype),lt?w.hcEvents=lt:delete w.hcEvents}}else v(17,!0,X,{missingModuleFor:I});if(H.forEach(function(J){w[J]=H[J]}),w.init(X,h),et&&this.points){if(h=w.options,h.visible===!1)ht.graphic=1,ht.dataLabel=1;else if(!w._hasPointLabels){const{marker:J,dataLabels:it}=h;K=K.marker||{},!J||J.enabled!==!1&&K.symbol===J.symbol&&K.height===J.height&&K.width===J.width||(ht.graphic=1),it&&it.enabled===!1&&(ht.dataLabel=1)}for(const J of this.points)J&&J.series&&(J.resolveColor(),Object.keys(ht).length&&J.destroyElements(ht),h.showInLegend===!1&&J.legendItem&&X.legend.destroyItem(J))}w.initialType=q,X.linkSeries(),st&&w.linkedSeries.length&&(w.isDirtyData=!0),s(this,"afterUpdate"),W(k,!0)&&X.redraw(et?void 0:!1)}setName(h){this.name=this.options.name=this.userOptions.name=h,this.chart.isDirtyLegend=!0}hasOptionChanged(h){const k=this.options[h],w=this.chart.options.plotOptions,X=this.userOptions[h];return X?k!==X:k!==W(w&&w[this.type]&&w[this.type][h],w&&w.series&&w.series[h],k)}onMouseOver(){const h=this.chart,k=h.hoverSeries;h.pointer.setHoverChartIndex(),k&&k!==this&&k.onMouseOut(),this.options.events.mouseOver&&s(this,"mouseOver"),this.setState("hover"),h.hoverSeries=this}onMouseOut(){const h=this.options,k=this.chart,w=k.tooltip,X=k.hoverPoint;k.hoverSeries=null,X&&X.onMouseOut(),this&&h.events.mouseOut&&s(this,"mouseOut"),!w||this.stickyTracking||w.shared&&!this.noSharedTooltip||w.hide(),k.series.forEach(function(K){K.setState("",!0)})}setState(h,k){const w=this;var X=w.options;const K=w.graph,q=X.inactiveOtherPoints,st=X.states,ot=W(st[h||"normal"]&&st[h||"normal"].animation,w.chart.options.chart.animation);let lt=X.lineWidth,ht=0,ut=X.opacity;if(h=h||"",w.state!==h&&([w.group,w.markerGroup,w.dataLabelsGroup].forEach(function(H){H&&(w.state&&H.removeClass("highcharts-series-"+w.state),h&&H.addClass("highcharts-series-"+h))}),w.state=h,!w.chart.styledMode)){if(st[h]&&st[h].enabled===!1)return;if(h&&(lt=st[h].lineWidth||lt+(st[h].lineWidthPlus||0),ut=W(st[h].opacity,ut)),K&&!K.dashstyle&&P(lt))for(X={"stroke-width":lt},K.animate(X,ot);w["zone-graph-"+ht];)w["zone-graph-"+ht].animate(X,ot),ht+=1;q||[w.group,w.markerGroup,w.dataLabelsGroup,w.labelBySeries].forEach(function(H){H&&H.animate({opacity:ut},ot)})}k&&q&&w.points&&w.setAllPointsToState(h||void 0)}setAllPointsToState(h){this.points.forEach(function(k){k.setState&&k.setState(h)})}setVisible(h,k){const w=this,X=w.chart,K=X.options.chart.ignoreHiddenSeries,q=w.visible,st=(w.visible=h=w.options.visible=w.userOptions.visible=typeof h>"u"?!q:h)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(ot){w[ot]&&w[ot][st]()}),(X.hoverSeries===w||(X.hoverPoint&&X.hoverPoint.series)===w)&&w.onMouseOut(),w.legendItem&&X.legend.colorizeItem(w,h),w.isDirty=!0,w.options.stacking&&X.series.forEach(function(ot){ot.options.stacking&&ot.visible&&(ot.isDirty=!0)}),w.linkedSeries.forEach(function(ot){ot.setVisible(h,!1)}),K&&(X.isDirtyBox=!0),s(w,st),k!==!1&&X.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(h){this.selected=h=this.options.selected=typeof h>"u"?!this.selected:h,this.checkbox&&(this.checkbox.checked=h),s(this,h?"select":"unselect")}shouldShowTooltip(h,k,w={}){return w.series=this,w.visiblePlotOnly=!0,this.chart.isInsidePlot(h,k,w)}drawLegendSymbol(h,k){var w;(w=V[this.options.legendSymbol||"rectangle"])===null||w===void 0||w.call(this,h,k)}}return N.defaultOptions=G,N.types=D.seriesTypes,N.registerType=D.registerSeriesType,i(N.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:Y,requireSorting:!0,sorted:!0}),D.series=N,N}),n(r,"Core/Chart/Chart.js",[r["Core/Animation/AnimationUtilities.js"],r["Core/Axis/Axis.js"],r["Core/Defaults.js"],r["Core/Templating.js"],r["Core/Foundation.js"],r["Core/Globals.js"],r["Core/Renderer/RendererRegistry.js"],r["Core/Series/Series.js"],r["Core/Series/SeriesRegistry.js"],r["Core/Renderer/SVG/SVGRenderer.js"],r["Core/Time.js"],r["Core/Utilities.js"],r["Core/Renderer/HTML/AST.js"]],function(p,g,O,U,V,Y,G,D,$,R,_,M,L){const{animate:z,animObject:m,setAnimation:C}=p,{defaultOptions:S,defaultTime:y}=O,{numberFormat:E}=U,{registerEventOptions:T}=V,{charts:A,doc:l,marginNames:d,svg:x,win:f}=Y,{seriesTypes:v}=$,{addEvent:i,attr:t,createElement:s,css:u,defined:b,diffObjects:B,discardElement:c,erase:P,error:Z,extend:tt,find:at,fireEvent:W,getStyle:o,isArray:j,isNumber:F,isObject:N,isString:Q,merge:h,objectEach:k,pick:w,pInt:X,relativeLength:K,removeEvent:q,splat:st,syncTimeout:ot,uniqueKey:lt}=M;class ht{static chart(H,I,et){return new ht(H,I,et)}constructor(H,I,et){this.series=this.renderTo=this.renderer=this.pointer=this.pointCount=this.plotWidth=this.plotTop=this.plotLeft=this.plotHeight=this.plotBox=this.options=this.numberFormatter=this.margin=this.labelCollectors=this.isResizing=this.index=this.eventOptions=this.container=this.colorCounter=this.clipBox=this.chartWidth=this.chartHeight=this.bounds=this.axisOffset=this.axes=void 0,this.sharedClips={},this.zooming=this.yAxis=this.xAxis=this.userOptions=this.titleOffset=this.time=this.symbolCounter=this.spacingBox=this.spacing=void 0,this.getArgs(H,I,et)}getArgs(H,I,et){Q(H)||H.nodeName?(this.renderTo=H,this.init(I,et)):this.init(H,I)}setZoomOptions(){const H=this.options.chart,I=H.zooming;this.zooming=Object.assign(Object.assign({},I),{type:w(H.zoomType,I.type),key:w(H.zoomKey,I.key),pinchType:w(H.pinchType,I.pinchType),singleTouch:w(H.zoomBySingleTouch,I.singleTouch,!1),resetButton:h(I.resetButton,H.resetZoomButton)})}init(H,I){W(this,"init",{args:arguments},function(){const et=h(S,H),J=et.chart;this.userOptions=tt({},H),this.margin=[],this.spacing=[],this.bounds={h:{},v:{}},this.labelCollectors=[],this.callback=I,this.isResizing=0,this.options=et,this.axes=[],this.series=[],this.time=H.time&&Object.keys(H.time).length?new _(H.time):Y.time,this.numberFormatter=J.numberFormatter||E,this.styledMode=J.styledMode,this.hasCartesianSeries=J.showAxes,this.index=A.length,A.push(this),Y.chartCount++,T(this,J),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),W(this,"afterInit"),this.firstRender()})}initSeries(H){var I=this.options.chart;I=H.type||I.type;const et=v[I];return et||Z(17,!0,this,{missingModuleFor:I}),I=new et,typeof I.init=="function"&&I.init(this,H),I}setSeriesData(){this.getSeriesOrderByLinks().forEach(function(H){H.points||H.data||!H.enabledDataSorting||H.setData(H.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(H,I){return H.linkedSeries.length||I.linkedSeries.length?I.linkedSeries.length-H.linkedSeries.length:0})}orderItems(H,I=0){const et=this[H],J=this.options[H]=st(this.options[H]).slice();if(H=this.userOptions[H]=this.userOptions[H]?st(this.userOptions[H]).slice():[],this.hasRendered&&(J.splice(I),H.splice(I)),et)for(let it=I,dt=et.length;it<dt;++it)(I=et[it])&&(I.index=it,I instanceof D&&(I.name=I.getName()),I.options.isInternal||(J[it]=I.options,H[it]=I.userOptions))}isInsidePlot(H,I,et={}){const{inverted:J,plotBox:it,plotLeft:dt,plotTop:ct,scrollablePlotBox:vt}=this;var yt=0;let gt=0;et.visiblePlotOnly&&this.scrollingContainer&&({scrollLeft:yt,scrollTop:gt}=this.scrollingContainer);const mt=et.series,_t=et.visiblePlotOnly&&vt||it;var bt=et.inverted?I:H;if(I=et.inverted?H:I,H={x:bt,y:I,isInsidePlot:!0,options:et},!et.ignoreX){const wt=mt&&(J&&!this.polar?mt.yAxis:mt.xAxis)||{pos:dt,len:1/0};bt=et.paneCoordinates?wt.pos+bt:dt+bt,bt>=Math.max(yt+dt,wt.pos)&&bt<=Math.min(yt+dt+_t.width,wt.pos+wt.len)||(H.isInsidePlot=!1)}return!et.ignoreY&&H.isInsidePlot&&(yt=!J&&et.axis&&!et.axis.isXAxis&&et.axis||mt&&(J?mt.xAxis:mt.yAxis)||{pos:ct,len:1/0},et=et.paneCoordinates?yt.pos+I:ct+I,et>=Math.max(gt+ct,yt.pos)&&et<=Math.min(gt+ct+_t.height,yt.pos+yt.len)||(H.isInsidePlot=!1)),W(this,"afterIsInsidePlot",H),H.isInsidePlot}redraw(H){W(this,"beforeRedraw");const I=this.hasCartesianSeries?this.axes:this.colorAxis||[],et=this.series,J=this.pointer,it=this.legend,dt=this.userOptions.legend,ct=this.renderer,vt=ct.isHidden(),yt=[];let gt,mt,_t=this.isDirtyBox,bt=this.isDirtyLegend,wt;for(ct.rootFontSize=ct.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),C(this.hasRendered?H:!1,this),vt&&this.temporaryDisplay(),this.layOutTitles(!1),H=et.length;H--;)if(wt=et[H],(wt.options.stacking||wt.options.centerInCategory)&&(mt=!0,wt.isDirty)){gt=!0;break}if(gt)for(H=et.length;H--;)wt=et[H],wt.options.stacking&&(wt.isDirty=!0);et.forEach(function(Ct){Ct.isDirty&&(Ct.options.legendType==="point"?(typeof Ct.updateTotals=="function"&&Ct.updateTotals(),bt=!0):dt&&(dt.labelFormatter||dt.labelFormat)&&(bt=!0)),Ct.isDirtyData&&W(Ct,"updatedData")}),bt&&it&&it.options.enabled&&(it.render(),this.isDirtyLegend=!1),mt&&this.getStacks(),I.forEach(function(Ct){Ct.updateNames(),Ct.setScale()}),this.getMargins(),I.forEach(function(Ct){Ct.isDirty&&(_t=!0)}),I.forEach(function(Ct){const Lt=Ct.min+","+Ct.max;Ct.extKey!==Lt&&(Ct.extKey=Lt,yt.push(function(){W(Ct,"afterSetExtremes",tt(Ct.eventArgs,Ct.getExtremes())),delete Ct.eventArgs})),(_t||mt)&&Ct.redraw()}),_t&&this.drawChartBox(),W(this,"predraw"),et.forEach(function(Ct){(_t||Ct.isDirty)&&Ct.visible&&Ct.redraw(),Ct.isDirtyData=!1}),J&&J.reset(!0),ct.draw(),W(this,"redraw"),W(this,"render"),vt&&this.temporaryDisplay(!0),yt.forEach(function(Ct){Ct.call()})}get(H){function I(it){return it.id===H||it.options&&it.options.id===H}const et=this.series;let J=at(this.axes,I)||at(this.series,I);for(let it=0;!J&&it<et.length;it++)J=at(et[it].points||[],I);return J}getAxes(){const H=this.options;W(this,"getAxes");for(const I of["xAxis","yAxis"]){const et=H[I]=st(H[I]||{});for(const J of et)new g(this,J,I)}W(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((H,I)=>(I.getPointsCollection().forEach(et=>{w(et.selectedStaging,et.selected)&&H.push(et)}),H),[])}getSelectedSeries(){return this.series.filter(function(H){return H.selected})}setTitle(H,I,et){this.applyDescription("title",H),this.applyDescription("subtitle",I),this.applyDescription("caption",void 0),this.layOutTitles(et)}applyDescription(H,I){const et=this,J=this.options[H]=h(this.options[H],I);let it=this[H];it&&I&&(this[H]=it=it.destroy()),J&&!it&&(it=this.renderer.text(J.text,0,0,J.useHTML).attr({align:J.align,class:"highcharts-"+H,zIndex:J.zIndex||4}).add(),it.update=function(dt,ct){et.applyDescription(H,dt),et.layOutTitles(ct)},this.styledMode||it.css(tt(H==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},J.style)),this[H]=it)}layOutTitles(H=!0){const I=[0,0,0],et=this.renderer,J=this.spacingBox;["title","subtitle","caption"].forEach(function(dt){const ct=this[dt],vt=this.options[dt],yt=vt.verticalAlign||"top";if(dt=dt==="title"?yt==="top"?-3:0:yt==="top"?I[0]+2:0,ct){ct.css({width:(vt.width||J.width+(vt.widthAdjust||0))+"px"});const gt=et.fontMetrics(ct).b,mt=Math.round(ct.getBBox(vt.useHTML).height);ct.align(tt({y:yt==="bottom"?gt:dt+gt,height:mt},vt),!1,"spacingBox"),vt.floating||(yt==="top"?I[0]=Math.ceil(I[0]+mt):yt==="bottom"&&(I[2]=Math.ceil(I[2]+mt)))}},this),I[0]&&(this.options.title.verticalAlign||"top")==="top"&&(I[0]+=this.options.title.margin),I[2]&&this.options.caption.verticalAlign==="bottom"&&(I[2]+=this.options.caption.margin);const it=!this.titleOffset||this.titleOffset.join(",")!==I.join(",");this.titleOffset=I,W(this,"afterLayOutTitles"),!this.isDirtyBox&&it&&(this.isDirtyBox=this.isDirtyLegend=it,this.hasRendered&&H&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:o(this.renderTo,"width",!0)||0,height:o(this.renderTo,"height",!0)||0}}getChartSize(){var H=this.options.chart;const I=H.width;H=H.height;const et=this.getContainerBox();this.chartWidth=Math.max(0,I||et.width||600),this.chartHeight=Math.max(0,K(H,this.chartWidth)||(1<et.height?et.height:400)),this.containerBox=et}temporaryDisplay(H){let I=this.renderTo;if(H)for(;I&&I.style;)I.hcOrigStyle&&(u(I,I.hcOrigStyle),delete I.hcOrigStyle),I.hcOrigDetached&&(l.body.removeChild(I),I.hcOrigDetached=!1),I=I.parentNode;else for(;I&&I.style&&(l.body.contains(I)||I.parentNode||(I.hcOrigDetached=!0,l.body.appendChild(I)),(o(I,"display",!1)==="none"||I.hcOricDetached)&&(I.hcOrigStyle={display:I.style.display,height:I.style.height,overflow:I.style.overflow},H={display:"block",overflow:"hidden"},I!==this.renderTo&&(H.height=0),u(I,H),I.offsetWidth||I.style.setProperty("display","block","important")),I=I.parentNode,I!==l.body););}setClassName(H){this.container.className="highcharts-container "+(H||"")}getContainer(){const H=this.options,I=H.chart;var et=lt();let J,it=this.renderTo;it||(this.renderTo=it=I.renderTo),Q(it)&&(this.renderTo=it=l.getElementById(it)),it||Z(13,!0,this);var dt=X(t(it,"data-highcharts-chart"));F(dt)&&A[dt]&&A[dt].hasRendered&&A[dt].destroy(),t(it,"data-highcharts-chart",this.index),it.innerHTML=L.emptyHTML,I.skipClone||it.offsetWidth||this.temporaryDisplay(),this.getChartSize(),dt=this.chartWidth;const ct=this.chartHeight;if(u(it,{overflow:"hidden"}),this.styledMode||(J=tt({position:"relative",overflow:"hidden",width:dt+"px",height:ct+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},I.style||{})),this.container=et=s("div",{id:et},J,it),this._cursor=et.style.cursor,this.renderer=new(I.renderer||!x?G.getRendererType(I.renderer):R)(et,dt,ct,void 0,I.forExport,H.exporting&&H.exporting.allowHTML,this.styledMode),this.containerBox=this.getContainerBox(),C(void 0,this),this.setClassName(I.className),this.styledMode)for(const vt in H.defs)this.renderer.definition(H.defs[vt]);else this.renderer.setStyle(I.style);this.renderer.chartIndex=this.index,W(this,"afterGetContainer")}getMargins(H){const{spacing:I,margin:et,titleOffset:J}=this;this.resetMargins(),J[0]&&!b(et[0])&&(this.plotTop=Math.max(this.plotTop,J[0]+I[0])),J[2]&&!b(et[2])&&(this.marginBottom=Math.max(this.marginBottom,J[2]+I[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(et,I),W(this,"getMargins"),H||this.getAxisMargins()}getAxisMargins(){const H=this,I=H.axisOffset=[0,0,0,0],et=H.colorAxis,J=H.margin,it=function(dt){dt.forEach(function(ct){ct.visible&&ct.getOffset()})};H.hasCartesianSeries?it(H.axes):et&&et.length&&it(et),d.forEach(function(dt,ct){b(J[ct])||(H[dt]+=I[ct])}),H.setChartSize()}getOptions(){return B(this.userOptions,S)}reflow(H){const I=this;var et=I.options.chart;et=b(et.width)&&b(et.height);const J=I.containerBox,it=I.getContainerBox();delete I.pointer.chartPosition,!et&&!I.isPrinting&&J&&it.width&&((it.width!==J.width||it.height!==J.height)&&(M.clearTimeout(I.reflowTimeout),I.reflowTimeout=ot(function(){I.container&&I.setSize(void 0,void 0,!1)},H?100:0)),I.containerBox=it)}setReflow(){const H=this;var I=et=>{var J;!((J=H.options)===null||J===void 0)&&J.chart.reflow&&H.hasLoaded&&H.reflow(et)};typeof ResizeObserver=="function"?new ResizeObserver(I).observe(H.renderTo):(I=i(f,"resize",I),i(this,"destroy",I))}setSize(H,I,et){const J=this,it=J.renderer;J.isResizing+=1,C(et,J),et=it.globalAnimation,J.oldChartHeight=J.chartHeight,J.oldChartWidth=J.chartWidth,typeof H<"u"&&(J.options.chart.width=H),typeof I<"u"&&(J.options.chart.height=I),J.getChartSize(),J.styledMode||(et?z:u)(J.container,{width:J.chartWidth+"px",height:J.chartHeight+"px"},et),J.setChartSize(!0),it.setSize(J.chartWidth,J.chartHeight,et),J.axes.forEach(function(dt){dt.isDirty=!0,dt.setScale()}),J.isDirtyLegend=!0,J.isDirtyBox=!0,J.layOutTitles(),J.getMargins(),J.redraw(et),J.oldChartHeight=null,W(J,"resize"),ot(function(){J&&W(J,"endResize",null,function(){--J.isResizing})},m(et).duration)}setChartSize(H){var I=this.inverted;const et=this.renderer;var J=this.chartWidth,it=this.chartHeight;const dt=this.options.chart,ct=this.spacing,vt=this.clipOffset;let yt,gt,mt,_t;this.plotLeft=yt=Math.round(this.plotLeft),this.plotTop=gt=Math.round(this.plotTop),this.plotWidth=mt=Math.max(0,Math.round(J-yt-this.marginRight)),this.plotHeight=_t=Math.max(0,Math.round(it-gt-this.marginBottom)),this.plotSizeX=I?_t:mt,this.plotSizeY=I?mt:_t,this.plotBorderWidth=dt.plotBorderWidth||0,this.spacingBox=et.spacingBox={x:ct[3],y:ct[0],width:J-ct[3]-ct[1],height:it-ct[0]-ct[2]},this.plotBox=et.plotBox={x:yt,y:gt,width:mt,height:_t},I=2*Math.floor(this.plotBorderWidth/2),J=Math.ceil(Math.max(I,vt[3])/2),it=Math.ceil(Math.max(I,vt[0])/2),this.clipBox={x:J,y:it,width:Math.floor(this.plotSizeX-Math.max(I,vt[1])/2-J),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(I,vt[2])/2-it))},H||(this.axes.forEach(function(bt){bt.setAxisSize(),bt.setAxisTranslation()}),et.alignElements()),W(this,"afterSetChartSize",{skipAxes:H})}resetMargins(){W(this,"resetMargins");const H=this,I=H.options.chart;["margin","spacing"].forEach(function(et){const J=I[et],it=N(J)?J:[J,J,J,J];["Top","Right","Bottom","Left"].forEach(function(dt,ct){H[et][ct]=w(I[et+dt],it[ct])})}),d.forEach(function(et,J){H[et]=w(H.margin[J],H.spacing[J])}),H.axisOffset=[0,0,0,0],H.clipOffset=[0,0,0,0]}drawChartBox(){const H=this.options.chart,I=this.renderer,et=this.chartWidth,J=this.chartHeight,it=this.styledMode,dt=this.plotBGImage;var ct=H.backgroundColor;const vt=H.plotBackgroundColor,yt=H.plotBackgroundImage,gt=this.plotLeft,mt=this.plotTop,_t=this.plotWidth,bt=this.plotHeight,wt=this.plotBox,Ct=this.clipRect,Lt=this.clipBox;let Mt=this.chartBackground,Bt=this.plotBackground,Ft=this.plotBorder,Ot,qt,Rt="animate";Mt||(this.chartBackground=Mt=I.rect().addClass("highcharts-background").add(),Rt="attr"),it?Ot=qt=Mt.strokeWidth():(Ot=H.borderWidth||0,qt=Ot+(H.shadow?8:0),ct={fill:ct||"none"},(Ot||Mt["stroke-width"])&&(ct.stroke=H.borderColor,ct["stroke-width"]=Ot),Mt.attr(ct).shadow(H.shadow)),Mt[Rt]({x:qt/2,y:qt/2,width:et-qt-Ot%2,height:J-qt-Ot%2,r:H.borderRadius}),Rt="animate",Bt||(Rt="attr",this.plotBackground=Bt=I.rect().addClass("highcharts-plot-background").add()),Bt[Rt](wt),it||(Bt.attr({fill:vt||"none"}).shadow(H.plotShadow),yt&&(dt?(yt!==dt.attr("href")&&dt.attr("href",yt),dt.animate(wt)):this.plotBGImage=I.image(yt,gt,mt,_t,bt).add())),Ct?Ct.animate({width:Lt.width,height:Lt.height}):this.clipRect=I.clipRect(Lt),Rt="animate",Ft||(Rt="attr",this.plotBorder=Ft=I.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),it||Ft.attr({stroke:H.plotBorderColor,"stroke-width":H.plotBorderWidth||0,fill:"none"}),Ft[Rt](Ft.crisp({x:gt,y:mt,width:_t,height:bt},-Ft.strokeWidth())),this.isDirtyBox=!1,W(this,"afterDrawChartBox")}propFromSeries(){const H=this,I=H.options.chart,et=H.options.series;let J,it,dt;["inverted","angular","polar"].forEach(function(ct){for(it=v[I.type],dt=I[ct]||it&&it.prototype[ct],J=et&&et.length;!dt&&J--;)(it=v[et[J].type])&&it.prototype[ct]&&(dt=!0);H[ct]=dt})}linkSeries(H){const I=this,et=I.series;et.forEach(function(J){J.linkedSeries.length=0}),et.forEach(function(J){let it=J.options.linkedTo;Q(it)&&(it=it===":previous"?I.series[J.index-1]:I.get(it))&&it.linkedParent!==J&&(it.linkedSeries.push(J),J.linkedParent=it,it.enabledDataSorting&&J.setDataSortingOptions(),J.visible=w(J.options.visible,it.options.visible,J.visible))}),W(this,"afterLinkSeries",{isUpdating:H})}renderSeries(){this.series.forEach(function(H){H.translate(),H.render()})}render(){const H=this.axes,I=this.colorAxis,et=this.renderer,J=function(gt){gt.forEach(function(mt){mt.visible&&mt.render()})};let it=0;this.setTitle(),W(this,"beforeMargins"),this.getStacks&&this.getStacks(),this.getMargins(!0),this.setChartSize();const dt=this.plotWidth;H.some(function(gt){if(gt.horiz&>.visible&>.options.labels.enabled&>.series.length)return it=21,!0});const ct=this.plotHeight=Math.max(this.plotHeight-it,0);H.forEach(function(gt){gt.setScale()}),this.getAxisMargins();const vt=1.1<dt/this.plotWidth,yt=1.05<ct/this.plotHeight;(vt||yt)&&(H.forEach(function(gt){(gt.horiz&&vt||!gt.horiz&&yt)&>.setTickInterval(!0)}),this.getMargins()),this.drawChartBox(),this.hasCartesianSeries?J(H):I&&I.length&&J(I),this.seriesGroup||(this.seriesGroup=et.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(H){const I=this,et=h(!0,this.options.credits,H);et.enabled&&!this.credits&&(this.credits=this.renderer.text(et.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){et.href&&(f.location.href=et.href)}).attr({align:et.position.align,zIndex:8}),I.styledMode||this.credits.css(et.style),this.credits.add().align(et.position),this.credits.update=function(J){I.credits=I.credits.destroy(),I.addCredits(J)})}destroy(){const H=this,I=H.axes,et=H.series,J=H.container,it=J&&J.parentNode;let dt;for(W(H,"destroy"),H.renderer.forExport?P(A,H):A[H.index]=void 0,Y.chartCount--,H.renderTo.removeAttribute("data-highcharts-chart"),q(H),dt=I.length;dt--;)I[dt]=I[dt].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),dt=et.length;dt--;)et[dt]=et[dt].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(ct){const vt=H[ct];vt&&vt.destroy&&(H[ct]=vt.destroy())}),J&&(J.innerHTML=L.emptyHTML,q(J),it&&c(J)),k(H,function(ct,vt){delete H[vt]})}firstRender(){const H=this,I=H.options;H.getContainer(),H.resetMargins(),H.setChartSize(),H.propFromSeries(),H.getAxes();const et=j(I.series)?I.series:[];I.series=[],et.forEach(function(J){H.initSeries(J)}),H.linkSeries(),H.setSeriesData(),W(H,"beforeRender"),H.render(),H.pointer.getChartPosition(),!H.renderer.imgCount&&!H.hasLoaded&&H.onload(),H.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(H){H&&typeof this.index<"u"&&H.apply(this,[this])},this),W(this,"load"),W(this,"render"),b(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){const{options:H,title:I}=this;H&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(I&&I.element.textContent||"").replace(/</g,"<")}),H.accessibility&&H.accessibility.enabled===!1||Z('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(H,I,et){const J=this;let it;return H&&(I=w(I,!0),W(J,"addSeries",{options:H},function(){it=J.initSeries(H),J.isDirtyLegend=!0,J.linkSeries(),it.enabledDataSorting&&it.setData(H.data,!1),W(J,"afterAddSeries",{series:it}),I&&J.redraw(et)})),it}addAxis(H,I,et,J){return this.createAxis(I?"xAxis":"yAxis",{axis:H,redraw:et,animation:J})}addColorAxis(H,I,et){return this.createAxis("colorAxis",{axis:H,redraw:I,animation:et})}createAxis(H,I){return H=new g(this,I.axis,H),w(I.redraw,!0)&&this.redraw(I.animation),H}showLoading(H){const I=this,et=I.options,J=et.loading,it=function(){dt&&u(dt,{left:I.plotLeft+"px",top:I.plotTop+"px",width:I.plotWidth+"px",height:I.plotHeight+"px"})};let dt=I.loadingDiv,ct=I.loadingSpan;dt||(I.loadingDiv=dt=s("div",{className:"highcharts-loading highcharts-loading-hidden"},null,I.container)),ct||(I.loadingSpan=ct=s("span",{className:"highcharts-loading-inner"},null,dt),i(I,"redraw",it)),dt.className="highcharts-loading",L.setElementHTML(ct,w(H,et.lang.loading,"")),I.styledMode||(u(dt,tt(J.style,{zIndex:10})),u(ct,J.labelStyle),I.loadingShown||(u(dt,{opacity:0,display:""}),z(dt,{opacity:J.style.opacity||.5},{duration:J.showDuration||0}))),I.loadingShown=!0,it()}hideLoading(){const H=this.options,I=this.loadingDiv;I&&(I.className="highcharts-loading highcharts-loading-hidden",this.styledMode||z(I,{opacity:0},{duration:H.loading.hideDuration||100,complete:function(){u(I,{display:"none"})}})),this.loadingShown=!1}update(H,I,et,J){const it=this,dt={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},ct=H.isResponsiveOptions,vt=[];let yt,gt;W(it,"update",{options:H}),ct||it.setResponsive(!1,!0),H=B(H,it.options),it.userOptions=h(it.userOptions,H);var mt=H.chart;if(mt){if(h(!0,it.options.chart,mt),this.setZoomOptions(),"className"in mt&&it.setClassName(mt.className),"inverted"in mt||"polar"in mt||"type"in mt){it.propFromSeries();var _t=!0}"alignTicks"in mt&&(_t=!0),"events"in mt&&T(this,mt),k(mt,function(bt,wt){it.propsRequireUpdateSeries.indexOf("chart."+wt)!==-1&&(yt=!0),it.propsRequireDirtyBox.indexOf(wt)!==-1&&(it.isDirtyBox=!0),it.propsRequireReflow.indexOf(wt)!==-1&&(ct?it.isDirtyBox=!0:gt=!0)}),!it.styledMode&&mt.style&&it.renderer.setStyle(it.options.chart.style||{})}!it.styledMode&&H.colors&&(this.options.colors=H.colors),H.time&&(this.time===y&&(this.time=new _(H.time)),h(!0,it.options.time,H.time)),k(H,function(bt,wt){it[wt]&&typeof it[wt].update=="function"?it[wt].update(bt,!1):typeof it[dt[wt]]=="function"?it[dt[wt]](bt):wt!=="colors"&&it.collectionsWithUpdate.indexOf(wt)===-1&&h(!0,it.options[wt],H[wt]),wt!=="chart"&&it.propsRequireUpdateSeries.indexOf(wt)!==-1&&(yt=!0)}),this.collectionsWithUpdate.forEach(function(bt){H[bt]&&(st(H[bt]).forEach(function(wt,Ct){const Lt=b(wt.id);let Mt;Lt&&(Mt=it.get(wt.id)),!Mt&&it[bt]&&(Mt=it[bt][w(wt.index,Ct)])&&(Lt&&b(Mt.options.id)||Mt.options.isInternal)&&(Mt=void 0),Mt&&Mt.coll===bt&&(Mt.update(wt,!1),et&&(Mt.touched=!0)),!Mt&&et&&it.collectionsWithInit[bt]&&(it.collectionsWithInit[bt][0].apply(it,[wt].concat(it.collectionsWithInit[bt][1]||[]).concat([!1])).touched=!0)}),et&&it[bt].forEach(function(wt){wt.touched||wt.options.isInternal?delete wt.touched:vt.push(wt)}))}),vt.forEach(function(bt){bt.chart&&bt.remove&&bt.remove(!1)}),_t&&it.axes.forEach(function(bt){bt.update({},!1)}),yt&&it.getSeriesOrderByLinks().forEach(function(bt){bt.chart&&bt.update({},!1)},this),_t=mt&&mt.width,mt=mt&&(Q(mt.height)?K(mt.height,_t||it.chartWidth):mt.height),gt||F(_t)&&_t!==it.chartWidth||F(mt)&&mt!==it.chartHeight?it.setSize(_t,mt,J):w(I,!0)&&it.redraw(J),W(it,"afterUpdate",{options:H,redraw:I,animation:J})}setSubtitle(H,I){this.applyDescription("subtitle",H),this.layOutTitles(I)}setCaption(H,I){this.applyDescription("caption",H),this.layOutTitles(I)}showResetZoom(){function H(){I.zoomOut()}const I=this,et=S.lang,J=I.zooming.resetButton,it=J.theme,dt=J.relativeTo==="chart"||J.relativeTo==="spacingBox"?null:"scrollablePlotBox";W(this,"beforeShowResetZoom",null,function(){I.resetZoomButton=I.renderer.button(et.resetZoom,null,null,H,it).attr({align:J.position.align,title:et.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(J.position,!1,dt)}),W(this,"afterShowResetZoom")}zoomOut(){W(this,"selection",{resetSelection:!0},this.zoom)}zoom(H){const I=this,et=I.pointer;let J=!1,it;!H||H.resetSelection?(I.axes.forEach(function(ct){it=ct.zoom()}),et.initiated=!1):H.xAxis.concat(H.yAxis).forEach(function(ct){const vt=ct.axis;(et[vt.isXAxis?"zoomX":"zoomY"]&&b(et.mouseDownX)&&b(et.mouseDownY)&&I.isInsidePlot(et.mouseDownX-I.plotLeft,et.mouseDownY-I.plotTop,{axis:vt})||!b(I.inverted?et.mouseDownX:et.mouseDownY))&&(it=vt.zoom(ct.min,ct.max),vt.displayBtn&&(J=!0))});const dt=I.resetZoomButton;J&&!dt?I.showResetZoom():!J&&N(dt)&&(I.resetZoomButton=dt.destroy()),it&&I.redraw(w(I.options.chart.animation,H&&H.animation,100>I.pointCount))}pan(H,I){const et=this,J=et.hoverPoints;I=typeof I=="object"?I:{enabled:I,type:"x"};const it=et.options.chart;it&&it.panning&&(it.panning=I);const dt=I.type;let ct;W(this,"pan",{originalEvent:H},function(){J&&J.forEach(function(gt){gt.setState()});let vt=et.xAxis;dt==="xy"?vt=vt.concat(et.yAxis):dt==="y"&&(vt=et.yAxis);const yt={};vt.forEach(function(gt){if(gt.options.panningEnabled&&!gt.options.isInternal){var mt=gt.horiz,_t=H[mt?"chartX":"chartY"];mt=mt?"mouseDownX":"mouseDownY";var bt=et[mt],wt=gt.minPointOffset||0,Ct=gt.reversed&&!et.inverted||!gt.reversed&&et.inverted?-1:1,Lt=gt.getExtremes(),Mt=gt.toValue(bt-_t,!0)+wt*Ct,Bt=gt.toValue(bt+gt.len-_t,!0)-(wt*Ct||gt.isXAxis&>.pointRangePadding||0),Ft=Bt<Mt;Ct=gt.hasVerticalPanning(),bt=Ft?Bt:Mt,Mt=Ft?Mt:Bt;var Ot=gt.panningState;!Ct||gt.isXAxis||Ot&&!Ot.isDirty||gt.series.forEach(function(qt){var Rt=qt.getProcessedData(!0);Rt=qt.getExtremes(Rt.yData,!0),Ot||(Ot={startMin:Number.MAX_VALUE,startMax:-Number.MAX_VALUE}),F(Rt.dataMin)&&F(Rt.dataMax)&&(Ot.startMin=Math.min(w(qt.options.threshold,1/0),Rt.dataMin,Ot.startMin),Ot.startMax=Math.max(w(qt.options.threshold,-1/0),Rt.dataMax,Ot.startMax))}),Ct=Math.min(w(Ot&&Ot.startMin,Lt.dataMin),wt?Lt.min:gt.toValue(gt.toPixels(Lt.min)-gt.minPixelPadding)),Bt=Math.max(w(Ot&&Ot.startMax,Lt.dataMax),wt?Lt.max:gt.toValue(gt.toPixels(Lt.max)+gt.minPixelPadding)),gt.panningState=Ot,gt.isOrdinal||(wt=Ct-bt,0<wt&&(Mt+=wt,bt=Ct),wt=Mt-Bt,0<wt&&(Mt=Bt,bt-=wt),gt.series.length&&bt!==Lt.min&&Mt!==Lt.max&&bt>=Ct&&Mt<=Bt&&(gt.setExtremes(bt,Mt,!1,!1,{trigger:"pan"}),!et.resetZoomButton&&bt!==Ct&&Mt!==Bt&&dt.match("y")&&(et.showResetZoom(),gt.displayBtn=!1),ct=!0),yt[mt]=_t)}}),k(yt,(gt,mt)=>{et[mt]=gt}),ct&&et.redraw(!1),u(et.container,{cursor:"move"})})}}return tt(ht.prototype,{callbacks:[],collectionsWithInit:{xAxis:[ht.prototype.addAxis,[!0]],yAxis:[ht.prototype.addAxis,[!1]],series:[ht.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")}),ht}),n(r,"Extensions/ScrollablePlotArea.js",[r["Core/Animation/AnimationUtilities.js"],r["Core/Axis/Axis.js"],r["Core/Chart/Chart.js"],r["Core/Series/Series.js"],r["Core/Renderer/RendererRegistry.js"],r["Core/Utilities.js"]],function(p,g,O,U,V,Y){const{stop:G}=p,{addEvent:D,createElement:$,defined:R,merge:_,pick:M}=Y;D(O,"afterSetChartSize",function(L){var z=this.options.chart.scrollablePlotArea,m=z&&z.minWidth;z=z&&z.minHeight;let C;this.renderer.forExport||(m?(this.scrollablePixelsX=m=Math.max(0,m-this.chartWidth))&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=_(this.plotBox),this.plotBox.width=this.plotWidth+=m,this.inverted?this.clipBox.height+=m:this.clipBox.width+=m,C={1:{name:"right",value:m}}):z&&(this.scrollablePixelsY=m=Math.max(0,z-this.chartHeight),R(m)&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=_(this.plotBox),this.plotBox.height=this.plotHeight+=m,this.inverted?this.clipBox.width+=m:this.clipBox.height+=m,C={2:{name:"bottom",value:m}})),C&&!L.skipAxes&&this.axes.forEach(function(S){C[S.side]?S.getPlotLinePath=function(){let y=C[S.side].name,E=this[y],T;return this[y]=E-C[S.side].value,T=g.prototype.getPlotLinePath.apply(this,arguments),this[y]=E,T}:(S.setAxisSize(),S.setAxisTranslation())}))}),D(O,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()}),O.prototype.setUpScrolling=function(){const L={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(L.overflowX="auto"),this.scrollablePixelsY&&(L.overflowY="auto"),this.scrollingParent=$("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo),this.scrollingContainer=$("div",{className:"highcharts-scrolling"},L,this.scrollingParent);let z;D(this.scrollingContainer,"scroll",()=>{this.pointer&&(delete this.pointer.chartPosition,this.hoverPoint&&(z=this.hoverPoint),this.pointer.runPointActions(void 0,z,!0))}),this.innerContainer=$("div",{className:"highcharts-inner-container"},null,this.scrollingContainer),this.innerContainer.appendChild(this.container),this.setUpScrolling=null},O.prototype.moveFixedElements=function(){let L=this.container,z=this.fixedRenderer,m=".highcharts-breadcrumbs-group .highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-drillup-button .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" "),C;this.scrollablePixelsX&&!this.inverted?C=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted||this.scrollablePixelsY&&!this.inverted?C=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(C=".highcharts-yaxis"),C&&m.push(`${C}:not(.highcharts-radial-axis)`,`${C}-labels:not(.highcharts-radial-axis-labels)`),m.forEach(function(S){[].forEach.call(L.querySelectorAll(S),function(y){(y.namespaceURI===z.SVG_NS?z.box:z.box.parentNode).appendChild(y),y.style.pointerEvents="auto"})})},O.prototype.applyFixed=function(){var L=!this.fixedDiv,z=this.options.chart,m=z.scrollablePlotArea,C=V.getRendererType();L?(this.fixedDiv=$("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(z.style&&z.style.zIndex||0)+2,top:0},null,!0),this.scrollingContainer&&this.scrollingContainer.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=z=new C(this.fixedDiv,this.chartWidth,this.chartHeight,this.options.chart.style),this.scrollableMask=z.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":M(m.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),D(this,"afterShowResetZoom",this.moveFixedElements),D(this,"afterApplyDrilldown",this.moveFixedElements),D(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight),(this.scrollableDirty||L)&&(this.scrollableDirty=!1,this.moveFixedElements()),z=this.chartWidth+(this.scrollablePixelsX||0),C=this.chartHeight+(this.scrollablePixelsY||0),G(this.container),this.container.style.width=z+"px",this.container.style.height=C+"px",this.renderer.boxWrapper.attr({width:z,height:C,viewBox:[0,0,z,C].join(" ")}),this.chartBackground.attr({width:z,height:C}),this.scrollingContainer.style.height=this.chartHeight+"px",L&&(m.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*m.scrollPositionX),m.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*m.scrollPositionY)),C=this.axisOffset,L=this.plotTop-C[0]-1,m=this.plotLeft-C[3]-1,z=this.plotTop+this.plotHeight+C[2]+1,C=this.plotLeft+this.plotWidth+C[1]+1;let S=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),y=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);L=this.scrollablePixelsX?[["M",0,L],["L",this.plotLeft-1,L],["L",this.plotLeft-1,z],["L",0,z],["Z"],["M",S,L],["L",this.chartWidth,L],["L",this.chartWidth,z],["L",S,z],["Z"]]:this.scrollablePixelsY?[["M",m,0],["L",m,this.plotTop-1],["L",C,this.plotTop-1],["L",C,0],["Z"],["M",m,y],["L",m,this.chartHeight],["L",C,this.chartHeight],["L",C,y],["Z"]]:[["M",0,0]],this.redrawTrigger!=="adjustHeight"&&this.scrollableMask.attr({d:L})},D(g,"afterInit",function(){this.chart.scrollableDirty=!0}),D(U,"show",function(){this.chart.scrollableDirty=!0})}),n(r,"Core/Axis/Stacking/StackItem.js",[r["Core/Templating.js"],r["Core/Series/SeriesRegistry.js"],r["Core/Utilities.js"]],function(p,g,O){const{format:U}=p,{series:V}=g,{destroyObjectProperties:Y,fireEvent:G,isNumber:D,pick:$}=O;class R{constructor(M,L,z,m,C){const S=M.chart.inverted,y=M.reversed;this.axis=M,M=this.isNegative=!!z!=!!y,this.options=L=L||{},this.x=m,this.cumulative=this.total=null,this.points={},this.hasValidPoints=!1,this.stack=C,this.rightCliff=this.leftCliff=0,this.alignOptions={align:L.align||(S?M?"left":"right":"center"),verticalAlign:L.verticalAlign||(S?"middle":M?"bottom":"top"),y:L.y,x:L.x},this.textAlign=L.textAlign||(S?M?"right":"left":"center")}destroy(){Y(this,this.axis)}render(M){const L=this.axis.chart,z=this.options;var m=z.format;m=m?U(m,this,L):z.formatter.call(this),this.label?this.label.attr({text:m,visibility:"hidden"}):(this.label=L.renderer.label(m,null,void 0,z.shape,void 0,void 0,z.useHTML,!1,"stack-labels"),m={r:z.borderRadius||0,text:m,padding:$(z.padding,5),visibility:"hidden"},L.styledMode||(m.fill=z.backgroundColor,m.stroke=z.borderColor,m["stroke-width"]=z.borderWidth,this.label.css(z.style||{})),this.label.attr(m),this.label.added||this.label.add(M)),this.label.labelrank=L.plotSizeY,G(this,"afterRender")}setOffset(M,L,z,m,C,S){const{alignOptions:y,axis:E,label:T,options:A,textAlign:l}=this,d=E.chart;z=this.getStackBox({xOffset:M,width:L,boxBottom:z,boxTop:m,defaultX:C,xAxis:S});var{verticalAlign:x}=y;if(T&&z){m=T.getBBox(),C=T.padding,S=$(A.overflow,"justify")==="justify",y.x=A.x||0,y.y=A.y||0;const{x:f,y:v}=this.adjustStackPosition({labelBox:m,verticalAlign:x,textAlign:l});z.x-=f,z.y-=v,T.align(y,!1,z),(x=d.isInsidePlot(T.alignAttr.x+y.x+f,T.alignAttr.y+y.y+v))||(S=!1),S&&V.prototype.justifyDataLabel.call(E,T,y,T.alignAttr,m,z),T.attr({x:T.alignAttr.x,y:T.alignAttr.y,rotation:A.rotation,rotationOriginX:m.width/2,rotationOriginY:m.height/2}),$(!S&&A.crop,!0)&&(x=D(T.x)&&D(T.y)&&d.isInsidePlot(T.x-C+T.width,T.y)&&d.isInsidePlot(T.x+C,T.y)),T[x?"show":"hide"]()}G(this,"afterSetOffset",{xOffset:M,width:L})}adjustStackPosition({labelBox:M,verticalAlign:L,textAlign:z}){const m={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:M.width/2+M.width/2*m[z],y:M.height/2*m[L]}}getStackBox(M){var L=this.axis;const z=L.chart,{boxTop:m,defaultX:C,xOffset:S,width:y,boxBottom:E}=M;var T=L.stacking.usePercentage?100:$(m,this.total,0);T=L.toPixels(T),M=M.xAxis||z.xAxis[0];const A=$(C,M.translate(this.x))+S;L=L.toPixels(E||D(L.min)&&L.logarithmic&&L.logarithmic.lin2log(L.min)||0),L=Math.abs(T-L);const l=this.isNegative;return z.inverted?{x:(l?T:T-L)-z.plotLeft,y:M.height-A-y,width:L,height:y}:{x:A+M.transB-z.plotLeft,y:(l?T-L:T)-z.plotTop,width:y,height:L}}}return R}),n(r,"Core/Axis/Stacking/StackingAxis.js",[r["Core/Animation/AnimationUtilities.js"],r["Core/Axis/Axis.js"],r["Core/Series/SeriesRegistry.js"],r["Core/Axis/Stacking/StackItem.js"],r["Core/Utilities.js"]],function(p,g,O,U,V){function Y(){const i=this,t=i.inverted;i.yAxis.forEach(s=>{s.stacking&&s.stacking.stacks&&s.hasVisibleSeries&&(s.stacking.oldStacks=s.stacking.stacks)}),i.series.forEach(s=>{const u=s.xAxis&&s.xAxis.options||{};!s.options.stacking||s.visible!==!0&&i.options.chart.ignoreHiddenSeries!==!1||(s.stackKey=[s.type,x(s.options.stack,""),t?u.top:u.left,t?u.height:u.width].join())})}function G(){const i=this.stacking;if(i){var t=i.stacks;d(t,function(s,u){E(s),t[u]=null}),i&&i.stackTotalGroup&&i.stackTotalGroup.destroy()}}function D(){this.coll!=="yAxis"||this.stacking||(this.stacking=new f(this))}function $(i,t,s,u){return!y(i)||i.x!==t||u&&i.stackKey!==u?i={x:t,index:0,key:u,stackKey:u}:i.index++,i.key=[s,t,i.index].join(),i}function R(){const i=this,t=i.stackKey,s=i.yAxis.stacking.stacks,u=i.processedXData,b=i[i.options.stacking+"Stacker"];let B;b&&[t,"-"+t].forEach(c=>{let P=u.length,Z;for(;P--;){var tt=u[P];B=i.getStackIndicator(B,tt,i.index,c),(Z=(tt=s[c]&&s[c][tt])&&tt.points[B.key])&&b.call(i,Z,tt,P)}})}function _(i,t,s){t=t.total?100/t.total:0,i[0]=S(i[0]*t),i[1]=S(i[1]*t),this.stackedYData[s]=i[1]}function M(){const i=this.yAxis.stacking;this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&1<this.chart.series.length?m.setStackedPoints.call(this,"group"):i&&d(i.stacks,(t,s)=>{s.slice(-5)==="group"&&(d(t,u=>u.destroy()),delete i.stacks[s])})}function L(i){var t=this.chart;const s=i||this.options.stacking;if(s&&(this.visible===!0||t.options.chart.ignoreHiddenSeries===!1)){var u=this.processedXData,b=this.processedYData,B=[],c=b.length,P=this.options,Z=P.threshold,tt=x(P.startFromThreshold&&Z,0);P=P.stack,i=i?`${this.type},${s}`:this.stackKey;var at="-"+i,W=this.negStacks;t=s==="group"?t.yAxis[0]:this.yAxis;var o=t.stacking.stacks,j=t.stacking.oldStacks,F,N;for(t.stacking.stacksTouched+=1,N=0;N<c;N++){var Q=u[N],h=b[N],k=this.getStackIndicator(k,Q,this.index),w=k.key,X=(F=W&&h<(tt?0:Z))?at:i;o[X]||(o[X]={}),o[X][Q]||(j[X]&&j[X][Q]?(o[X][Q]=j[X][Q],o[X][Q].total=null):o[X][Q]=new U(t,t.options.stackLabels,!!F,Q,P)),X=o[X][Q],h!==null?(X.points[w]=X.points[this.index]=[x(X.cumulative,tt)],y(X.cumulative)||(X.base=w),X.touched=t.stacking.stacksTouched,0<k.index&&this.singleStacks===!1&&(X.points[w][0]=X.points[this.index+","+Q+",0"][0])):X.points[w]=X.points[this.index]=null,s==="percent"?(F=F?i:at,W&&o[F]&&o[F][Q]?(F=o[F][Q],X.total=F.total=Math.max(F.total,X.total)+Math.abs(h)||0):X.total=S(X.total+(Math.abs(h)||0))):s==="group"?(A(h)&&(h=h[0]),h!==null&&(X.total=(X.total||0)+1)):X.total=S(X.total+(h||0)),X.cumulative=s==="group"?(X.total||1)-1:S(x(X.cumulative,tt)+(h||0)),h!==null&&(X.points[w].push(X.cumulative),B[N]=X.cumulative,X.hasValidPoints=!0)}s==="percent"&&(t.stacking.usePercentage=!0),s!=="group"&&(this.stackedYData=B),t.stacking.oldStacks={}}}const{getDeferredAnimation:z}=p,{series:{prototype:m}}=O,{addEvent:C,correctFloat:S,defined:y,destroyObjectProperties:E,fireEvent:T,isArray:A,isNumber:l,objectEach:d,pick:x}=V;class f{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){const t=this.axis,s=t.series,u=t.options.reversedStacks,b=s.length;let B,c;for(this.usePercentage=!1,c=b;c--;)B=s[u?c:b-c-1],B.setStackedPoints(),B.setGroupedPoints();for(c=0;c<b;c++)s[c].modifyStacks();T(t,"afterBuildStacks")}cleanStacks(){let t;this.oldStacks&&(t=this.stacks=this.oldStacks),d(t,function(s){d(s,function(u){u.cumulative=u.total})})}resetStacks(){d(this.stacks,t=>{d(t,(s,u)=>{l(s.touched)&&s.touched<this.stacksTouched?(s.destroy(),delete t[u]):(s.total=null,s.cumulative=null)})})}renderStackTotals(){var t=this.axis;const s=t.chart,u=s.renderer,b=this.stacks;t=z(s,t.options.stackLabels&&t.options.stackLabels.animation||!1);const B=this.stackTotalGroup=this.stackTotalGroup||u.g("stack-labels").attr({zIndex:6,opacity:0}).add();B.translate(s.plotLeft,s.plotTop),d(b,function(c){d(c,function(P){P.render(B)})}),B.animate({opacity:1},t)}}var v;return function(i){const t=[];i.compose=function(s,u,b){V.pushUnique(t,s)&&(C(s,"init",D),C(s,"destroy",G)),V.pushUnique(t,u)&&(u.prototype.getStacks=Y),V.pushUnique(t,b)&&(s=b.prototype,s.getStackIndicator=$,s.modifyStacks=R,s.percentStacker=_,s.setGroupedPoints=M,s.setStackedPoints=L)}}(v||(v={})),v}),n(r,"Series/Line/LineSeries.js",[r["Core/Series/Series.js"],r["Core/Series/SeriesRegistry.js"],r["Core/Utilities.js"]],function(p,g,O){const{defined:U,merge:V}=O;class Y extends p{constructor(){super(...arguments),this.points=this.options=this.data=void 0}drawGraph(){const D=this,$=this.options,R=(this.gappedPath||this.getGraphPath).call(this),_=this.chart.styledMode;let M=[["graph","highcharts-graph"]];_||M[0].push($.lineColor||this.color||"#cccccc",$.dashStyle),M=D.getZonesGraphs(M),M.forEach(function(L,z){var m=L[0];let C=D[m];const S=C?"animate":"attr";C?(C.endX=D.preventGraphAnimation?null:R.xMap,C.animate({d:R})):R.length&&(D[m]=C=D.chart.renderer.path(R).addClass(L[1]).attr({zIndex:1}).add(D.group)),C&&!_&&(m={stroke:L[2],"stroke-width":$.lineWidth||0,fill:D.fillGraph&&D.color||"none"},L[3]?m.dashstyle=L[3]:$.linecap!=="square"&&(m["stroke-linecap"]=m["stroke-linejoin"]="round"),C[S](m).shadow(2>z&&$.shadow)),C&&(C.startX=R.xMap,C.isArea=R.isArea)})}getGraphPath(D,$,R){const _=this,M=_.options,L=[],z=[];let m,C=M.step;D=D||_.points;const S=D.reversed;return S&&D.reverse(),(C={right:1,center:2}[C]||C&&3)&&S&&(C=4-C),D=this.getValidPoints(D,!1,!(M.connectNulls&&!$&&!R)),D.forEach(function(y,E){const T=y.plotX,A=y.plotY,l=D[E-1],d=y.isNull||typeof A!="number";(y.leftCliff||l&&l.rightCliff)&&!R&&(m=!0),d&&!U($)&&0<E?m=!M.connectNulls:d&&!$?m=!0:(E===0||m?E=[["M",y.plotX,y.plotY]]:_.getPointSpline?E=[_.getPointSpline(D,y,E)]:C?(E=C===1?[["L",l.plotX,A]]:C===2?[["L",(l.plotX+T)/2,l.plotY],["L",(l.plotX+T)/2,A]]:[["L",T,l.plotY]],E.push(["L",T,A])):E=[["L",T,A]],z.push(y.x),C&&(z.push(y.x),C===2&&z.push(y.x)),L.push.apply(L,E),m=!1)}),L.xMap=z,_.graphPath=L}getZonesGraphs(D){return this.zones.forEach(function($,R){R=["zone-graph-"+R,"highcharts-graph highcharts-zone-graph-"+R+" "+($.className||"")],this.chart.styledMode||R.push($.color||this.color,$.dashStyle||this.options.dashStyle),D.push(R)},this),D}}return Y.defaultOptions=V(p.defaultOptions,{legendSymbol:"lineMarker"}),g.registerSeriesType("line",Y),Y}),n(r,"Series/Area/AreaSeries.js",[r["Core/Color/Color.js"],r["Core/Series/SeriesRegistry.js"],r["Core/Utilities.js"]],function(p,g,O){const{seriesTypes:{line:U}}=g,{extend:V,merge:Y,objectEach:G,pick:D}=O;class $ extends U{constructor(){super(...arguments),this.points=this.options=this.data=void 0}drawGraph(){this.areaPath=[],super.drawGraph.apply(this);const _=this,M=this.areaPath,L=this.options,z=[["area","highcharts-area",this.color,L.fillColor]];this.zones.forEach(function(m,C){z.push(["zone-area-"+C,"highcharts-area highcharts-zone-area-"+C+" "+m.className,m.color||_.color,m.fillColor||L.fillColor])}),z.forEach(function(m){const C=m[0],S={};let y=_[C];const E=y?"animate":"attr";y?(y.endX=_.preventGraphAnimation?null:M.xMap,y.animate({d:M})):(S.zIndex=0,y=_[C]=_.chart.renderer.path(M).addClass(m[1]).add(_.group),y.isArea=!0),_.chart.styledMode||(m[3]?S.fill=m[3]:(S.fill=m[2],S["fill-opacity"]=D(L.fillOpacity,.75))),y[E](S),y.startX=M.xMap,y.shiftUnit=L.step?2:1})}getGraphPath(_){var M=U.prototype.getGraphPath,L=this.options;const z=L.stacking,m=this.yAxis,C=[],S=[],y=this.index,E=m.stacking.stacks[this.stackKey],T=L.threshold,A=Math.round(m.getThreshold(L.threshold));L=D(L.connectNulls,z==="percent");var l=function(v,i,t){var s=_[v];v=z&&E[s.x].points[y];const u=s[t+"Null"]||0;t=s[t+"Cliff"]||0;let b,B;s=!0,t||u?(b=(u?v[0]:v[1])+t,B=v[0]+t,s=!!u):!z&&_[i]&&_[i].isNull&&(b=B=T),typeof b<"u"&&(S.push({plotX:d,plotY:b===null?A:m.getThreshold(b),isNull:s,isCliff:!0}),C.push({plotX:d,plotY:B===null?A:m.getThreshold(B),doCurve:!1}))};let d;_=_||this.points,z&&(_=this.getStackPoints(_));for(let v=0,i=_.length;v<i;++v){z||(_[v].leftCliff=_[v].rightCliff=_[v].leftNull=_[v].rightNull=void 0);var x=_[v].isNull;d=D(_[v].rectPlotX,_[v].plotX);var f=z?D(_[v].yBottom,A):A;(!x||L)&&(L||l(v,v-1,"left"),x&&!z&&L||(S.push(_[v]),C.push({x:v,plotX:d,plotY:f})),L||l(v,v+1,"right"))}return l=M.call(this,S,!0,!0),C.reversed=!0,x=M.call(this,C,!0,!0),(f=x[0])&&f[0]==="M"&&(x[0]=["L",f[1],f[2]]),x=l.concat(x),x.length&&x.push(["Z"]),M=M.call(this,S,!1,L),x.xMap=l.xMap,this.areaPath=x,M}getStackPoints(_){const M=this,L=[],z=[],m=this.xAxis,C=this.yAxis,S=C.stacking.stacks[this.stackKey],y={},E=C.series,T=E.length,A=C.options.reversedStacks?1:-1,l=E.indexOf(M);if(_=_||this.points,this.options.stacking){for(let x=0;x<_.length;x++)_[x].leftNull=_[x].rightNull=void 0,y[_[x].x]=_[x];G(S,function(x,f){x.total!==null&&z.push(f)}),z.sort(function(x,f){return x-f});const d=E.map(x=>x.visible);z.forEach(function(x,f){let v=0,i,t;if(y[x]&&!y[x].isNull)L.push(y[x]),[-1,1].forEach(function(s){const u=s===1?"rightNull":"leftNull",b=S[z[f+s]];let B=0;if(b){let c=l;for(;0<=c&&c<T;){const P=E[c].index;i=b.points[P],i||(P===M.index?y[x][u]=!0:d[c]&&(t=S[x].points[P])&&(B-=t[1]-t[0])),c+=A}}y[x][s===1?"rightCliff":"leftCliff"]=B});else{let s=l;for(;0<=s&&s<T;){if(i=S[x].points[E[s].index]){v=i[1];break}s+=A}v=D(v,0),v=C.translate(v,0,1,0,1),L.push({isNull:!0,plotX:m.translate(x,0,0,0,1),x,plotY:v,yBottom:v})}})}return L}}return $.defaultOptions=Y(U.defaultOptions,{threshold:0,legendSymbol:"rectangle"}),V($.prototype,{singleStacks:!1}),g.registerSeriesType("area",$),$}),n(r,"Series/Spline/SplineSeries.js",[r["Core/Series/SeriesRegistry.js"],r["Core/Utilities.js"]],function(p,g){const{line:O}=p.seriesTypes,{merge:U,pick:V}=g;class Y extends O{constructor(){super(...arguments),this.points=this.options=this.data=void 0}getPointSpline(D,$,R){const _=$.plotX||0,M=$.plotY||0,L=D[R-1];R=D[R+1];let z,m,C;if(L&&!L.isNull&&L.doCurve!==!1&&!$.isCliff&&R&&!R.isNull&&R.doCurve!==!1&&!$.isCliff){D=L.plotY||0;var S=R.plotX||0;R=R.plotY||0;let y=0;z=(1.5*_+(L.plotX||0))/2.5,m=(1.5*M+D)/2.5,S=(1.5*_+S)/2.5,C=(1.5*M+R)/2.5,S!==z&&(y=(C-m)*(S-_)/(S-z)+M-C),m+=y,C+=y,m>D&&m>M?(m=Math.max(D,M),C=2*M-m):m<D&&m<M&&(m=Math.min(D,M),C=2*M-m),C>R&&C>M?(C=Math.max(R,M),m=2*M-C):C<R&&C<M&&(C=Math.min(R,M),m=2*M-C),$.rightContX=S,$.rightContY=C}return $=["C",V(L.rightContX,L.plotX,0),V(L.rightContY,L.plotY,0),V(z,_,0),V(m,M,0),_,M],L.rightContX=L.rightContY=void 0,$}}return Y.defaultOptions=U(O.defaultOptions),p.registerSeriesType("spline",Y),Y}),n(r,"Series/AreaSpline/AreaSplineSeries.js",[r["Series/Spline/SplineSeries.js"],r["Core/Series/SeriesRegistry.js"],r["Core/Utilities.js"]],function(p,g,O){const{area:U,area:{prototype:V}}=g.seriesTypes,{extend:Y,merge:G}=O;class D extends p{constructor(){super(...arguments),this.options=this.points=this.data=void 0}}return D.defaultOptions=G(p.defaultOptions,U.defaultOptions),Y(D.prototype,{getGraphPath:V.getGraphPath,getStackPoints:V.getStackPoints,drawGraph:V.drawGraph}),g.registerSeriesType("areaspline",D),D}),n(r,"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"}}),n(r,"Series/Column/ColumnSeries.js",[r["Core/Animation/AnimationUtilities.js"],r["Core/Color/Color.js"],r["Series/Column/ColumnSeriesDefaults.js"],r["Core/Globals.js"],r["Core/Series/Series.js"],r["Core/Series/SeriesRegistry.js"],r["Core/Utilities.js"]],function(p,g,O,U,V,Y,G){const{animObject:D}=p,{parse:$}=g,{hasTouch:R,noop:_}=U,{clamp:M,defined:L,extend:z,fireEvent:m,isArray:C,isNumber:S,merge:y,pick:E,objectEach:T}=G;class A extends V{constructor(){super(...arguments),this.points=this.options=this.group=this.data=this.borderWidth=void 0}animate(d){const x=this,f=this.yAxis,v=f.pos,i=x.options,t=this.chart.inverted,s={},u=t?"translateX":"translateY";let b;d?(s.scaleY=.001,d=M(f.toPixels(i.threshold),v,v+f.len),t?s.translateX=d-f.len:s.translateY=d,x.clipBox&&x.setClip(),x.group.attr(s)):(b=Number(x.group.attr(u)),x.group.animate({scaleY:1},z(D(x.options.animation),{step:function(B,c){x.group&&(s[u]=b+c.pos*(v-b),x.group.attr(s))}})))}init(d,x){super.init.apply(this,arguments);const f=this;d=f.chart,d.hasRendered&&d.series.forEach(function(v){v.type===f.type&&(v.isDirty=!0)})}getColumnMetrics(){const d=this;var x=d.options;const f=d.xAxis,v=d.yAxis;var i=f.options.reversedStacks;i=f.reversed&&!i||!f.reversed&&i;const t={};let s,u=0;x.grouping===!1?u=1:d.chart.series.forEach(function(P){const Z=P.yAxis,tt=P.options;let at;P.type!==d.type||!P.visible&&d.chart.options.chart.ignoreHiddenSeries||v.len!==Z.len||v.pos!==Z.pos||(tt.stacking&&tt.stacking!=="group"?(s=P.stackKey,typeof t[s]>"u"&&(t[s]=u++),at=t[s]):tt.grouping!==!1&&(at=u++),P.columnIndex=at)});const b=Math.min(Math.abs(f.transA)*(f.ordinal&&f.ordinal.slope||x.pointRange||f.closestPointRange||f.tickInterval||1),f.len),B=b*x.groupPadding,c=(b-2*B)/(u||1);return x=Math.min(x.maxPointWidth||f.len,E(x.pointWidth,c*(1-2*x.pointPadding))),d.columnMetrics={width:x,offset:(c-x)/2+(B+((d.columnIndex||0)+(i?1:0))*c-b/2)*(i?-1:1),paddedWidth:c,columnCount:u},d.columnMetrics}crispCol(d,x,f,v){var i=this.borderWidth,t=-(i%2?.5:0);return i=i%2?.5:1,this.options.crisp&&(f=Math.round(d+f)+t,d=Math.round(d)+t,f-=d),v=Math.round(x+v)+i,t=.5>=Math.abs(x)&&.5<v,x=Math.round(x)+i,v-=x,t&&v&&(--x,v+=1),{x:d,y:x,width:f,height:v}}adjustForMissingColumns(d,x,f,v){const i=this.options.stacking;if(!f.isNull&&1<v.columnCount){const t=this.yAxis.options.reversedStacks;let s=0,u=t?0:-v.columnCount;T(this.yAxis.stacking&&this.yAxis.stacking.stacks,b=>{if(typeof f.x=="number"){const B=b[f.x.toString()];B&&(b=B.points[this.index],i?(b&&(s=u),B.hasValidPoints&&(t?u++:u--)):C(b)&&(b=Object.keys(B.points).filter(c=>!c.match(",")&&B.points[c]&&1<B.points[c].length).map(parseFloat).sort((c,P)=>P-c),s=b.indexOf(this.index),u=b.length))}}),d=(f.plotX||0)+((u-1)*v.paddedWidth+x)/2-x-s*v.paddedWidth}return d}translate(){const d=this,x=d.chart,f=d.options;var v=d.dense=2>d.closestPointRange*d.xAxis.transA;v=d.borderWidth=E(f.borderWidth,v?0:1);const i=d.xAxis,t=d.yAxis,s=f.threshold,u=E(f.minPointLength,5),b=d.getColumnMetrics(),B=b.width,c=d.pointXOffset=b.offset,P=d.dataMin,Z=d.dataMax;let tt=d.barW=Math.max(B,1+2*v),at=d.translatedThreshold=t.getThreshold(s);x.inverted&&(at-=.5),f.pointPadding&&(tt=Math.ceil(tt)),V.prototype.translate.apply(d),d.points.forEach(function(W){const o=E(W.yBottom,at);var j=999+Math.abs(o),F=W.plotX||0;j=M(W.plotY,-j,t.len+j);let N=Math.min(j,o),Q=Math.max(j,o)-N,h=B,k=F+c,w=tt;u&&Math.abs(Q)<u&&(Q=u,F=!t.reversed&&!W.negative||t.reversed&&W.negative,S(s)&&S(Z)&&W.y===s&&Z<=s&&(t.min||0)<s&&(P!==Z||(t.max||0)<=s)&&(F=!F,W.negative=!W.negative),N=Math.abs(N-at)>u?o-u:at-(F?u:0)),L(W.options.pointWidth)&&(h=w=Math.ceil(W.options.pointWidth),k-=Math.round((h-B)/2)),f.centerInCategory&&(k=d.adjustForMissingColumns(k,h,W,b)),W.barX=k,W.pointWidth=h,W.tooltipPos=x.inverted?[M(t.len+t.pos-x.plotLeft-j,t.pos-x.plotLeft,t.len+t.pos-x.plotLeft),i.len+i.pos-x.plotTop-k-w/2,Q]:[i.left-x.plotLeft+k+w/2,M(j+t.pos-x.plotTop,t.pos-x.plotTop,t.len+t.pos-x.plotTop),Q],W.shapeType=d.pointClass.prototype.shapeType||"roundedRect",W.shapeArgs=d.crispCol(k,W.isNull?at:N,w,W.isNull?0:Q)}),m(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(d,x){const f=this.options;var v=this.pointAttrToOptions||{},i=v.stroke||"borderColor";const t=v["stroke-width"]||"borderWidth";let s,u=d&&d.color||this.color,b=d&&d[i]||f[i]||u;v=d&&d.options.dashStyle||f.dashStyle;let B=d&&d[t]||f[t]||this[t]||0,c=E(d&&d.opacity,f.opacity,1);return d&&this.zones.length&&(s=d.getZone(),u=d.options.color||s&&(s.color||d.nonZonedColor)||this.color,s&&(b=s.borderColor||b,v=s.dashStyle||v,B=s.borderWidth||B)),x&&d&&(d=y(f.states[x],d.options.states&&d.options.states[x]||{}),x=d.brightness,u=d.color||typeof x<"u"&&$(u).brighten(d.brightness).get()||u,b=d[i]||b,B=d[t]||B,v=d.dashStyle||v,c=E(d.opacity,c)),i={fill:u,stroke:b,"stroke-width":B,opacity:c},v&&(i.dashstyle=v),i}drawPoints(d=this.points){const x=this,f=this.chart,v=x.options,i=f.renderer,t=v.animationLimit||250;let s;d.forEach(function(u){let b=u.graphic,B=!!b,c=b&&f.pointCount<t?"animate":"attr";S(u.plotY)&&u.y!==null?(s=u.shapeArgs,b&&u.hasNewShapeType()&&(b=b.destroy()),x.enabledDataSorting&&(u.startXPos=x.xAxis.reversed?-(s&&s.width||0):x.xAxis.width),b||(u.graphic=b=i[u.shapeType](s).add(u.group||x.group))&&x.enabledDataSorting&&f.hasRendered&&f.pointCount<t&&(b.attr({x:u.startXPos}),B=!0,c="animate"),b&&B&&b[c](y(s)),f.styledMode||b[c](x.pointAttribs(u,u.selected&&"select")).shadow(u.allowShadow!==!1&&v.shadow),b&&(b.addClass(u.getClassName(),!0),b.attr({visibility:u.visible?"inherit":"hidden"}))):b&&(u.graphic=b.destroy())})}drawTracker(d=this.points){const x=this,f=x.chart,v=f.pointer,i=function(s){const u=v.getPointFromEvent(s);typeof u<"u"&&x.options.enableMouseTracking&&(v.isDirectTouch=!0,u.onMouseOver(s))};let t;d.forEach(function(s){t=C(s.dataLabels)?s.dataLabels:s.dataLabel?[s.dataLabel]:[],s.graphic&&(s.graphic.element.point=s),t.forEach(function(u){u.div?u.div.point=s:u.element.point=s})}),x._hasTracking||(x.trackerGroups.forEach(function(s){x[s]&&(x[s].addClass("highcharts-tracker").on("mouseover",i).on("mouseout",function(u){v.onTrackerMouseOut(u)}),R&&x[s].on("touchstart",i),!f.styledMode&&x.options.cursor&&x[s].css({cursor:x.options.cursor}))}),x._hasTracking=!0),m(this,"afterDrawTracker")}remove(){const d=this,x=d.chart;x.hasRendered&&x.series.forEach(function(f){f.type===d.type&&(f.isDirty=!0)}),V.prototype.remove.apply(d,arguments)}}return A.defaultOptions=y(V.defaultOptions,O),z(A.prototype,{cropShoulder:0,directTouch:!0,getSymbol:_,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),Y.registerSeriesType("column",A),A}),n(r,"Core/Series/DataLabel.js",[r["Core/Animation/AnimationUtilities.js"],r["Core/Templating.js"],r["Core/Utilities.js"]],function(p,g,O){const{getDeferredAnimation:U}=p,{format:V}=g,{defined:Y,extend:G,fireEvent:D,isArray:$,isString:R,merge:_,objectEach:M,pick:L,splat:z}=O;var m;return function(C){function S(v,i,t,s,u){const b=this.chart;var B=this.isCartesian&&b.inverted;const c=this.enabledDataSorting;var P=v.plotX,Z=v.plotY;const tt=t.rotation;var at=t.align;Z=Y(P)&&Y(Z)&&b.isInsidePlot(P,Math.round(Z),{inverted:B,paneCoordinates:!0,series:this});let W=L(t.overflow,c?"none":"justify")==="justify";if(B=this.visible&&v.visible!==!1&&Y(P)&&(v.series.forceDL||c&&!W||Z||L(t.inside,!!this.options.stacking)&&s&&b.isInsidePlot(P,B?s.x+1:s.y+s.height-1,{inverted:B,paneCoordinates:!0,series:this})),P=v.pos(),B&&P){tt&&i.attr({align:at}),at=i.getBBox(!0);var o=[0,0],j=b.renderer.fontMetrics(i).b;if(s=G({x:P[0],y:Math.round(P[1]),width:0,height:0},s),G(t,{width:at.width,height:at.height}),tt?(W=!1,o=b.renderer.rotCorr(j,tt),j={x:s.x+(t.x||0)+s.width/2+o.x,y:s.y+(t.y||0)+{top:0,middle:.5,bottom:1}[t.verticalAlign]*s.height},o=[at.x-Number(i.attr("x")),at.y-Number(i.attr("y"))],c&&this.xAxis&&!W&&this.setDataLabelStartPos(v,i,u,Z,j),i[u?"attr":"animate"](j)):(c&&this.xAxis&&!W&&this.setDataLabelStartPos(v,i,u,Z,s),i.align(t,void 0,s),j=i.alignAttr),W&&0<=s.height)this.justifyDataLabel(i,t,j,at,s,u);else if(L(t.crop,!0)){let{x:F,y:N}=j;F+=o[0],N+=o[1],B=b.isInsidePlot(F,N,{paneCoordinates:!0,series:this})&&b.isInsidePlot(F+at.width,N+at.height,{paneCoordinates:!0,series:this})}t.shape&&!tt&&i[u?"attr":"animate"]({anchorX:P[0],anchorY:P[1]})}u&&c&&(i.placed=!1),B||c&&!W?i.show():(i.hide(),i.placed=!1)}function y(v,i){var t=i.filter;return t?(i=t.operator,v=v[t.property],t=t.value,i===">"&&v>t||i==="<"&&v<t||i===">="&&v>=t||i==="<="&&v<=t||i==="=="&&v==t||i==="==="&&v===t):!0}function E(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function T(v){const i=this.hasRendered||0,t=this.initDataLabelsGroup().attr({opacity:+i});return!i&&t&&(this.visible&&t.show(),this.options.animation?t.animate({opacity:1},v):t.attr({opacity:1})),t}function A(v=this.points){var i,t;const s=this,u=s.chart,b=s.options,B=u.renderer,{backgroundColor:c,plotBackgroundColor:P}=u.options.chart,Z=u.options.plotOptions,tt=B.getContrast(R(P)&&P||R(c)&&c||"#000000");let at=b.dataLabels,W,o;var j=z(at)[0];const F=j.animation;j=j.defer?U(u,F,s):{defer:0,duration:0},at=d(d((i=Z==null?void 0:Z.series)===null||i===void 0?void 0:i.dataLabels,(t=Z==null?void 0:Z[s.type])===null||t===void 0?void 0:t.dataLabels),at),D(this,"drawDataLabels"),($(at)||at.enabled||s._hasPointLabels)&&(o=this.initDataLabels(j),v.forEach(N=>{var Q;const h=N.dataLabels||[];for(W=z(d(at,N.dlOptions||((Q=N.options)===null||Q===void 0?void 0:Q.dataLabels))),W.forEach((k,w)=>{var X,K=k.enabled&&(!N.isNull||N.dataLabelOnNull)&&y(N,k);const q=N.connectors?N.connectors[w]:N.connector,st=k.style||{};let ot={},lt=h[w],ht=!lt;const ut=L(k.distance,N.labelDistance);if(K){var H=L(k[N.formatPrefix+"Format"],k.format),I=N.getLabelConfig();if(I=Y(H)?V(H,I,u):(k[N.formatPrefix+"Formatter"]||k.formatter).call(I,k),H=k.rotation,u.styledMode||(st.color=L(k.color,st.color,R(s.color)?s.color:void 0,"#000000"),st.color==="contrast"?(N.contrastColor=B.getContrast(N.color||s.color),st.color=!Y(ut)&&k.inside||0>(ut||0)||b.stacking?N.contrastColor:tt):delete N.contrastColor,b.cursor&&(st.cursor=b.cursor)),ot={r:k.borderRadius||0,rotation:H,padding:k.padding,zIndex:1},!u.styledMode){const{backgroundColor:et,borderColor:J}=k;ot.fill=et==="auto"?N.color:et,ot.stroke=J==="auto"?N.color:J,ot["stroke-width"]=k.borderWidth}M(ot,(et,J)=>{typeof et>"u"&&delete ot[J]})}!lt||K&&Y(I)&&!!lt.div==!!k.useHTML&&(lt.rotation&&k.rotation||lt.rotation===k.rotation)||(lt=void 0,ht=!0,q&&N.connector&&(N.connector=N.connector.destroy(),N.connectors&&(N.connectors.length===1?delete N.connectors:delete N.connectors[w]))),K&&Y(I)&&(lt?ot.text=I:(lt=H?B.text(I,0,0,k.useHTML).addClass("highcharts-data-label"):B.label(I,0,0,k.shape,void 0,void 0,k.useHTML,void 0,"data-label"))&<.addClass(" highcharts-data-label-color-"+N.colorIndex+" "+(k.className||"")+(k.useHTML?" highcharts-tracker":"")),lt&&(lt.options=k,lt.attr(ot),u.styledMode||lt.css(st).shadow(k.shadow),(K=k[N.formatPrefix+"TextPath"]||k.textPath)&&!k.useHTML&&(lt.setTextPath(((X=N.getDataLabelPath)===null||X===void 0?void 0:X.call(N,lt))||N.graphic,K),N.dataLabelPath&&!K.enabled&&(N.dataLabelPath=N.dataLabelPath.destroy())),lt.added||lt.add(o),s.alignDataLabel(N,lt,k,void 0,ht),lt.isActive=!0,h[w]&&h[w]!==lt&&h[w].destroy(),h[w]=lt))}),Q=h.length;Q--;)h[Q].isActive?h[Q].isActive=!1:(h[Q].destroy(),h.splice(Q,1));N.dataLabel=h[0],N.dataLabels=h})),D(this,"afterDrawDataLabels")}function l(v,i,t,s,u,b){const B=this.chart,c=i.align,P=i.verticalAlign,Z=v.box?0:v.padding||0;let{x:tt=0,y:at=0}=i,W,o;return W=(t.x||0)+Z,0>W&&(c==="right"&&0<=tt?(i.align="left",i.inside=!0):tt-=W,o=!0),W=(t.x||0)+s.width-Z,W>B.plotWidth&&(c==="left"&&0>=tt?(i.align="right",i.inside=!0):tt+=B.plotWidth-W,o=!0),W=t.y+Z,0>W&&(P==="bottom"&&0<=at?(i.verticalAlign="top",i.inside=!0):at-=W,o=!0),W=(t.y||0)+s.height-Z,W>B.plotHeight&&(P==="top"&&0>=at?(i.verticalAlign="bottom",i.inside=!0):at+=B.plotHeight-W,o=!0),o&&(i.x=tt,i.y=at,v.placed=!b,v.align(i,void 0,u)),o}function d(v,i){let t=[],s;if($(v)&&!$(i))t=v.map(function(u){return _(u,i)});else if($(i)&&!$(v))t=i.map(function(u){return _(v,u)});else if(!$(v)&&!$(i))t=_(v,i);else if($(v)&&$(i))for(s=Math.max(v.length,i.length);s--;)t[s]=_(v[s],i[s]);return t}function x(v,i,t,s,u){const b=this.chart,B=b.inverted,c=this.xAxis,P=c.reversed,Z=B?i.height/2:i.width/2;v=(v=v.pointWidth)?v/2:0,i.startXPos=B?u.x:P?-Z-v:c.width-Z+v,i.startYPos=B?P?this.yAxis.height-Z+v:-Z-v:u.y,s?i.visibility==="hidden"&&(i.show(),i.attr({opacity:0}).animate({opacity:1})):i.attr({opacity:1}).animate({opacity:0},void 0,i.hide),b.hasRendered&&(t&&i.attr({x:i.startXPos,y:i.startYPos}),i.placed=!0)}const f=[];C.compose=function(v){O.pushUnique(f,v)&&(v=v.prototype,v.initDataLabelsGroup=E,v.initDataLabels=T,v.alignDataLabel=S,v.drawDataLabels=A,v.justifyDataLabel=l,v.setDataLabelStartPos=x)}}(m||(m={})),m}),n(r,"Series/Column/ColumnDataLabel.js",[r["Core/Series/DataLabel.js"],r["Core/Series/SeriesRegistry.js"],r["Core/Utilities.js"]],function(p,g,O){const{series:U}=g,{merge:V,pick:Y}=O;var G;return function(D){function $(_,M,L,z,m){let C=this.chart.inverted;var S=_.series;let y=(S.xAxis?S.xAxis.len:this.chart.plotSizeX)||0;S=(S.yAxis?S.yAxis.len:this.chart.plotSizeY)||0;var E=_.dlBox||_.shapeArgs;let T=Y(_.below,_.plotY>Y(this.translatedThreshold,S)),A=Y(L.inside,!!this.options.stacking);E&&(z=V(E),0>z.y&&(z.height+=z.y,z.y=0),E=z.y+z.height-S,0<E&&E<z.height&&(z.height-=E),C&&(z={x:S-z.y-z.height,y:y-z.x-z.width,width:z.height,height:z.width}),A||(C?(z.x+=T?0:z.width,z.width=0):(z.y+=T?z.height:0,z.height=0))),L.align=Y(L.align,!C||A?"center":T?"right":"left"),L.verticalAlign=Y(L.verticalAlign,C||A?"middle":T?"top":"bottom"),U.prototype.alignDataLabel.call(this,_,M,L,z,m),L.inside&&_.contrastColor&&M.css({color:_.contrastColor})}const R=[];D.compose=function(_){p.compose(U),O.pushUnique(R,_)&&(_.prototype.alignDataLabel=$)}}(G||(G={})),G}),n(r,"Series/Bar/BarSeries.js",[r["Series/Column/ColumnSeries.js"],r["Core/Series/SeriesRegistry.js"],r["Core/Utilities.js"]],function(p,g,O){const{extend:U,merge:V}=O;class Y extends p{constructor(){super(...arguments),this.points=this.options=this.data=void 0}}return Y.defaultOptions=V(p.defaultOptions,{}),U(Y.prototype,{inverted:!0}),g.registerSeriesType("bar",Y),Y}),n(r,"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/>"}}}),n(r,"Series/Scatter/ScatterSeries.js",[r["Series/Scatter/ScatterSeriesDefaults.js"],r["Core/Series/SeriesRegistry.js"],r["Core/Utilities.js"]],function(p,g,O){const{column:U,line:V}=g.seriesTypes,{addEvent:Y,extend:G,merge:D}=O;class $ extends V{constructor(){super(...arguments),this.points=this.options=this.data=void 0}applyJitter(){const _=this,M=this.options.jitter,L=this.points.length;M&&this.points.forEach(function(z,m){["x","y"].forEach(function(C,S){let y="plot"+C.toUpperCase(),E,T;if(M[C]&&!z.isNull){var A=_[C+"Axis"];T=M[C]*A.transA,A&&!A.isLog&&(E=Math.max(0,z[y]-T),A=Math.min(A.len,z[y]+T),S=1e4*Math.sin(m+S*L),S-=Math.floor(S),z[y]=E+(A-E)*S,C==="x"&&(z.clientX=z.plotX))}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return $.defaultOptions=D(V.defaultOptions,p),G($.prototype,{drawTracker:U.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1}),Y($,"afterTranslate",function(){this.applyJitter()}),g.registerSeriesType("scatter",$),$}),n(r,"Series/CenteredUtilities.js",[r["Core/Globals.js"],r["Core/Series/Series.js"],r["Core/Utilities.js"]],function(p,g,O){const{deg2rad:U}=p,{fireEvent:V,isNumber:Y,pick:G,relativeLength:D}=O;var $;return function(R){R.getCenter=function(){var _=this.options,M=this.chart;const L=2*(_.slicedOffset||0),z=M.plotWidth-2*L,m=M.plotHeight-2*L;var C=_.center;const S=Math.min(z,m),y=_.thickness;var E=_.size;let T=_.innerSize||0;for(typeof E=="string"&&(E=parseFloat(E)),typeof T=="string"&&(T=parseFloat(T)),_=[G(C[0],"50%"),G(C[1],"50%"),G(E&&0>E?void 0:_.size,"100%"),G(T&&0>T?void 0:_.innerSize||0,"0%")],!M.angular||this instanceof g||(_[3]=0),C=0;4>C;++C)E=_[C],M=2>C||C===2&&/%$/.test(E),_[C]=D(E,[z,m,S,_[2]][C])+(M?L:0);return _[3]>_[2]&&(_[3]=_[2]),Y(y)&&2*y<_[2]&&0<y&&(_[3]=_[2]-2*y),V(this,"afterGetCenter",{positions:_}),_},R.getStartAndEndRadians=function(_,M){return _=Y(_)?_:0,M=Y(M)&&M>_&&360>M-_?M:_+360,{start:U*(_+-90),end:U*(M+-90)}}}($||($={})),$}),n(r,"Series/Pie/PiePoint.js",[r["Core/Animation/AnimationUtilities.js"],r["Core/Series/Point.js"],r["Core/Utilities.js"]],function(p,g,O){const{setAnimation:U}=p,{addEvent:V,defined:Y,extend:G,isNumber:D,pick:$,relativeLength:R}=O;class _ extends g{constructor(){super(...arguments),this.series=this.options=this.labelDistance=void 0}getConnectorPath(){const L=this.labelPosition,z=this.series.options.dataLabels,m=this.connectorShapes;let C=z.connectorShape;return m[C]&&(C=m[C]),C.call(this,{x:L.computed.x,y:L.computed.y,alignment:L.alignment},L.connectorPosition,z)}getTranslate(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}}haloPath(L){const z=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(z.x,z.y,z.r+L,z.r+L,{innerR:z.r-1,start:z.start,end:z.end,borderRadius:z.borderRadius})}init(){super.init.apply(this,arguments),this.name=$(this.name,"Slice");const L=z=>{this.slice(z.type==="select")};return V(this,"select",L),V(this,"unselect",L),this}isValid(){return D(this.y)&&0<=this.y}setVisible(L,z){const m=this.series,C=m.chart,S=m.options.ignoreHiddenPoint;z=$(z,S),L!==this.visible&&(this.visible=this.options.visible=L=typeof L>"u"?!this.visible:L,m.options.data[m.data.indexOf(this)]=this.options,["graphic","dataLabel","connector"].forEach(y=>{this[y]&&this[y][L?"show":"hide"](L)}),this.legendItem&&C.legend.colorizeItem(this,L),L||this.state!=="hover"||this.setState(""),S&&(m.isDirty=!0),z&&C.redraw())}slice(L,z,m){const C=this.series;U(m,C.chart),$(z,!0),this.sliced=this.options.sliced=Y(L)?L:!this.sliced,C.options.data[C.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return G(_.prototype,{connectorShapes:{fixedOffset:function(M,L,z){const m=L.breakAt;return L=L.touchingSliceAt,[["M",M.x,M.y],z.softConnector?["C",M.x+(M.alignment==="left"?-5:5),M.y,2*m.x-L.x,2*m.y-L.y,m.x,m.y]:["L",m.x,m.y],["L",L.x,L.y]]},straight:function(M,L){return L=L.touchingSliceAt,[["M",M.x,M.y],["L",L.x,L.y]]},crookedLine:function(M,L,z){const{breakAt:m,touchingSliceAt:C}=L;({series:L}=this);const[S,y,E]=L.center,T=E/2,A=L.chart.plotWidth,l=L.chart.plotLeft;L=M.alignment==="left";const{x:d,y:x}=M;return z.crookDistance?(M=R(z.crookDistance,1),M=L?S+T+(A+l-S-T)*(1-M):l+(S-T)*M):M=S+(y-x)*Math.tan((this.angle||0)-Math.PI/2),z=[["M",d,x]],(L?M<=d&&M>=m.x:M>=d&&M<=m.x)&&z.push(["L",M,x]),z.push(["L",m.x,m.y],["L",C.x,C.y]),z}}}),_}),n(r,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,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}}}}),n(r,"Series/Pie/PieSeries.js",[r["Series/CenteredUtilities.js"],r["Series/Column/ColumnSeries.js"],r["Core/Globals.js"],r["Series/Pie/PiePoint.js"],r["Series/Pie/PieSeriesDefaults.js"],r["Core/Series/Series.js"],r["Core/Series/SeriesRegistry.js"],r["Core/Renderer/SVG/Symbols.js"],r["Core/Utilities.js"]],function(p,g,O,U,V,Y,G,D,$){const{getStartAndEndRadians:R}=p;({noop:O}=O);const{clamp:_,extend:M,fireEvent:L,merge:z,pick:m,relativeLength:C}=$;class S extends Y{constructor(){super(...arguments),this.points=this.options=this.maxLabelDistance=this.data=this.center=void 0}animate(E){const T=this,A=T.points,l=T.startAngleRad;E||A.forEach(function(d){const x=d.graphic,f=d.shapeArgs;x&&f&&(x.attr({r:m(d.startR,T.center&&T.center[3]/2),start:l,end:l}),x.animate({r:f.r,start:f.start,end:f.end},T.options.animation))})}drawEmpty(){const E=this.startAngleRad,T=this.endAngleRad,A=this.options;let l,d;this.total===0&&this.center?(l=this.center[0],d=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(l,d,this.center[1]/2,0,E,T).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:D.arc(l,d,this.center[2]/2,0,{start:E,end:T,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":A.borderWidth,fill:A.fillColor||"none",stroke:A.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){const E=this.chart.renderer;this.points.forEach(function(T){T.graphic&&T.hasNewShapeType()&&(T.graphic=T.graphic.destroy()),T.graphic||(T.graphic=E[T.shapeType](T.shapeArgs).add(T.series.group),T.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(E,T,A){const l=this.center,d=this.radii?this.radii[A.index]||0:l[2]/2;return E=Math.asin(_((E-l[1])/(d+A.labelDistance),-1,1)),l[0]+(T?-1:1)*Math.cos(E)*(d+A.labelDistance)+(0<A.labelDistance?(T?-1:1)*this.options.dataLabels.padding:0)}hasData(){return!!this.processedXData.length}redrawPoints(){const E=this,T=E.chart;let A,l,d,x;this.drawEmpty(),E.group&&!T.styledMode&&E.group.shadow(E.options.shadow),E.points.forEach(function(f){const v={};l=f.graphic,!f.isNull&&l?(x=f.shapeArgs,A=f.getTranslate(),T.styledMode||(d=E.pointAttribs(f,f.selected&&"select")),f.delayedRendering?(l.setRadialReference(E.center).attr(x).attr(A),T.styledMode||l.attr(d).attr({"stroke-linejoin":"round"}),f.delayedRendering=!1):(l.setRadialReference(E.center),T.styledMode||z(!0,v,d),z(!0,v,x,A),l.animate(v)),l.attr({visibility:f.visible?"inherit":"hidden"}),l.addClass(f.getClassName(),!0)):l&&(f.graphic=l.destroy())})}sortByAngle(E,T){E.sort(function(A,l){return typeof A.angle<"u"&&(l.angle-A.angle)*T})}translate(E){L(this,"translate"),this.generatePoints();var T=this.options;const A=T.slicedOffset,l=A+(T.borderWidth||0);var d=R(T.startAngle,T.endAngle);const x=this.startAngleRad=d.start;d=(this.endAngleRad=d.end)-x;const f=this.points,v=T.dataLabels.distance;T=T.ignoreHiddenPoint;const i=f.length;let t,s,u,b=0;for(E||(this.center=E=this.getCenter()),s=0;s<i;s++){u=f[s];var B=x+b*d;!u.isValid()||T&&!u.visible||(b+=u.percentage/100);var c=x+b*d,P={x:E[0],y:E[1],r:E[2]/2,innerR:E[3]/2,start:Math.round(1e3*B)/1e3,end:Math.round(1e3*c)/1e3};u.shapeType="arc",u.shapeArgs=P,u.labelDistance=m(u.options.dataLabels&&u.options.dataLabels.distance,v),u.labelDistance=C(u.labelDistance,P.r),this.maxLabelDistance=Math.max(this.maxLabelDistance||0,u.labelDistance),c=(c+B)/2,c>1.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),u.slicedTranslation={translateX:Math.round(Math.cos(c)*A),translateY:Math.round(Math.sin(c)*A)},P=Math.cos(c)*E[2]/2,t=Math.sin(c)*E[2]/2,u.tooltipPos=[E[0]+.7*P,E[1]+.7*t],u.half=c<-Math.PI/2||c>Math.PI/2?1:0,u.angle=c,B=Math.min(l,u.labelDistance/5),u.labelPosition={natural:{x:E[0]+P+Math.cos(c)*u.labelDistance,y:E[1]+t+Math.sin(c)*u.labelDistance},computed:{},alignment:0>u.labelDistance?"center":u.half?"right":"left",connectorPosition:{breakAt:{x:E[0]+P+Math.cos(c)*B,y:E[1]+t+Math.sin(c)*B},touchingSliceAt:{x:E[0]+P,y:E[1]+t}}}}L(this,"afterTranslate")}updateTotals(){const E=this.points,T=E.length,A=this.options.ignoreHiddenPoint;let l,d,x=0;for(l=0;l<T;l++)d=E[l],!d.isValid()||A&&!d.visible||(x+=d.y);for(this.total=x,l=0;l<T;l++)d=E[l],d.percentage=0<x&&(d.visible||!A)?d.y/x*100:0,d.total=x}}return S.defaultOptions=z(Y.defaultOptions,V),M(S.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:g.prototype.drawTracker,getCenter:p.getCenter,getSymbol:O,isCartesian:!1,noSharedTooltip:!0,pointAttribs:g.prototype.pointAttribs,pointClass:U,requireSorting:!1,searchPoint:O,trackerGroups:["group","dataLabelsGroup"]}),G.registerSeriesType("pie",S),S}),n(r,"Series/Pie/PieDataLabel.js",[r["Core/Series/DataLabel.js"],r["Core/Globals.js"],r["Core/Renderer/RendererUtilities.js"],r["Core/Series/SeriesRegistry.js"],r["Core/Utilities.js"]],function(p,g,O,U,V){const{noop:Y}=g,{distribute:G}=O,{series:D}=U,{arrayMax:$,clamp:R,defined:_,merge:M,pick:L,relativeLength:z}=V;var m;return function(C){function S(){const l=this,d=l.data,x=l.chart,f=l.options.dataLabels||{},v=f.connectorPadding,i=x.plotWidth,t=x.plotHeight,s=x.plotLeft,u=Math.round(x.chartWidth/3),b=l.center,B=b[2]/2,c=b[1],P=[[],[]],Z=[0,0,0,0],tt=l.dataLabelPositioners;let at,W,o,j,F,N,Q,h,k,w,X,K;l.visible&&(f.enabled||l._hasPointLabels)&&(d.forEach(function(q){q.dataLabel&&q.visible&&q.dataLabel.shortened&&(q.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),q.dataLabel.shortened=!1)}),D.prototype.drawDataLabels.apply(l),d.forEach(function(q){q.dataLabel&&(q.visible?(P[q.half].push(q),q.dataLabel._pos=null,!_(f.style.width)&&!_(q.options.dataLabels&&q.options.dataLabels.style&&q.options.dataLabels.style.width)&&q.dataLabel.getBBox().width>u&&(q.dataLabel.css({width:Math.round(.7*u)+"px"}),q.dataLabel.shortened=!0)):(q.dataLabel=q.dataLabel.destroy(),q.dataLabels&&q.dataLabels.length===1&&delete q.dataLabels))}),P.forEach((q,st)=>{const ot=q.length,lt=[];let ht,ut=0;if(ot){if(l.sortByAngle(q,st-.5),0<l.maxLabelDistance){var H=Math.max(0,c-B-l.maxLabelDistance);ht=Math.min(c+B+l.maxLabelDistance,x.plotHeight),q.forEach(function(I){0<I.labelDistance&&I.dataLabel&&(I.top=Math.max(0,c-B-I.labelDistance),I.bottom=Math.min(c+B+I.labelDistance,x.plotHeight),ut=I.dataLabel.getBBox().height||21,I.distributeBox={target:I.labelPosition.natural.y-I.top+ut/2,size:ut,rank:I.y},lt.push(I.distributeBox))}),H=ht+ut-H,G(lt,H,H/5)}for(X=0;X<ot;X++){if(at=q[X],N=at.labelPosition,j=at.dataLabel,w=at.visible===!1?"hidden":"inherit",k=H=N.natural.y,lt&&_(at.distributeBox)&&(typeof at.distributeBox.pos>"u"?w="hidden":(Q=at.distributeBox.size,k=tt.radialDistributionY(at))),delete at.positionIndex,f.justify)h=tt.justify(at,B,b);else switch(f.alignTo){case"connectors":h=tt.alignToConnectors(q,st,i,s);break;case"plotEdges":h=tt.alignToPlotEdges(j,st,i,s);break;default:h=tt.radialDistributionX(l,at,k,H)}j._attr={visibility:w,align:N.alignment},K=at.options.dataLabels||{},j._pos={x:h+L(K.x,f.x)+({left:v,right:-v}[N.alignment]||0),y:k+L(K.y,f.y)-j.getBBox().height/2},N&&(N.computed.x=h,N.computed.y=k),L(f.crop,!0)&&(F=j.getBBox().width,H=null,h-F<v&&st===1?(H=Math.round(F-h+v),Z[3]=Math.max(H,Z[3])):h+F>i-v&&st===0&&(H=Math.round(h+F-i+v),Z[1]=Math.max(H,Z[1])),0>k-Q/2?Z[0]=Math.max(Math.round(-k+Q/2),Z[0]):k+Q/2>t&&(Z[2]=Math.max(Math.round(k+Q/2-t),Z[2])),j.sideOverflow=H)}}}),$(Z)===0||this.verifyDataLabelOverflow(Z))&&(this.placeDataLabels(),this.points.forEach(function(q){if(K=M(f,q.options.dataLabels),W=L(K.connectorWidth,1)){let st;o=q.connector,(j=q.dataLabel)&&j._pos&&q.visible&&0<q.labelDistance?(w=j._attr.visibility,(st=!o)&&(q.connector=o=x.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+q.colorIndex+(q.className?" "+q.className:"")).add(l.dataLabelsGroup),x.styledMode||o.attr({"stroke-width":W,stroke:K.connectorColor||q.color||"#666666"})),o[st?"attr":"animate"]({d:q.getConnectorPath()}),o.attr("visibility",w)):o&&(q.connector=o.destroy())}}))}function y(){this.points.forEach(function(l){let d=l.dataLabel,x;d&&l.visible&&((x=d._pos)?(d.sideOverflow&&(d._attr.width=Math.max(d.getBBox().width-d.sideOverflow,0),d.css({width:d._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),d.shortened=!0),d.attr(d._attr),d[d.moved?"animate":"attr"](x),d.moved=!0):d&&d.attr({y:-9999})),delete l.distributeBox},this)}function E(l){let d=this.center,x=this.options,f=x.center,v=x.minSize||80,i,t=x.size!==null;return t||(f[0]!==null?i=Math.max(d[2]-Math.max(l[1],l[3]),v):(i=Math.max(d[2]-l[1]-l[3],v),d[0]+=(l[3]-l[1])/2),f[1]!==null?i=R(i,v,d[2]-Math.max(l[0],l[2])):(i=R(i,v,d[2]-l[0]-l[2]),d[1]+=(l[0]-l[2])/2),i<d[2]?(d[2]=i,d[3]=Math.min(x.thickness?Math.max(0,i-2*x.thickness):Math.max(0,z(x.innerSize||0,i)),i),this.translate(d),this.drawDataLabels&&this.drawDataLabels()):t=!0),t}const T=[],A={radialDistributionY:function(l){return l.top+l.distributeBox.pos},radialDistributionX:function(l,d,x,f){return l.getX(x<d.top+2||x>d.bottom-2?f:x,d.half,d)},justify:function(l,d,x){return x[0]+(l.half?-1:1)*(d+l.labelDistance)},alignToPlotEdges:function(l,d,x,f){return l=l.getBBox().width,d?l+f:x-l-f},alignToConnectors:function(l,d,x,f){let v=0,i;return l.forEach(function(t){i=t.dataLabel.getBBox().width,i>v&&(v=i)}),d?v+f:x-v-f}};C.compose=function(l){p.compose(D),V.pushUnique(T,l)&&(l=l.prototype,l.dataLabelPositioners=A,l.alignDataLabel=Y,l.drawDataLabels=S,l.placeDataLabels=y,l.verifyDataLabelOverflow=E)}}(m||(m={})),m}),n(r,"Extensions/OverlappingDataLabels.js",[r["Core/Chart/Chart.js"],r["Core/Utilities.js"]],function(p,g){function O(R,_){let M,L=!1;return R&&(M=R.newOpacity,R.oldOpacity!==M&&(R.alignAttr&&R.placed?(R[M?"removeClass":"addClass"]("highcharts-data-label-hidden"),L=!0,R.alignAttr.opacity=M,R[R.isOld?"animate":"attr"](R.alignAttr,null,function(){_.styledMode||R.css({pointerEvents:M?"auto":"none"})}),V(_,"afterHideOverlappingLabel")):R.attr({opacity:M})),R.isOld=!0),L}const{addEvent:U,fireEvent:V,isArray:Y,isNumber:G,objectEach:D,pick:$}=g;U(p,"render",function(){let R=this,_=[];(this.labelCollectors||[]).forEach(function(M){_=_.concat(M())}),(this.yAxis||[]).forEach(function(M){M.stacking&&M.options.stackLabels&&!M.options.stackLabels.allowOverlap&&D(M.stacking.stacks,function(L){D(L,function(z){z.label&&_.push(z.label)})})}),(this.series||[]).forEach(function(M){var L=M.options.dataLabels;M.visible&&(L.enabled!==!1||M._hasPointLabels)&&(L=z=>z.forEach(m=>{m.visible&&(Y(m.dataLabels)?m.dataLabels:m.dataLabel?[m.dataLabel]:[]).forEach(function(C){const S=C.options;C.labelrank=$(S.labelrank,m.labelrank,m.shapeArgs&&m.shapeArgs.height),S.allowOverlap?(C.oldOpacity=C.opacity,C.newOpacity=1,O(C,R)):_.push(C)})}),L(M.nodes||[]),L(M.points))}),this.hideOverlappingLabels(_)}),p.prototype.hideOverlappingLabels=function(R){let _=this,M=R.length,L=_.renderer;var z;let m,C,S,y,E=!1;var T=function(A){let l,d;var x;let f=A.box?0:A.padding||0,v=x=0,i,t;if(A&&(!A.alignAttr||A.placed))return l=A.alignAttr||{x:A.attr("x"),y:A.attr("y")},d=A.parentGroup,A.width||(x=A.getBBox(),A.width=x.width,A.height=x.height,x=L.fontMetrics(A.element).h),i=A.width-2*f,(t={left:"0",center:"0.5",right:"1"}[A.alignValue])?v=+t*i:G(A.x)&&Math.round(A.x)!==A.translateX&&(v=A.x-A.translateX),{x:l.x+(d.translateX||0)+f-(v||0),y:l.y+(d.translateY||0)+f-x,width:A.width-2*f,height:A.height-2*f}};for(m=0;m<M;m++)(z=R[m])&&(z.oldOpacity=z.opacity,z.newOpacity=1,z.absoluteBox=T(z));for(R.sort(function(A,l){return(l.labelrank||0)-(A.labelrank||0)}),m=0;m<M;m++)for(S=(T=R[m])&&T.absoluteBox,z=m+1;z<M;++z)y=(C=R[z])&&C.absoluteBox,!S||!y||T===C||T.newOpacity===0||C.newOpacity===0||T.visibility==="hidden"||C.visibility==="hidden"||y.x>=S.x+S.width||y.x+y.width<=S.x||y.y>=S.y+S.height||y.y+y.height<=S.y||((T.labelrank<C.labelrank?T:C).newOpacity=0);R.forEach(function(A){O(A,_)&&(E=!0)}),E&&V(_,"afterHideAllOverlappingLabels")}}),n(r,"Extensions/BorderRadius.js",[r["Core/Defaults.js"],r["Core/Series/Series.js"],r["Core/Series/SeriesRegistry.js"],r["Core/Renderer/SVG/SVGElement.js"],r["Core/Renderer/SVG/SVGRenderer.js"],r["Core/Utilities.js"]],function(p,g,O,U,V,Y){const{defaultOptions:G}=p;({seriesTypes:p}=O);const{addEvent:D,extend:$,isObject:R,merge:_,relativeLength:M}=Y,L={radius:0,scope:"stack",where:void 0},z=(m,C)=>(R(m)||(m={radius:m||0}),_(L,C,m));if(U.symbolCustomAttribs.indexOf("borderRadius")===-1){U.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY");const m=V.prototype.symbols.arc;V.prototype.symbols.arc=function(S,y,E,T,A={}){S=m(S,y,E,T,A);const{innerR:l=0,r:d=E,start:x=0,end:f=0}=A;if(A.open||!A.borderRadius)return S;for(E=f-x,y=Math.sin(E/2),A=Math.max(Math.min(M(A.borderRadius||0,d-l),(d-l)/2,d*y/(1+y)),0),E=Math.min(A,E/Math.PI*2*l),y=S.length-1;y--;){let B,c,P;T=S;var v=y,i=1<y?E:A,t=T[v],s=T[v+1];if(s[0]==="Z"&&(s=T[0]),t[0]!=="M"&&t[0]!=="L"||s[0]!=="A"?t[0]!=="A"||s[0]!=="M"&&s[0]!=="L"||(P=s,c=t):(P=t,c=s,B=!0),P&&c&&c.params){t=c[1];var u=c[5];s=c.params;const{start:Z,end:tt,cx:at,cy:W}=s;var b=u?t-i:t+i;const o=b?Math.asin(i/b):0;u=u?o:-o,b*=Math.cos(o),B?(s.start=Z+u,P[1]=at+b*Math.cos(Z),P[2]=W+b*Math.sin(Z),T.splice(v+1,0,["A",i,i,0,0,1,at+t*Math.cos(s.start),W+t*Math.sin(s.start)])):(s.end=tt-u,c[6]=at+t*Math.cos(s.end),c[7]=W+t*Math.sin(s.end),T.splice(v+1,0,["A",i,i,0,0,1,at+b*Math.cos(tt),W+b*Math.sin(tt)])),c[4]=Math.abs(s.end-s.start)<Math.PI?0:1}}return S};const C=V.prototype.symbols.roundedRect;V.prototype.symbols.roundedRect=function(S,y,E,T,A={}){const l=C(S,y,E,T,A),{r:d=0,brBoxHeight:x=T,brBoxY:f=y}=A;var v=y-f,i=f+x-(y+T);A=-.1<v-d?0:d;const t=-.1<i-d?0:d;var s=Math.max(A&&v,0);const u=Math.max(t&&i,0);i=[S+A,y],v=[S+E-A,y];const b=[S+E,y+A],B=[S+E,y+T-t],c=[S+E-t,y+T],P=[S+t,y+T],Z=[S,y+T-t],tt=[S,y+A];if(s){const at=Math.sqrt(Math.pow(A,2)-Math.pow(A-s,2));i[0]-=at,v[0]+=at,b[1]=tt[1]=y+A-s}return T<A-s&&(s=Math.sqrt(Math.pow(A,2)-Math.pow(A-s-T,2)),b[0]=B[0]=S+E-A+s,c[0]=Math.min(b[0],c[0]),P[0]=Math.max(B[0],P[0]),Z[0]=tt[0]=S+A-s,b[1]=tt[1]=y+T),u&&(s=Math.sqrt(Math.pow(t,2)-Math.pow(t-u,2)),c[0]+=s,P[0]-=s,B[1]=Z[1]=y+T-t+u),T<t-u&&(T=Math.sqrt(Math.pow(t,2)-Math.pow(t-u-T,2)),b[0]=B[0]=S+E-t+T,v[0]=Math.min(b[0],v[0]),i[0]=Math.max(B[0],i[0]),Z[0]=tt[0]=S+t-T,B[1]=Z[1]=y),l.length=0,l.push(["M",...i],["L",...v],["A",A,A,0,0,1,...b],["L",...B],["A",t,t,0,0,1,...c],["L",...P],["A",t,t,0,0,1,...Z],["L",...tt],["A",A,A,0,0,1,...i],["Z"]),l},D(p.pie,"afterTranslate",function(){const S=z(this.options.borderRadius);for(const y of this.points){const E=y.shapeArgs;E&&(E.borderRadius=M(S.radius,(E.r||0)-(E.innerR||0)))}}),D(g,"afterColumnTranslate",function(){var S,y;if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){const{options:l,yAxis:d}=this,x=l.stacking==="percent";var E=(y=(S=G.plotOptions)===null||S===void 0?void 0:S[this.type])===null||y===void 0?void 0:y.borderRadius;S=z(l.borderRadius,R(E)?E:{}),y=d.options.reversed;for(const f of this.points)if({shapeArgs:E}=f,f.shapeType==="roundedRect"&&E){const{width:v=0,height:i=0,y:t=0}=E;var T=t,A=i;S.scope==="stack"&&f.stackTotal&&(T=d.translate(x?100:f.stackTotal,!1,!0,!1,!0),A=d.translate(l.threshold||0,!1,!0,!1,!0),A=this.crispCol(0,Math.min(T,A),0,Math.abs(T-A)),T=A.y,A=A.height);const s=(f.negative?-1:1)*(y?-1:1)===-1;let u=S.where;!u&&this.is("waterfall")&&Math.abs((f.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(u="all"),u||(u="end");const b=Math.min(M(S.radius,v),v/2,u==="all"?i/2:1/0)||0;u==="end"&&(s&&(T-=b),A+=b),$(E,{brBoxHeight:A,brBoxY:T,r:b})}}},{order:9})}return g={optionsToObject:z},g}),n(r,"Core/Responsive.js",[r["Core/Utilities.js"]],function(p){const{diffObjects:g,extend:O,find:U,merge:V,pick:Y,uniqueKey:G}=p;var D;return function($){function R(L,z){const m=L.condition;(m.callback||function(){return this.chartWidth<=Y(m.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=Y(m.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=Y(m.minWidth,0)&&this.chartHeight>=Y(m.minHeight,0)}).call(this)&&z.push(L._id)}function _(L,z){const m=this.options.responsive;var C=this.currentResponsive;let S=[];!z&&m&&m.rules&&m.rules.forEach(y=>{typeof y._id>"u"&&(y._id=G()),this.matchResponsiveRule(y,S)},this),z=V(...S.map(y=>U((m||{}).rules||[],E=>E._id===y)).map(y=>y&&y.chartOptions)),z.isResponsiveOptions=!0,S=S.toString()||void 0,S!==(C&&C.ruleIds)&&(C&&this.update(C.undoOptions,L,!0),S?(C=g(z,this.options,!0,this.collectionsWithUpdate),C.isResponsiveOptions=!0,this.currentResponsive={ruleIds:S,mergedOptions:z,undoOptions:C},this.update(z,L,!0)):this.currentResponsive=void 0)}const M=[];$.compose=function(L){return p.pushUnique(M,L)&&O(L.prototype,{matchResponsiveRule:R,setResponsive:_}),L}}(D||(D={})),D}),n(r,"masters/highcharts.src.js",[r["Core/Globals.js"],r["Core/Utilities.js"],r["Core/Defaults.js"],r["Core/Animation/Fx.js"],r["Core/Animation/AnimationUtilities.js"],r["Core/Renderer/HTML/AST.js"],r["Core/Templating.js"],r["Core/Renderer/RendererUtilities.js"],r["Core/Renderer/SVG/SVGElement.js"],r["Core/Renderer/SVG/SVGRenderer.js"],r["Core/Renderer/HTML/HTMLElement.js"],r["Core/Renderer/HTML/HTMLRenderer.js"],r["Core/Axis/Axis.js"],r["Core/Axis/DateTimeAxis.js"],r["Core/Axis/LogarithmicAxis.js"],r["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],r["Core/Axis/Tick.js"],r["Core/Tooltip.js"],r["Core/Series/Point.js"],r["Core/Pointer.js"],r["Core/Legend/Legend.js"],r["Core/Chart/Chart.js"],r["Core/Axis/Stacking/StackingAxis.js"],r["Core/Axis/Stacking/StackItem.js"],r["Core/Series/Series.js"],r["Core/Series/SeriesRegistry.js"],r["Series/Column/ColumnSeries.js"],r["Series/Column/ColumnDataLabel.js"],r["Series/Pie/PieSeries.js"],r["Series/Pie/PieDataLabel.js"],r["Core/Series/DataLabel.js"],r["Core/Responsive.js"],r["Core/Color/Color.js"],r["Core/Time.js"]],function(p,g,O,U,V,Y,G,D,$,R,_,M,L,z,m,C,S,y,E,T,A,l,d,x,f,v,i,t,s,u,b,B,c,P){return p.animate=V.animate,p.animObject=V.animObject,p.getDeferredAnimation=V.getDeferredAnimation,p.setAnimation=V.setAnimation,p.stop=V.stop,p.timers=U.timers,p.AST=Y,p.Axis=L,p.Chart=l,p.chart=l.chart,p.Fx=U,p.Legend=A,p.PlotLineOrBand=C,p.Point=E,p.Pointer=T,p.Series=f,p.StackItem=x,p.SVGElement=$,p.SVGRenderer=R,p.Templating=G,p.Tick=S,p.Time=P,p.Tooltip=y,p.Color=c,p.color=c.parse,M.compose(R),_.compose($),T.compose(l),A.compose(l),p.defaultOptions=O.defaultOptions,p.getOptions=O.getOptions,p.time=O.defaultTime,p.setOptions=O.setOptions,p.dateFormat=G.dateFormat,p.format=G.format,p.numberFormat=G.numberFormat,p.addEvent=g.addEvent,p.arrayMax=g.arrayMax,p.arrayMin=g.arrayMin,p.attr=g.attr,p.clearTimeout=g.clearTimeout,p.correctFloat=g.correctFloat,p.createElement=g.createElement,p.css=g.css,p.defined=g.defined,p.destroyObjectProperties=g.destroyObjectProperties,p.discardElement=g.discardElement,p.distribute=D.distribute,p.erase=g.erase,p.error=g.error,p.extend=g.extend,p.extendClass=g.extendClass,p.find=g.find,p.fireEvent=g.fireEvent,p.getMagnitude=g.getMagnitude,p.getStyle=g.getStyle,p.inArray=g.inArray,p.isArray=g.isArray,p.isClass=g.isClass,p.isDOMElement=g.isDOMElement,p.isFunction=g.isFunction,p.isNumber=g.isNumber,p.isObject=g.isObject,p.isString=g.isString,p.keys=g.keys,p.merge=g.merge,p.normalizeTickInterval=g.normalizeTickInterval,p.objectEach=g.objectEach,p.offset=g.offset,p.pad=g.pad,p.pick=g.pick,p.pInt=g.pInt,p.relativeLength=g.relativeLength,p.removeEvent=g.removeEvent,p.seriesType=v.seriesType,p.splat=g.splat,p.stableSort=g.stableSort,p.syncTimeout=g.syncTimeout,p.timeUnits=g.timeUnits,p.uniqueKey=g.uniqueKey,p.useSerialIds=g.useSerialIds,p.wrap=g.wrap,t.compose(i),b.compose(f),z.compose(L),m.compose(L),u.compose(s),C.compose(L),B.compose(l),d.compose(L,l,f),y.compose(T),p}),r["masters/highcharts.src.js"]._modules=r,r["masters/highcharts.src.js"]})}(ii)),ii.exports}(function(a,e){(function(n,r){a.exports=r(cn(),Ns)})(window,function(n,r){return g=[function(U,V){U.exports=n},function(U,V){U.exports=r},function(U,G,Y){Y.r(G),Y.d(G,"Chart",function(){return y}),Y.d(G,"default",function(){return E});var G=Y(0),D=Y.n(G);function $(T,A){return function l(d,x,f){function v(i,t){!D.a.isObject(i,!f)||D.a.isClass(i)||D.a.isDOMElement(i)?d[t]=x[t]:d[t]=l(d[t]||D.a.isArray(i)?[]:{},i,f)}return D.a.isArray(x)?x.forEach(v):D.a.objectEach(x,v),d}({},T,A)}var R=Y(1);function _(T){return(_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(A){return typeof A}:function(A){return A&&typeof Symbol=="function"&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A})(T)}function M(T){return function(A){if(Array.isArray(A))return L(A)}(T)||function(A){if(typeof Symbol<"u"&&A[Symbol.iterator]!=null||A["@@iterator"]!=null)return Array.from(A)}(T)||function(A,l){var d;if(A)return typeof A=="string"?L(A,l):(d=(d=Object.prototype.toString.call(A).slice(8,-1))==="Object"&&A.constructor?A.constructor.name:d)==="Map"||d==="Set"?Array.from(A):d==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d)?L(A,l):void 0}(T)||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 L(T,A){(A==null||A>T.length)&&(A=T.length);for(var l=0,d=new Array(A);l<A;l++)d[l]=T[l];return d}function z(T,A){var l,d=Object.keys(T);return Object.getOwnPropertySymbols&&(l=Object.getOwnPropertySymbols(T),A&&(l=l.filter(function(x){return Object.getOwnPropertyDescriptor(T,x).enumerable})),d.push.apply(d,l)),d}function m(T){for(var A=1;A<arguments.length;A++){var l=arguments[A]!=null?arguments[A]:{};A%2?z(Object(l),!0).forEach(function(d){var x,f;x=T,f=l[d=d],(d=function(v){return v=function(i,t){if(_(i)!=="object"||i===null)return i;var s=i[Symbol.toPrimitive];if(s===void 0)return(t==="string"?String:Number)(i);if(s=s.call(i,t||"default"),_(s)!=="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}(v,"string"),_(v)==="symbol"?v:String(v)}(d))in x?Object.defineProperty(x,d,{value:f,enumerable:!0,configurable:!0,writable:!0}):x[d]=f}):Object.getOwnPropertyDescriptors?Object.defineProperties(T,Object.getOwnPropertyDescriptors(l)):z(Object(l)).forEach(function(d){Object.defineProperty(T,d,Object.getOwnPropertyDescriptor(l,d))})}return T}var C={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}}},S=function(T,A){return A.split(".")[0]<3?m(m({},C),{},{render:function(l){return l("div",{ref:"chart"})},beforeDestroy:function(){this.chart&&this.chart.destroy()},watch:{options:{handler:function(l){var d;(d=this.chart).update.apply(d,[$(l,this.deepCopyOnUpdate)].concat(M(this.updateArgs)))},deep:!0}},mounted:function(){var l=this.highcharts||T;this.options&&l[this.constructorType]?this.chart=l[this.constructorType](this.$refs.chart,$(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({},C),{},{render:function(){return Object(R.h)("div",{ref:"chartContainer"})},setup:function(l){var d=Object(R.ref)(null),x=Object(R.shallowRef)({});return Object(R.onMounted)(function(){var f=l.highcharts||T;l.options&&f[l.constructorType]?x.value=f[l.constructorType](d.value,$(l.options,!0),l.callback||null):l.options?console.warn("'".concat(l.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(R.watch)(function(){return l.options},function(f,v){var i;(i=x.value).update.apply(i,[$(f,l.deepCopyOnUpdate)].concat(M(l.updateArgs)))},{deep:!0}),Object(R.onBeforeUnmount)(function(){x.value&&x.value.destroy()}),{chart:x,chartContainer:d,props:l}}})},y=S(D.a,R.version||Y.n(R).a.version);function E(T){var A=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};T.component(A.tagName||"highcharts",S(A.highcharts||D.a,T.version))}}],O={},p.m=g,p.c=O,p.d=function(U,V,Y){p.o(U,V)||Object.defineProperty(U,V,{enumerable:!0,get:Y})},p.r=function(U){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(U,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(U,"__esModule",{value:!0})},p.t=function(U,V){if(1&V&&(U=p(U)),8&V||4&V&&typeof U=="object"&&U&&U.__esModule)return U;var Y=Object.create(null);if(p.r(Y),Object.defineProperty(Y,"default",{enumerable:!0,value:U}),2&V&&typeof U!="string")for(var G in U)p.d(Y,G,(function(D){return U[D]}).bind(null,G));return Y},p.n=function(U){var V=U&&U.__esModule?function(){return U.default}:function(){return U};return p.d(V,"a",V),V},p.o=function(U,V){return Object.prototype.hasOwnProperty.call(U,V)},p.p="",p(p.s=2);function p(U){var V;return(O[U]||(V=O[U]={i:U,l:!1,exports:{}},g[U].call(V.exports,V,V.exports,p),V.l=!0,V)).exports}var g,O})})(ds);var $e=ds.exports;const dn={class:"w-88vw flex flex-col md:w-92vw"},un={class:"mx-auto max-w-screen-xl px-4 py-4 lg:px-6 lg:py-6"},pn={class:"lg:grid lg:grid-cols-3 sm:gap-6 xl:gap-10 space-y-8 lg:space-y-0"},fn={class:"mx-auto max-w-[16rem] flex flex-col border border-gray-100 rounded-lg bg-white p-6 text-center text-gray-900 shadow dark:border-gray-600 dark:bg-gray-800 xl:p-8 dark:text-white"},gn={class:"mb-4 text-2xl font-semibold"},mn={class:"my-8 flex items-baseline justify-center"},vn={class:"mr-2 text-5xl font-extrabold"},yn={class:"mt-8 flex flex-col gap-8"},xn=Dt({__name:"Statistics",props:{rank:null},setup(a){const e=a,{t:n}=Kt(),r=St(()=>e.rank);function p(){const g=[];return g.push({title:"standings.statistics.head_data.problems",data:r.value.contest.problems.length}),g.push({title:"standings.statistics.head_data.teams",data:r.value.teams.length}),g.push({title:"standings.statistics.head_data.submissions",data:r.value.getSubmissions().length}),g}return(g,O)=>(pt(),ft("div",dn,[rt("section",null,[rt("div",un,[rt("div",pn,[(pt(!0),ft(Pt,null,It(p(),U=>(pt(),ft("div",{key:U.title},[rt("div",fn,[rt("h3",gn,xt(nt(n)(U.title)),1),rt("div",mn,[rt("span",vn,xt(U.data),1)])])]))),128))])])]),rt("div",yn,[rt("div",null,[At(nt($e.Chart),{options:("getSubmitChart"in g?g.getSubmitChart:nt(ln))(nt(r))},null,8,["options"])]),rt("div",null,[At(nt($e.Chart),{options:("getProblemChart"in g?g.getProblemChart:nt(rn))(nt(r))},null,8,["options"])]),rt("div",null,[At(nt($e.Chart),{options:("getTeamChart"in g?g.getTeamChart:nt(an))(nt(r))},null,8,["options"])])])]))}}),bn={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"},wn={class:"text-sm font-normal text-gray-500 dark:text-gray-400"},kn={class:"font-semibold text-gray-900 dark:text-white"},Sn={class:"font-semibold text-gray-900 dark:text-white"},_n={class:"inline-flex items-stretch font-mono -space-x-px"},Cn=rt("span",{class:"sr-only"},"Previous",-1),Tn=rt("svg",{class:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewbox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[rt("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),Mn=[Cn,Tn],An={key:0},En=["onClick"],On={"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"},Ln=["onClick"],Pn={key:1},Dn=rt("span",{class:"sr-only"},"Next",-1),In=rt("svg",{class:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewbox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[rt("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),jn=[Dn,In],De="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",Bn=Dt({__name:"TablePagination",props:{pagination:null},emits:["update:pagination"],setup(a,{emit:e}){const n=a,r=St({get(){return n.pagination},set(p){e("update:pagination",p)}});return(p,g)=>(pt(),ft("nav",bn,[rt("span",wn,[zt(" Showing "),rt("span",kn,xt(nt(r).currentLeft)+"-"+xt(Math.max(0,nt(r).currentRight-1)),1),zt(" of "),rt("span",Sn,xt(nt(r).totalSize),1)]),rt("ul",_n,[rt("li",null,[rt("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:g[0]||(g[0]=O=>nt(r).onPageChange({diff:-1}))},Mn)]),nt(r).currentPage!==0?(pt(),ft("li",An,[rt("a",{class:Tt(De),hover:"cursor-pointer",onClick:g[1]||(g[1]=O=>nt(r).onPageChange({to:0}))}," 1 ")])):kt("",!0),(pt(!0),ft(Pt,null,It(nt(r).leftDecrPage,O=>(pt(),ft("li",{key:O},[rt("a",{class:Tt(De),hover:"cursor-pointer",onClick:U=>nt(r).onPageChange({to:O})},xt(O+1),9,En)]))),128)),rt("li",null,[rt("a",On,xt(nt(r).currentPage+1),1)]),(pt(!0),ft(Pt,null,It(nt(r).rightIncrPage,O=>(pt(),ft("li",{key:O},[rt("a",{hover:"cursor-pointer",class:Tt(De),onClick:U=>nt(r).onPageChange({to:O})},xt(O+1),9,Ln)]))),128)),nt(r).currentPage!==nt(r).totalPage-1&&nt(r).totalPage>1?(pt(),ft("li",Pn,[rt("a",{hover:"cursor-pointer",class:Tt(De),onClick:g[2]||(g[2]=O=>nt(r).onPageChange({to:nt(r).totalPage-1}))},xt(nt(r).totalPage),1)])):kt("",!0),rt("li",null,[rt("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:g[3]||(g[3]=O=>nt(r).onPageChange({diff:1}))},jn)])])]))}});class Rn{constructor(){Pe(this,"totalSize");Pe(this,"currentPage");Pe(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 e=[];let n=1,r=this.currentPage-n;for(;r>0;)e.push(r),n=n<<1,r-=n;return e.reverse()}get rightIncrPage(){const e=[];let n=1,r=this.currentPage+n;for(;r+1<this.totalPage;)e.push(r),n=n<<1,r+=n;return e}onPageChange(e){const n=this.totalPage;let r=this.currentPage;if((e==null?void 0:e.to)!==void 0&&(r=e.to),(e==null?void 0:e.diff)!==void 0){const p=e.diff;r=r+p}r<0||r>=n||(this.currentPage=r)}}const ie=a=>(ke("data-v-7408f3dd"),a=a(),Se(),a),zn={class:"mx-auto w-full","px-4":""},Hn={class:"lg:flex-row lg:items-center lg:justify-between space-y-3 lg:space-x-4 lg:space-y-0",flex:"","flex-col":"","px-4":"","py-3":""},Nn={class:"flex flex-shrink-0 flex-col md:flex-row md:items-center lg:justify-end space-y-3 md:space-x-3 md:space-y-0"},$n={key:0,type:"button",class:"flex items-center justify-center rounded-lg bg-primary-700 px-4 py-2 text-sm font-medium text-white dark:bg-primary-600 hover:bg-primary-800 focus:outline-none focus:ring-4 focus:ring-primary-300 dark:hover:bg-primary-700 dark:focus:ring-primary-800"},Wn=ie(()=>rt("svg",{class:"mr-2 h-3.5 w-3.5",fill:"currentColor",viewbox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[rt("path",{"clip-rule":"evenodd","fill-rule":"evenodd",d:"M10 3a1 1 0 011 1v5h5a1 1 0 110 2h-5v5a1 1 0 11-2 0v-5H4a1 1 0 110-2h5V4a1 1 0 011-1z"})],-1)),Fn={key:1,type:"button",class:"flex flex-shrink-0 items-center justify-center border border-gray-200 rounded-lg bg-white px-3 py-2 text-sm font-medium text-gray-900 focus:z-10 dark:border-gray-600 dark:bg-gray-800 hover:bg-gray-100 dark:text-gray-400 hover:text-primary-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:hover:bg-gray-700 dark:hover:text-white dark:focus:ring-gray-700"},Gn=ie(()=>rt("svg",{class:"mr-2 h-4 w-4",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",fill:"none",viewbox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[rt("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99"})],-1)),Xn={key:2,type:"button",class:"flex flex-shrink-0 items-center justify-center border border-gray-200 rounded-lg bg-white px-3 py-2 text-sm font-medium text-gray-900 focus:z-10 dark:border-gray-600 dark:bg-gray-800 hover:bg-gray-100 dark:text-gray-400 hover:text-primary-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:hover:bg-gray-700 dark:hover:text-white dark:focus:ring-gray-700"},Yn=ie(()=>rt("div",{"i-pajamas-export":"",class:"mr-2 h-4 w-4"},null,-1)),Un={class:"overflow-x-auto"},Vn={class:"w-full text-left text-sm text-gray-500 dark:text-gray-400","font-medium":"","font-mono":""},qn={class:"bg-gray-50 text-xs uppercase text-gray-700 dark:bg-gray-700 dark:text-gray-400"},Kn=ie(()=>rt("th",{scope:"col",class:"px-4 py-3"}," Problem ",-1)),Zn={key:0,scope:"col",class:"px-4 py-3"},Jn=ie(()=>rt("th",{scope:"col",class:"px-4 py-3"}," Team ",-1)),Qn=ie(()=>rt("th",{scope:"col",class:"px-4 py-3"}," Status ",-1)),tr={key:1,scope:"col",class:"px-4 py-3"},er={key:2,scope:"col",class:"px-4 py-3"},ir={key:3,scope:"col",class:"px-4 py-3"},sr=ie(()=>rt("th",{scope:"col",class:"px-4 py-3"}," Submit Time ",-1)),or={"px-4":"","py-2":""},nr={key:0,class:"whitespace-nowrap px-4 py-2 text-gray-900 dark:text-white"},rr={class:"whitespace-nowrap px-4 py-2 text-gray-900 dark:text-white"},ar={key:1,class:"whitespace-nowrap px-4 py-2 text-gray-900 dark:text-white"},lr=ie(()=>rt("div",{class:"flex items-center"},[rt("div",{class:"mr-2 inline-block h-4 w-4 rounded-full bg-red-700"}),zt(" 95 ")],-1)),hr=[lr],cr={key:2,class:"whitespace-nowrap px-4 py-2 text-gray-900 dark:text-white"},dr={key:3,class:"whitespace-nowrap px-4 py-2 text-gray-900 dark:text-white"},ur=ie(()=>rt("div",{class:"flex items-center"},[rt("span",{class:"ml-1 text-gray-500 dark:text-gray-400"},"5.0")],-1)),pr=[ur],fr={class:"whitespace-nowrap px-4 py-2 text-gray-900 dark:text-white"},gr={class:"flex items-center"},mr=Dt({__name:"SubmissionsTable",props:{rank:{},submissions:{},pageSize:{},removeBorder:{type:Boolean}},setup(a){const e=a,n=St(()=>e.rank),r=St(()=>e.submissions.sort($s.compare).reverse()),p=Et(new Rn);p.value.currentPage=0,p.value.pageSize=e.pageSize??16,p.value.totalSize=r.value.length,Ge(r,()=>{p.value.totalSize=r.value.length,p.value.currentPage>=p.value.totalPage&&(p.value.currentPage=p.value.totalPage-1)});const g=St(()=>r.value.slice(p.value.currentLeft,p.value.currentRight)),O=Et(!1);function U(G){const D=Math.floor(G/3600),$=Math.floor(G%3600/60),R=G%60,_=M=>M.toString().padStart(2,"0");return`${_(D)}:${_($)}:${_(R)}`}function V(G){const D="bg-primary-100 text-primary-800 dark:bg-primary-900 dark:text-primary-300",$=G.problemId,R=n.value.contest.problemsMap.get($);if(R==null||!R.balloonColor)return D}function Y(G){const D=G.problemId,$=n.value.contest.problemsMap.get(D);if($==null||!$.balloonColor)return;const R=$.balloonColor;return{backgroundColor:R.background_color,color:R.color}}return(G,D)=>{const $=Bn;return pt(),ft("section",null,[rt("div",zn,[rt("div",{class:Tt(["relative overflow-hidden bg-white dark:bg-gray-800",{"shadow-md":e.removeBorder!==!0,"sm:rounded-sm":e.removeBorder!==!0}])},[rt("div",Hn,[rt("div",Nn,[nt(O)?(pt(),ft("button",$n,[Wn,zt(" Add new product ")])):kt("",!0),nt(O)?(pt(),ft("button",Fn,[Gn,zt(" Update stocks 1/250 ")])):kt("",!0),nt(O)?(pt(),ft("button",Xn,[Yn,zt(" Export ")])):kt("",!0)])]),rt("div",Un,[rt("table",Vn,[rt("thead",qn,[rt("tr",null,[Kn,nt(n).contest.organization?(pt(),ft("th",Zn,xt(nt(n).contest.organization),1)):kt("",!0),Jn,Qn,nt(O)?(pt(),ft("th",tr," Time ")):kt("",!0),nt(O)?(pt(),ft("th",er," Memory ")):kt("",!0),nt(O)?(pt(),ft("th",ir," Answer ")):kt("",!0),sr])]),rt("tbody",null,[(pt(!0),ft(Pt,null,It(nt(g),R=>{var _,M,L;return pt(),ft("tr",{key:R.id,class:"border-b dark:border-gray-600 hover:bg-gray-100 dark:hover:bg-gray-700"},[rt("td",or,[rt("span",{class:Tt(["rounded px-2 py-0.5 text-sm",[V(R)]]),style:le(Y(R))},xt((_=nt(n).contest.problemsMap.get(R.problemId))==null?void 0:_.label),7)]),nt(n).contest.organization?(pt(),ft("td",nr,xt((M=nt(n).teamsMap.get(R.teamId))==null?void 0:M.organization),1)):kt("",!0),rt("td",rr,xt((L=nt(n).teamsMap.get(R.teamId))==null?void 0:L.name),1),rt("td",{scope:"row",class:Tt([R.status.toString()]),"whitespace-nowrap":"","px-4":"","py-2":"",flex:"","items-center":"","font-bold":""},xt(nt(Ws)[R.status]),3),nt(O)?(pt(),ft("td",ar,hr)):kt("",!0),nt(O)?(pt(),ft("td",cr," 0.47 ")):kt("",!0),nt(O)?(pt(),ft("td",dr,pr)):kt("",!0),rt("td",fr,[rt("div",gr,xt(U(R.timestamp)),1)])])}),128))])])]),At($,{pagination:nt(p),"onUpdate:pagination":D[0]||(D[0]=R=>$t(p)?p.value=R:null)},null,8,["pagination"])],2)])])}}});const hi=te(mr,[["__scopeId","data-v-7408f3dd"]]),ci=a=>(ke("data-v-e6b57d04"),a=a(),Se(),a),vr={class:"statistics-0"},yr=["colspan"],xr={class:"stnd"},br={class:"statistics-1"},wr=["colspan"],kr={class:"stnd"},Sr=ci(()=>rt("br",null,null,-1)),_r={class:"statistics-0"},Cr=["colspan"],Tr={class:"stnd"},Mr=ci(()=>rt("br",null,null,-1)),Ar={class:"statistics-1"},Er=["colspan"],Or={class:"stnd"},Lr=ci(()=>rt("br",null,null,-1)),Pr={class:"statistics-0"},Dr=["colspan"],Ir={class:"stnd"},jr={class:"statistics-1"},Br=["colspan"],Rr={class:"stnd"},zr=Dt({__name:"BottomStatistics",props:{rank:null},setup(a){const e=a,{t:n}=Kt(),r=St(()=>e.rank);function p(){let G=3;return r.value.contest.organization&&G++,r.value.contest.badge&&G++,G}function g(G){return G.submittedNum===0?"NaN":`${Math.floor(G.attemptedNum*100/G.submittedNum)}%`}function O(G){return G.submittedNum===0?"NaN":`${Math.floor(G.acceptedNum*100/G.submittedNum)}%`}function U(G){return G.attemptedNum===0?"NaN":`${G.dirt}%`}function V(G){return G.firstSolveSubmissions.length===0?"Null":`${Math.floor(G.firstSolveSubmissions[0].timestamp/60)}`}function Y(G){return G.lastSolveSubmissions.length===0?"Null":`${Math.floor(G.lastSolveSubmissions[0].timestamp/60)}`}return(G,D)=>(pt(),ft(Pt,null,[rt("tr",vr,[rt("td",{class:"empty",colspan:p()},null,8,yr),rt("td",xr,[rt("b",null,xt(nt(n)("standings.statistics.submitted")),1)]),(pt(!0),ft(Pt,null,It(nt(r).contest.problems,$=>(pt(),ft("td",{key:$.id,class:"stnd"},[rt("b",null,xt($.statistics.submittedNum),1)]))),128))]),rt("tr",br,[rt("td",{class:"empty",colspan:p()},null,8,wr),rt("td",kr,[rt("b",null,xt(nt(n)("standings.statistics.attempted")),1)]),(pt(!0),ft(Pt,null,It(nt(r).contest.problems,$=>(pt(),ft("td",{key:$.id,class:"stnd"},[rt("b",null,xt($.statistics.attemptedNum),1),Sr,rt("b",null," ("+xt(g($.statistics))+") ",1)]))),128))]),rt("tr",_r,[rt("td",{class:"empty",colspan:p()},null,8,Cr),rt("td",Tr,[rt("b",null,xt(nt(n)("standings.statistics.accepted")),1)]),(pt(!0),ft(Pt,null,It(nt(r).contest.problems,$=>(pt(),ft("td",{key:$.id,class:"stnd"},[rt("b",null,xt($.statistics.acceptedNum),1),Mr,rt("b",null," ("+xt(O($.statistics))+") ",1)]))),128))]),rt("tr",Ar,[rt("td",{class:"empty",colspan:p()},null,8,Er),rt("td",Or,[rt("b",null,xt(nt(n)("standings.statistics.dirt")),1)]),(pt(!0),ft(Pt,null,It(nt(r).contest.problems,$=>(pt(),ft("td",{key:$.id,class:"stnd"},[rt("b",null,xt($.statistics.attemptedNum-$.statistics.acceptedNum),1),Lr,rt("b",null," ("+xt(U($.statistics))+") ",1)]))),128))]),rt("tr",Pr,[rt("td",{class:"empty",colspan:p()},null,8,Dr),rt("td",Ir,[rt("b",null,xt(nt(n)("standings.statistics.first_solved")),1)]),(pt(!0),ft(Pt,null,It(nt(r).contest.problems,$=>(pt(),ft("td",{key:$.id,class:"stnd"},[rt("b",null,xt(V($.statistics)),1)]))),128))]),rt("tr",jr,[rt("td",{class:"empty",colspan:p()},null,8,Br),rt("td",Rr,[rt("b",null,xt(nt(n)("standings.statistics.last_solved")),1)]),(pt(!0),ft(Pt,null,It(nt(r).contest.problems,$=>(pt(),ft("td",{key:$.id,class:"stnd"},[rt("b",null,xt(Y($.statistics)),1)]))),128))])],64))}});const Hr=te(zr,[["__scopeId","data-v-e6b57d04"]]),Nr={"w-full":"","font-bold":"","font-mono":"",flex:"","items-center":"","justify-center":"",class:"mt-[-12px]"},$r=Dt({__name:"SubmissionsTableModal",props:{isHidden:{type:Boolean},rank:null,team:null,p:null},emits:["update:isHidden"],setup(a,{emit:e}){const n=a,r=St({get(){return n.isHidden},set(V){e("update:isHidden",V)}}),p=St(()=>n.rank),g=St(()=>n.team),O=St(()=>n.p),U=St(()=>`${g.value.name} - ${O.value.problem.label}`);return(V,Y)=>{const G=hi,D=ai;return pt(),Xt(D,{isHidden:nt(r),"onUpdate:isHidden":Y[0]||(Y[0]=$=>$t(r)?r.value=$:null),title:nt(U)},{default:pe(()=>[rt("div",Nr,[At(G,{"w-full":"",rank:nt(p),submissions:nt(O).submissions,"page-size":8,"remove-border":!0},null,8,["rank","submissions"])])]),_:1},8,["isHidden","title"])}}}),Wr=a=>(ke("data-v-dbdd6e30"),a=a(),Se(),a),Fr=Wr(()=>rt("br",null,null,-1)),Gr=Dt({__name:"TeamProblemBlock",props:{rank:null,team:null,p:null},setup(a){const e=a,n=Et(!0);function r(){n.value=!1}const p=St(()=>e.rank),g=St(()=>e.team),O=St(()=>e.p);function U(G){return G.isSolved?"+":G.isWrongAnswer?"-":G.isPending?`? ${G.pendingCount}`:""}function V(G){let D="";return G.isUnSubmitted||(D+=`${G.failedCount+Number(G.isSolved)}`),(G.isSolved&&p.value.contest.statusTimeDisplay.correct||G.isPending&&p.value.contest.statusTimeDisplay.pending||G.isWrongAnswer&&p.value.contest.statusTimeDisplay.incorrect)&&(D+=`/${Math.floor(G.lastSubmitTimestamp/60)}`),D}function Y(G){return G.isFirstSolved?"first-solve":G.isSolved?"correct":G.isWrongAnswer?"incorrect":G.isPending?"pending":"unattempted"}return(G,D)=>{const $=$r;return pt(),ft("td",{class:Tt(["stnd",[Y(nt(O))]])},[rt("div",{"cursor-pointer":"",onClick:r},[zt(xt(U(nt(O)))+" ",1),Fr,zt(" "+xt(V(nt(O))),1)]),rt("div",null,[nt(n)?kt("",!0):(pt(),Xt($,{key:0,isHidden:nt(n),"onUpdate:isHidden":D[0]||(D[0]=R=>$t(n)?n.value=R:null),rank:nt(p),team:nt(g),p:nt(O)},null,8,["isHidden","rank","team","p"]))])],2)}}});const Xr=te(Gr,[["__scopeId","data-v-dbdd6e30"]]),Yr={"text-gray-900":"","dark:text-white":"","text-xl":"","font-mono":"","font-semibold":"",italic:"",flex:"","flex-col":"","gap-2":"","justify-center":""},Ur={key:0},Vr={key:1,flex:"","flex-col":"","gap-2":""},qr={key:2},Kr=Dt({__name:"TeamAwards",props:{team:null,rank:null},setup(a){const e=a,n=St(()=>e.team),r=St(()=>e.rank),p=St(()=>e.team.problemStatistics.filter(O=>!!O.isFirstSolved).map(O=>O.problem.label).join(",")),g=St(()=>{const O=e.team.awards;return O.includes(ae.GOLD)?{text:"Gold"}:O.includes(ae.SILVER)?{text:"Silver"}:O.includes(ae.BRONZE)?{text:"Bronze"}:O.includes(ae.HONORABLE)?{text:"Honorable"}:null});return(O,U)=>(pt(),ft("div",Yr,[rt("div",null," Team Rank: "+xt(nt(n).rank),1),nt(n).organization&&nt(n).organizationRank!==-1?(pt(),ft("div",Ur,xt(nt(r).contest.organization)+" Rank: "+xt(nt(n).organizationRank),1)):kt("",!0),nt(p).length?(pt(),ft("div",Vr,[rt("div",null," First Solved Problem "+xt(nt(p)),1)])):kt("",!0),nt(g)?(pt(),ft("div",qr,xt(nt(g).text)+" Medal ",1)):kt("",!0)]))}}),Zr={role:"group","inline-flex":"","flex-col":"","w-full":"","md:w-auto":"","md:flex-row":"","rounded-md":"","shadow-sm":""},Jr=["onClick"],Qr=Dt({__name:"ModalMenu",props:{currentType:null,types:null},emits:["update:currentType"],setup(a,{emit:e}){const n=a,{t:r}=Kt(),p=St({get(){return n.currentType},set(U){e("update:currentType",U)}});function g(U){p.value=U}const O=St(()=>n.types.length);return(U,V)=>(pt(),ft("div",Zr,[(pt(!0),ft(Pt,null,It(n.types,(Y,G)=>(pt(),ft("button",{key:Y,type:"button","px-4":"","py-2":"","my-2":"","text-sm":"","font-medium":"","text-gray-900":"","bg-white":"","dark:bg-gray-700":"","dark:text-white":"","border-gray-200":"","dark:border-gray-600":"","hover:bg-gray-100":"","dark:hover:bg-gray-600":"","hover:text-primary-700":"","dark:hover:text-white":"","focus:z-10":"","focus:ring-2":"","focus:ring-primary-700":"","focus:text-primary-700":"","dark:focus:ring-primary-500":"","dark:focus:text-white":"",class:Tt({"rounded-t-lg md:rounded-tr-none md:rounded-l-lg":G===0,"rounded-b-lg md:rounded-bl-none md:rounded-r-lg mr-2":G+1===nt(O),border:G===0||G+1===nt(O),"border-t border-x md:border-x-0 md:border-b":G>0&&G+1<nt(O),"md:border-r-0":G===0,"md:border-l":G>0,"z-10 ring-2 ring-primary-700 text-primary-700 dark:ring-primary-600 dark:text-white":nt(p)===Y}),onClick:D=>g(Y)},xt(nt(r)(`type_menu.${Y}`)),11,Jr))),128))]))}}),ta=["src"],us=Dt({__name:"Badge",props:{image:null,widthClass:null},setup(a){const e=a,n=St(()=>e.image),r=St(()=>e.widthClass?e.widthClass:"h-8 w-8");return(p,g)=>nt(n).base64?(pt(),ft("img",{key:0,src:nt(Fs)(nt(n)),alt:"badge",class:Tt([nt(r)])},null,10,ta)):kt("",!0)}}),ea={"w-full":"","max-w-screen-xl":"","px-4":"","mx-auto":"","lg:px-12":""},ia={relative:"","overflow-hidden":"","bg-white":"","dark:bg-gray-800":""},sa={flex:"","flex-col":"","items-center":"","justify-between":"","md:flex-row":"","space-y-3":"","md:space-y-0":""},oa={flex:"","flex-row":"","space-x-3":""},na={"text-gray-900":"","dark:text-white":"","text-2xl":"","font-sans":"","font-semibold":"",italic:""},ra={"w-full":"","font-bold":"","font-mono":"",flex:"","items-center":"","justify-center":""},aa={key:0,"w-full":"",class:"mt-[-12px]"},la={key:1,"w-full":""},ha={key:2,"w-full":""},zi="submissions",Hi="statistics",Ni="awards",ca=Dt({__name:"TeamInfoModal",props:{isHidden:{type:Boolean},rank:null,team:null},emits:["update:isHidden"],setup(a,{emit:e}){const n=a,r=St({get(){return n.isHidden},set(Y){e("update:isHidden",Y)}}),p=Et("submissions"),g=St(()=>n.rank),O=St(()=>n.team),U=St(()=>{let Y="";return g.value.contest.organization&&O.value.organization.length>0&&(Y+=`${O.value.organization} - `),Y+=`${O.value.name}`,O.value.members&&(Y+=` - ${O.value.members}`),O.value.coach&&(Y+=` - ${O.value.coach}(coach)`),Y}),V=[zi,Hi,Ni];return(Y,G)=>{const D=us,$=Qr,R=hi,_=Kr,M=ai;return pt(),Xt(M,{isHidden:nt(r),"onUpdate:isHidden":G[1]||(G[1]=L=>$t(r)?r.value=L:null)},{header:pe(()=>[rt("div",ea,[rt("div",ia,[rt("div",sa,[rt("div",oa,[nt(O).badge?(pt(),Xt(D,{key:0,image:nt(O).badge,"width-class":"h-8 w-8"},null,8,["image"])):kt("",!0),rt("h3",na,xt(nt(U)),1)]),At($,{"current-type":nt(p),"onUpdate:currentType":G[0]||(G[0]=L=>$t(p)?p.value=L:null),types:V},null,8,["current-type"])])])])]),default:pe(()=>[rt("div",ra,[nt(p)===zi?(pt(),ft("div",aa,[At(R,{"w-full":"",rank:nt(g),submissions:nt(O).submissions,"page-size":8,"remove-border":!0},null,8,["rank","submissions"])])):kt("",!0),nt(p)===Hi?(pt(),ft("div",la,[At(nt($e.Chart),{options:("getTeamPlaceChart"in Y?Y.getTeamPlaceChart:nt(hn))(nt(g),nt(O))},null,8,["options"])])):kt("",!0),nt(p)===Ni?(pt(),ft("div",ha,[At(_,{team:nt(O),rank:nt(g)},null,8,["team","rank"])])):kt("",!0)])]),_:1},8,["isHidden"])}}}),da={},ua={class:"color-gray-700 dark:color-gray-200"},pa=rt("svg",{t:"1685666543416",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"3736",width:"16",height:"16"},[rt("path",{d:"M661.333333 662.613333c0.213333 82.133333 28.8 169.386667 64 169.386667v170.666667H298.666667v-170.666667c35.2 0 63.786667-87.253333 64-169.386667a176.256 176.256 0 0 1 21.333333-1.28h21.333333c0 35.413333 47.786667 64 106.666667 64s106.666667-28.586667 106.666667-64h21.333333a176.256 176.256 0 0 1 21.333333 1.28z",fill:"#F3596B","p-id":"3737"}),rt("path",{d:"M810.666667 832v170.666667h-85.333334v-170.666667c-35.2 0-63.786667-87.253333-64-169.386667A170.666667 170.666667 0 0 1 810.666667 832zM362.666667 662.613333c-0.213333 82.133333-28.8 169.386667-64 169.386667v170.666667h-85.333334v-170.666667a170.666667 170.666667 0 0 1 149.333334-169.386667z",fill:"#FFD0AA","p-id":"3738"}),rt("path",{d:"M704 320v-85.333333c0-94.293333-97.706667-170.666667-192-170.666667a42.794667 42.794667 0 0 1 42.666667-42.666667h128a128 128 0 0 1 128 128v234.666667s0 85.333333 85.333333 85.333333c0 0-93.226667 134.613333-228.48 6.186667a166.229333 166.229333 0 0 0 13.866667-49.066667L682.666667 426.666667h21.333333a42.666667 42.666667 0 0 0 0-85.333334h-21.333333v-21.333333z",fill:"#FFCA6B","p-id":"3739"}),rt("path",{d:"M704 234.666667H320c0-94.293333 97.706667-170.666667 192-170.666667s192 76.373333 192 170.666667z",fill:"#FFCA6B","p-id":"3740"}),rt("path",{d:"M704 234.666667v85.333333H320v-85.333333h384z",fill:"#F3596B","p-id":"3741"}),rt("path",{d:"M746.666667 384a42.794667 42.794667 0 0 1-42.666667 42.666667h-21.333333l-1.28-0.213334A172.8 172.8 0 0 0 682.666667 405.333333v-64h21.333333a42.794667 42.794667 0 0 1 42.666667 42.666667zM341.333333 405.333333a172.8 172.8 0 0 0 1.28 21.12L341.333333 426.666667h-21.333333a42.666667 42.666667 0 0 1 0-85.333334h21.333333zM618.666667 661.333333c0 35.413333-47.786667 64-106.666667 64s-106.666667-28.586667-106.666667-64a42.794667 42.794667 0 0 0 42.666667-42.666666v-55.04a171.712 171.712 0 0 0 128 0V618.666667a42.794667 42.794667 0 0 0 42.666667 42.666666z",fill:"#FFD0AA","p-id":"3742"}),rt("path",{d:"M682.666667 341.333333v64a172.8 172.8 0 0 1-1.28 21.12 166.229333 166.229333 0 0 1-13.866667 49.066667A170.474667 170.474667 0 0 1 576 563.626667 170.538667 170.538667 0 0 1 341.333333 405.333333v-85.333333h341.333334z",fill:"#FFD0AA","p-id":"3743"}),rt("path",{d:"M810.666667 1024H213.333333a21.333333 21.333333 0 0 1-21.333333-21.333333v-170.666667a192.213333 192.213333 0 0 1 192-192h21.333333a21.333333 21.333333 0 0 0 21.333334-21.333333v-64h42.666666v64a64 64 0 0 1-64 64h-21.333333a149.504 149.504 0 0 0-149.333333 149.333333v149.333333h554.666666v-149.333333a149.504 149.504 0 0 0-149.333333-149.333333h-21.333333a64 64 0 0 1-64-64v-64h42.666666v64a21.333333 21.333333 0 0 0 21.333334 21.333333h21.333333a192.213333 192.213333 0 0 1 192 192v170.666667a21.333333 21.333333 0 0 1-21.333333 21.333333z",fill:"#2A3244","p-id":"3744"}),rt("path",{d:"M512 597.333333a192.234667 192.234667 0 0 1-192-192v-85.333333a21.333333 21.333333 0 0 1 21.333333-21.333333h341.333334a21.333333 21.333333 0 0 1 21.333333 21.333333v85.333333a192.234667 192.234667 0 0 1-192 192z m-149.333333-256v64a149.333333 149.333333 0 0 0 298.666666 0v-64z",fill:"#2A3244","p-id":"3745"}),rt("path",{d:"M704 448h-21.333333v-42.666667h21.333333a21.333333 21.333333 0 0 0 0-42.666666h-21.333333v-42.666667h21.333333a64 64 0 0 1 0 128zM341.333333 448h-21.333333a64 64 0 0 1 0-128h21.333333v42.666667h-21.333333a21.333333 21.333333 0 0 0 0 42.666666h21.333333z",fill:"#2A3244","p-id":"3746"}),rt("path",{d:"M704 341.333333H320a21.333333 21.333333 0 0 1-21.333333-21.333333v-85.333333a21.333333 21.333333 0 0 1 21.333333-21.333334h384a21.333333 21.333333 0 0 1 21.333333 21.333334v85.333333a21.333333 21.333333 0 0 1-21.333333 21.333333z m-362.666667-42.666666h341.333334v-42.666667H341.333333z",fill:"#2A3244","p-id":"3747"}),rt("path",{d:"M725.333333 234.666667h-42.666666c0-84.096-91.733333-149.333333-170.666667-149.333334s-170.666667 65.237333-170.666667 149.333334h-42.666666c0-109.888 112.618667-192 213.333333-192s213.333333 82.112 213.333333 192z",fill:"#2A3244","p-id":"3748"}),rt("path",{d:"M783.616 552.32c-46.122667 0-92.266667-22.805333-137.365333-67.904l30.165333-30.165333c39.701333 39.701333 78.613333 58.389333 115.648 55.018666a114.282667 114.282667 0 0 0 60.8-26.026666A105.92 105.92 0 0 1 789.333333 384V149.333333a106.794667 106.794667 0 0 0-106.666666-106.666666h-128a21.333333 21.333333 0 0 0-21.333334 21.333333h-42.666666a64 64 0 0 1 64-64h128a149.504 149.504 0 0 1 149.333333 149.333333v234.666667a60.842667 60.842667 0 0 0 64 64 21.333333 21.333333 0 0 1 17.536 33.472 174.72 174.72 0 0 1-117.333333 70.250667 130.133333 130.133333 0 0 1-12.586667 0.597333zM512 746.666667c-71.765333 0-128-37.482667-128-85.333334h42.666667c0 20.138667 36.48 42.666667 85.333333 42.666667s85.333333-22.528 85.333333-42.666667h42.666667c0 47.850667-56.234667 85.333333-128 85.333334zM746.666667 1002.666667h-42.666667v-154.709334c-43.968-23.274667-64-117.333333-64-186.624h42.666667c0 85.333333 29.866667 148.842667 42.666666 149.333334a22.08 22.08 0 0 1 21.333334 21.333333zM320 1002.666667h-42.666667v-170.666667a21.333333 21.333333 0 0 1 21.333334-21.333333c12.8-0.490667 42.666667-64 42.666666-149.333334h42.666667c0 69.354667-20.032 163.349333-64 186.624z",fill:"#2A3244","p-id":"3749"})],-1),fa=[pa];function ga(a,e){return pt(),ft("div",ua,fa)}const ma=te(da,[["render",ga]]),va={},ya={class:"color-gray-700 dark:color-gray-200"},xa=rt("svg",{t:"1685845881484",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4847",width:"16",height:"16"},[rt("path",{d:"M785.352203 933.397493c-4.074805 0-8.151657-0.970094-11.833513-3.007497l-261.311471-142.488225L250.942821 930.388972c-8.343015 4.559852-18.527982 3.8814-26.28669-1.599428-7.760754-5.5279-11.640108-14.987343-10.088776-24.347524l47.578622-285.365306L72.563154 429.470355c-6.594185-6.547113-8.971325-16.295128-6.110161-25.122167 2.814092-8.850575 10.379395-15.397688 19.546172-16.949021l285.512662-47.577598 118.529557-236.989529c4.172019-8.391111 12.803607-13.701047 22.165836-13.701047 9.359158 0 17.992793 5.309936 22.163789 13.701047l118.529557 236.989529 285.511639 47.577598c9.217942 1.551332 16.73208 8.051373 19.593244 16.949021 2.813069 8.875135 0.48607 18.575054-6.109138 25.122167L762.264369 619.077737l47.577598 285.365306c1.50119 9.360182-2.37714 18.819624-10.087753 24.347524C795.487028 931.797042 790.394033 933.397493 785.352203 933.397493zM512.206196 734.747153c4.073782 0 8.196683 0.968048 11.880585 3.006474l228.379431 124.545574-41.268916-247.634983c-1.308809-7.90504 1.257643-16.005532 6.932899-21.63167l164.55787-164.555823-250.398934-41.709961c-7.855922-1.308809-14.549368-6.304589-18.140149-13.408381l-101.942787-203.915249","p-id":"4848"})],-1),ba=[xa];function wa(a,e){return pt(),ft("div",ya,ba)}const ka=te(va,[["render",wa]]),Sa=a=>(ke("data-v-30762cf0"),a=a(),Se(),a),_a={key:1,class:"empty flex items-center justify-center"},Ca={flex:""},Ta={class:"float-left pl-2 font-serif"},Ma={key:0},Aa={class:"flex-1"},Ea=Sa(()=>rt("div",{class:"float-right"},null,-1)),Oa=Dt({__name:"TeamUI",props:{ix:null,rank:null,team:null,isFilter:{type:Boolean}},setup(a){const e=a,n=Et(null),r=Gs(n),p=Et(!0);function g(){p.value=!1}const O=St(()=>e.rank),U=St(()=>e.team);function V(G,D=!1){if(e.isFilter)return"filter-team";if(D){if(G.awards.includes(ae.GOLD))return"gold";if(G.awards.includes(ae.SILVER))return"silver";if(G.awards.includes(ae.BRONZE))return"bronze";if(G.awards.includes(ae.HONORABLE))return"honorable"}const $=(O.value.rankStatistics.getTeamSolvedNumIndex(G.solvedProblemNum)-1)%2,R=(G.rank-1)%2;return`stand${$}${R}`}function Y(){return r.value||e.ix<32}return(G,D)=>{const $=us,R=ka,_=ma,M=ca,L=Xr;return pt(),ft("tr",{ref_key:"el",ref:n,class:Tt(["h-10",[e.isFilter?"filter-team":""]])},[Y()?(pt(),ft("td",{key:0,class:Tt(["stnd",[V(nt(U),!0)]])},xt(nt(U).rank),3)):kt("",!0),nt(O).contest.badge&&nt(U).badge&&Y()?(pt(),ft("td",_a,[At($,{image:nt(U).badge,"width-class":"h-8 w-8"},null,8,["image"])])):kt("",!0),nt(O).contest.organization&&Y()?(pt(),ft("td",{key:2,class:Tt(["stnd",[V(nt(U))]])},[rt("div",Ca,[rt("div",Ta,[nt(U).organizationRank>-1?(pt(),ft("div",Ma,xt(nt(U).organizationRank),1)):kt("",!0)]),rt("div",Aa,xt(nt(U).organization),1),Ea])],2)):kt("",!0),Y()?(pt(),ft("td",{key:3,class:Tt(["stnd",[V(nt(U))]])},[rt("div",{"cursor-pointer":"",onClick:g},[rt("span",null,xt(nt(U).name),1),nt(U).group.includes("unofficial")?(pt(),Xt(R,{key:0,"inline-block":""})):kt("",!0),nt(U).group.includes("girl")?(pt(),Xt(_,{key:1,"inline-block":""})):kt("",!0)]),rt("div",null,[nt(p)?kt("",!0):(pt(),Xt(M,{key:0,isHidden:nt(p),"onUpdate:isHidden":D[0]||(D[0]=z=>$t(p)?p.value=z:null),rank:nt(O),team:nt(U)},null,8,["isHidden","rank","team"]))])],2)):kt("",!0),Y()?(pt(),ft("td",{key:4,class:Tt(["stnd",[V(nt(U))]])},xt(nt(U).solvedProblemNum),3)):kt("",!0),Y()?(pt(),ft("td",{key:5,class:Tt(["stnd",[V(nt(U))]])},xt(nt(U).penaltyToMinute),3)):kt("",!0),(pt(!0),ft(Pt,null,It(nt(U).problemStatistics,z=>(pt(),ft(Pt,{key:z.problem.id},[Y()?(pt(),Xt(L,{key:0,rank:nt(O),team:nt(U),p:z},null,8,["rank","team","p"])):kt("",!0)],64))),128)),Y()?(pt(),ft("td",{key:6,class:Tt(["stnd",[V(nt(U))]])},xt(`${nt(U).dirt}%`),3)):kt("",!0)],2)}}});const La=te(Oa,[["__scopeId","data-v-30762cf0"]]),Pa=a=>(ke("data-v-c132047d"),a=a(),Se(),a),Da={class:"standings","font-mono":"","dark:text-gray-700":""},Ia={class:"sticky top-0 z-99"},ja={class:"title",style:{width:"3rem"}},Ba={key:0,class:"title",style:{width:"2rem"}},Ra={class:"title",style:{width:"3rem"}},za={class:"title",style:{width:"4rem"}},Ha=Pa(()=>rt("br",null,null,-1)),Na={class:"title",style:{width:"2.5rem"}},$a=Dt({__name:"Standings",props:{rank:{}},setup(a){const e=a,{t:n}=Kt(),r=St(()=>e.rank),p=St(()=>e.rank.teams),g=St(()=>e.rank.teams.filter(Y=>!!(e.rank.organizations&&e.rank.options.filterOrganizationMap.has(Y.organization)||e.rank.options.filterTeamMap.has(Y.id)))),O=St(()=>{let V=0;return r.value.teams.forEach(Y=>{V=Math.max(V,Y.organization.length)}),V}),U=St(()=>{let V=0;return r.value.teams.forEach(Y=>{V=Math.max(V,Y.name.length)}),V});return(V,Y)=>{const G=La,D=Hr;return pt(),ft("div",null,[rt("div",null,[rt("table",Da,[rt("thead",Ia,[rt("tr",null,[rt("th",ja,xt(nt(n)("standings.place")),1),nt(r).contest.badge?(pt(),ft("th",Ba,xt(nt(r).contest.badge),1)):kt("",!0),nt(r).contest.organization?(pt(),ft("th",{key:1,class:"title",style:le({width:`${Math.min(32,Math.ceil(nt(O)*1.1))}rem`})},xt(nt(r).contest.organization),5)):kt("",!0),rt("th",{class:"title",style:le({width:`${Math.min(32,Math.ceil(nt(U)*1))}rem`})},xt(nt(n)("standings.team")),5),rt("th",Ra,xt(nt(n)("standings.solved")),1),rt("th",za,xt(nt(n)("standings.penalty")),1),(pt(!0),ft(Pt,null,It(nt(r).contest.problems,$=>{var R,_;return pt(),ft("th",{key:$.id,class:"success","text-center":"",style:le([{width:"3rem"},{"background-color":(R=$.balloonColor)==null?void 0:R.background_color,color:(_=$.balloonColor)==null?void 0:_.color}])},[zt(xt($.label)+" ",1),Ha,rt("s",null,xt($.statistics.acceptedNum),1)],4)}),128)),rt("th",Na,xt(nt(n)("standings.dirt")),1)])]),rt("tbody",null,[(pt(!0),ft(Pt,null,It(nt(g),($,R)=>(pt(),Xt(G,{key:`filter-${$.id}`,ix:R,rank:nt(r),team:$,"is-filter":!0},null,8,["ix","rank","team"]))),128)),(pt(!0),ft(Pt,null,It(nt(p),($,R)=>(pt(),Xt(G,{key:$.id,ix:R,rank:nt(r),team:$},null,8,["ix","rank","team"]))),128)),At(D,{rank:nt(r)},null,8,["rank"])])])])])}}});const Wa=te($a,[["__scopeId","data-v-c132047d"]]),Fa={"font-mono":"",flex:""},Ga=["onClick"],Xa=["href"],Ya={key:1},Ua=Dt({__name:"SecondLevelMenu",props:{items:null,currentItem:null,queryParamName:null,reverseOrder:{type:Boolean},onChange:{type:Function}},emits:["update:currentItem"],setup(a,{emit:e}){const n=a,r=St(()=>{var D;for(const $ of n.items)if($.isDefault)return $.keyword;return(D=n.items)==null?void 0:D[0].keyword}),p=ns(n.queryParamName,r.value,{transform:String}),g=St({get(){return n.currentItem},set(D){e("update:currentItem",D)}}),{t:O,locale:U}=Kt();function V(D){return D.title?O(D.title):D.titles?D.titles.get(U.value)??D.titles.get(D.defaultLang):""}function Y(D){return g.value===D.keyword}function G(D){n.onChange&&n.onChange(D.keyword),!(D.link||D.isModal)&&(g.value=D.keyword,p.value=D.keyword)}return rs(()=>{(()=>{var D;((D=p.value)==null?void 0:D.length)>0&&((()=>{for(const $ of n.items)if($.titles){for(const[R,_]of $.titles)if(p.value===_){p.value=$.keyword;return}}})(),g.value=p.value,n.onChange&&n.onChange(p.value))})()}),(D,$)=>(pt(),ft("div",Fa,[rt("div",{class:Tt(["mr-[-4px]",{"flex-row-reverse":n.reverseOrder}]),flex:""},[(pt(!0),ft(Pt,null,It(n.items,R=>(pt(),ft("div",{key:R.keyword,class:Tt(["second-level-menu-item",[Y(R)?"second-level-menu-item-current":""]]),onClick:_=>G(R)},[rt("div",null,[R.link?(pt(),ft("a",{key:0,href:R.link,target:"_blank",title:"Resolver"},xt(V(R)),9,Xa)):kt("",!0),R.link?kt("",!0):(pt(),ft("div",Ya,xt(V(R)),1))])],10,Ga))),128))],2)]))}});const Va=te(Ua,[["__scopeId","data-v-714a998b"]]);const qa={},Ka={class:"flex items-center justify-center dark:text-black"},Za=Xs('<table data-v-54297ce8><tbody data-v-54297ce8><tr data-v-54297ce8><td class="gold" data-v-54297ce8> Gold </td><td class="silver" data-v-54297ce8> Silver </td><td class="bronze" data-v-54297ce8> Bronze </td><td class="honorable" data-v-54297ce8> Honorable </td><td class="first-solve" data-v-54297ce8> First to solve problem </td><td class="correct" data-v-54297ce8> Solved problem </td><td class="incorrect" data-v-54297ce8> Attempted problem </td><td class="pending" data-v-54297ce8> Pending judgement </td></tr></tbody></table>',1),Ja=[Za];function Qa(a,e){return pt(),ft("div",Ka,Ja)}const tl=te(qa,[["render",Qa],["__scopeId","data-v-54297ce8"]]);var el=function(){function a(e,n){n===void 0&&(n=[]),this._eventType=e,this._eventFunctions=n}return a.prototype.init=function(){var e=this;this._eventFunctions.forEach(function(n){typeof window<"u"&&window.addEventListener(e._eventType,n)})},a}(),Xe=globalThis&&globalThis.__assign||function(){return Xe=Object.assign||function(a){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var p in e)Object.prototype.hasOwnProperty.call(e,p)&&(a[p]=e[p])}return a},Xe.apply(this,arguments)},Ye={alwaysOpen:!1,activeClasses:"bg-gray-100 dark:bg-gray-800 text-gray-900 dark:text-white",inactiveClasses:"text-gray-500 dark:text-gray-400",onOpen:function(){},onClose:function(){},onToggle:function(){}},ps=function(){function a(e,n){e===void 0&&(e=[]),n===void 0&&(n=Ye),this._items=e,this._options=Xe(Xe({},Ye),n),this._init()}return a.prototype._init=function(){var e=this;this._items.length&&this._items.map(function(n){n.active&&e.open(n.id),n.triggerEl.addEventListener("click",function(){e.toggle(n.id)})})},a.prototype.getItem=function(e){return this._items.filter(function(n){return n.id===e})[0]},a.prototype.open=function(e){var n,r,p=this,g=this.getItem(e);this._options.alwaysOpen||this._items.map(function(O){var U,V;O!==g&&((U=O.triggerEl.classList).remove.apply(U,p._options.activeClasses.split(" ")),(V=O.triggerEl.classList).add.apply(V,p._options.inactiveClasses.split(" ")),O.targetEl.classList.add("hidden"),O.triggerEl.setAttribute("aria-expanded","false"),O.active=!1,O.iconEl&&O.iconEl.classList.remove("rotate-180"))}),(n=g.triggerEl.classList).add.apply(n,this._options.activeClasses.split(" ")),(r=g.triggerEl.classList).remove.apply(r,this._options.inactiveClasses.split(" ")),g.triggerEl.setAttribute("aria-expanded","true"),g.targetEl.classList.remove("hidden"),g.active=!0,g.iconEl&&g.iconEl.classList.add("rotate-180"),this._options.onOpen(this,g)},a.prototype.toggle=function(e){var n=this.getItem(e);n.active?this.close(e):this.open(e),this._options.onToggle(this,n)},a.prototype.close=function(e){var n,r,p=this.getItem(e);(n=p.triggerEl.classList).remove.apply(n,this._options.activeClasses.split(" ")),(r=p.triggerEl.classList).add.apply(r,this._options.inactiveClasses.split(" ")),p.targetEl.classList.add("hidden"),p.triggerEl.setAttribute("aria-expanded","false"),p.active=!1,p.iconEl&&p.iconEl.classList.remove("rotate-180"),this._options.onClose(this,p)},a}();function di(){document.querySelectorAll("[data-accordion]").forEach(function(a){var e=a.getAttribute("data-accordion"),n=a.getAttribute("data-active-classes"),r=a.getAttribute("data-inactive-classes"),p=[];a.querySelectorAll("[data-accordion-target]").forEach(function(g){if(g.closest("[data-accordion]")===a){var O={id:g.getAttribute("data-accordion-target"),triggerEl:g,targetEl:document.querySelector(g.getAttribute("data-accordion-target")),iconEl:g.querySelector("[data-accordion-icon]"),active:g.getAttribute("aria-expanded")==="true"};p.push(O)}}),new ps(p,{alwaysOpen:e==="open",activeClasses:n||Ye.activeClasses,inactiveClasses:r||Ye.inactiveClasses})})}typeof window<"u"&&(window.Accordion=ps,window.initAccordions=di);var Ue=globalThis&&globalThis.__assign||function(){return Ue=Object.assign||function(a){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var p in e)Object.prototype.hasOwnProperty.call(e,p)&&(a[p]=e[p])}return a},Ue.apply(this,arguments)},$i={onCollapse:function(){},onExpand:function(){},onToggle:function(){}},fs=function(){function a(e,n,r){e===void 0&&(e=null),n===void 0&&(n=null),r===void 0&&(r=$i),this._targetEl=e,this._triggerEl=n,this._options=Ue(Ue({},$i),r),this._visible=!1,this._init()}return a.prototype._init=function(){var e=this;this._triggerEl&&(this._triggerEl.hasAttribute("aria-expanded")?this._visible=this._triggerEl.getAttribute("aria-expanded")==="true":this._visible=!this._targetEl.classList.contains("hidden"),this._triggerEl.addEventListener("click",function(){e.toggle()}))},a.prototype.collapse=function(){this._targetEl.classList.add("hidden"),this._triggerEl&&this._triggerEl.setAttribute("aria-expanded","false"),this._visible=!1,this._options.onCollapse(this)},a.prototype.expand=function(){this._targetEl.classList.remove("hidden"),this._triggerEl&&this._triggerEl.setAttribute("aria-expanded","true"),this._visible=!0,this._options.onExpand(this)},a.prototype.toggle=function(){this._visible?this.collapse():this.expand(),this._options.onToggle(this)},a}();function ui(){document.querySelectorAll("[data-collapse-toggle]").forEach(function(a){var e=a.getAttribute("data-collapse-toggle"),n=document.getElementById(e);n?new fs(n,a):console.error('The target element with id "'.concat(e,'" does not exist. Please check the data-collapse-toggle attribute.'))})}typeof window<"u"&&(window.Collapse=fs,window.initCollapses=ui);var ce=globalThis&&globalThis.__assign||function(){return ce=Object.assign||function(a){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var p in e)Object.prototype.hasOwnProperty.call(e,p)&&(a[p]=e[p])}return a},ce.apply(this,arguments)},We={defaultPosition:0,indicators:{items:[],activeClasses:"bg-white dark:bg-gray-800",inactiveClasses:"bg-white/50 dark:bg-gray-800/50 hover:bg-white dark:hover:bg-gray-800"},interval:3e3,onNext:function(){},onPrev:function(){},onChange:function(){}},gs=function(){function a(e,n){e===void 0&&(e=[]),n===void 0&&(n=We),this._items=e,this._options=ce(ce(ce({},We),n),{indicators:ce(ce({},We.indicators),n.indicators)}),this._activeItem=this.getItem(this._options.defaultPosition),this._indicators=this._options.indicators.items,this._intervalDuration=this._options.interval,this._intervalInstance=null,this._init()}return a.prototype._init=function(){var e=this;this._items.map(function(n){n.el.classList.add("absolute","inset-0","transition-transform","transform")}),this._getActiveItem()?this.slideTo(this._getActiveItem().position):this.slideTo(0),this._indicators.map(function(n,r){n.el.addEventListener("click",function(){e.slideTo(r)})})},a.prototype.getItem=function(e){return this._items[e]},a.prototype.slideTo=function(e){var n=this._items[e],r={left:n.position===0?this._items[this._items.length-1]:this._items[n.position-1],middle:n,right:n.position===this._items.length-1?this._items[0]:this._items[n.position+1]};this._rotate(r),this._setActiveItem(n),this._intervalInstance&&(this.pause(),this.cycle()),this._options.onChange(this)},a.prototype.next=function(){var e=this._getActiveItem(),n=null;e.position===this._items.length-1?n=this._items[0]:n=this._items[e.position+1],this.slideTo(n.position),this._options.onNext(this)},a.prototype.prev=function(){var e=this._getActiveItem(),n=null;e.position===0?n=this._items[this._items.length-1]:n=this._items[e.position-1],this.slideTo(n.position),this._options.onPrev(this)},a.prototype._rotate=function(e){this._items.map(function(n){n.el.classList.add("hidden")}),e.left.el.classList.remove("-translate-x-full","translate-x-full","translate-x-0","hidden","z-20"),e.left.el.classList.add("-translate-x-full","z-10"),e.middle.el.classList.remove("-translate-x-full","translate-x-full","translate-x-0","hidden","z-10"),e.middle.el.classList.add("translate-x-0","z-20"),e.right.el.classList.remove("-translate-x-full","translate-x-full","translate-x-0","hidden","z-20"),e.right.el.classList.add("translate-x-full","z-10")},a.prototype.cycle=function(){var e=this;typeof window<"u"&&(this._intervalInstance=window.setInterval(function(){e.next()},this._intervalDuration))},a.prototype.pause=function(){clearInterval(this._intervalInstance)},a.prototype._getActiveItem=function(){return this._activeItem},a.prototype._setActiveItem=function(e){var n,r,p=this;this._activeItem=e;var g=e.position;this._indicators.length&&(this._indicators.map(function(O){var U,V;O.el.setAttribute("aria-current","false"),(U=O.el.classList).remove.apply(U,p._options.indicators.activeClasses.split(" ")),(V=O.el.classList).add.apply(V,p._options.indicators.inactiveClasses.split(" "))}),(n=this._indicators[g].el.classList).add.apply(n,this._options.indicators.activeClasses.split(" ")),(r=this._indicators[g].el.classList).remove.apply(r,this._options.indicators.inactiveClasses.split(" ")),this._indicators[g].el.setAttribute("aria-current","true"))},a}();function pi(){document.querySelectorAll("[data-carousel]").forEach(function(a){var e=a.getAttribute("data-carousel-interval"),n=a.getAttribute("data-carousel")==="slide",r=[],p=0;a.querySelectorAll("[data-carousel-item]").length&&Array.from(a.querySelectorAll("[data-carousel-item]")).map(function(Y,G){r.push({position:G,el:Y}),Y.getAttribute("data-carousel-item")==="active"&&(p=G)});var g=[];a.querySelectorAll("[data-carousel-slide-to]").length&&Array.from(a.querySelectorAll("[data-carousel-slide-to]")).map(function(Y){g.push({position:parseInt(Y.getAttribute("data-carousel-slide-to")),el:Y})});var O=new gs(r,{defaultPosition:p,indicators:{items:g},interval:e||We.interval});n&&O.cycle();var U=a.querySelector("[data-carousel-next]"),V=a.querySelector("[data-carousel-prev]");U&&U.addEventListener("click",function(){O.next()}),V&&V.addEventListener("click",function(){O.prev()})})}typeof window<"u"&&(window.Carousel=gs,window.initCarousels=pi);var Ve=globalThis&&globalThis.__assign||function(){return Ve=Object.assign||function(a){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var p in e)Object.prototype.hasOwnProperty.call(e,p)&&(a[p]=e[p])}return a},Ve.apply(this,arguments)},Wi={transition:"transition-opacity",duration:300,timing:"ease-out",onHide:function(){}},ms=function(){function a(e,n,r){e===void 0&&(e=null),n===void 0&&(n=null),r===void 0&&(r=Wi),this._targetEl=e,this._triggerEl=n,this._options=Ve(Ve({},Wi),r),this._init()}return a.prototype._init=function(){var e=this;this._triggerEl&&this._triggerEl.addEventListener("click",function(){e.hide()})},a.prototype.hide=function(){var e=this;this._targetEl.classList.add(this._options.transition,"duration-".concat(this._options.duration),this._options.timing,"opacity-0"),setTimeout(function(){e._targetEl.classList.add("hidden")},this._options.duration),this._options.onHide(this,this._targetEl)},a}();function fi(){document.querySelectorAll("[data-dismiss-target]").forEach(function(a){var e=a.getAttribute("data-dismiss-target"),n=document.querySelector(e);n?new ms(n,a):console.error('The dismiss element with id "'.concat(e,'" does not exist. Please check the data-dismiss-target attribute.'))})}typeof window<"u"&&(window.Dismiss=ms,window.initDismisses=fi);var Ht="top",Ut="bottom",Vt="right",Nt="left",gi="auto",Oe=[Ht,Ut,Vt,Nt],ye="start",Ae="end",il="clippingParents",vs="viewport",_e="popper",sl="reference",Fi=Oe.reduce(function(a,e){return a.concat([e+"-"+ye,e+"-"+Ae])},[]),ys=[].concat(Oe,[gi]).reduce(function(a,e){return a.concat([e,e+"-"+ye,e+"-"+Ae])},[]),ol="beforeRead",nl="read",rl="afterRead",al="beforeMain",ll="main",hl="afterMain",cl="beforeWrite",dl="write",ul="afterWrite",pl=[ol,nl,rl,al,ll,hl,cl,dl,ul];function Qt(a){return a?(a.nodeName||"").toLowerCase():null}function Wt(a){if(a==null)return window;if(a.toString()!=="[object Window]"){var e=a.ownerDocument;return e&&e.defaultView||window}return a}function fe(a){var e=Wt(a).Element;return a instanceof e||a instanceof Element}function Yt(a){var e=Wt(a).HTMLElement;return a instanceof e||a instanceof HTMLElement}function mi(a){if(typeof ShadowRoot>"u")return!1;var e=Wt(a).ShadowRoot;return a instanceof e||a instanceof ShadowRoot}function fl(a){var e=a.state;Object.keys(e.elements).forEach(function(n){var r=e.styles[n]||{},p=e.attributes[n]||{},g=e.elements[n];!Yt(g)||!Qt(g)||(Object.assign(g.style,r),Object.keys(p).forEach(function(O){var U=p[O];U===!1?g.removeAttribute(O):g.setAttribute(O,U===!0?"":U)}))})}function gl(a){var e=a.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow),function(){Object.keys(e.elements).forEach(function(r){var p=e.elements[r],g=e.attributes[r]||{},O=Object.keys(e.styles.hasOwnProperty(r)?e.styles[r]:n[r]),U=O.reduce(function(V,Y){return V[Y]="",V},{});!Yt(p)||!Qt(p)||(Object.assign(p.style,U),Object.keys(g).forEach(function(V){p.removeAttribute(V)}))})}}const ml={name:"applyStyles",enabled:!0,phase:"write",fn:fl,effect:gl,requires:["computeStyles"]};function Jt(a){return a.split("-")[0]}var ue=Math.max,qe=Math.min,xe=Math.round;function si(){var a=navigator.userAgentData;return a!=null&&a.brands&&Array.isArray(a.brands)?a.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function xs(){return!/^((?!chrome|android).)*safari/i.test(si())}function be(a,e,n){e===void 0&&(e=!1),n===void 0&&(n=!1);var r=a.getBoundingClientRect(),p=1,g=1;e&&Yt(a)&&(p=a.offsetWidth>0&&xe(r.width)/a.offsetWidth||1,g=a.offsetHeight>0&&xe(r.height)/a.offsetHeight||1);var O=fe(a)?Wt(a):window,U=O.visualViewport,V=!xs()&&n,Y=(r.left+(V&&U?U.offsetLeft:0))/p,G=(r.top+(V&&U?U.offsetTop:0))/g,D=r.width/p,$=r.height/g;return{width:D,height:$,top:G,right:Y+D,bottom:G+$,left:Y,x:Y,y:G}}function vi(a){var e=be(a),n=a.offsetWidth,r=a.offsetHeight;return Math.abs(e.width-n)<=1&&(n=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:a.offsetLeft,y:a.offsetTop,width:n,height:r}}function bs(a,e){var n=e.getRootNode&&e.getRootNode();if(a.contains(e))return!0;if(n&&mi(n)){var r=e;do{if(r&&a.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function ee(a){return Wt(a).getComputedStyle(a)}function vl(a){return["table","td","th"].indexOf(Qt(a))>=0}function he(a){return((fe(a)?a.ownerDocument:a.document)||window.document).documentElement}function ei(a){return Qt(a)==="html"?a:a.assignedSlot||a.parentNode||(mi(a)?a.host:null)||he(a)}function Gi(a){return!Yt(a)||ee(a).position==="fixed"?null:a.offsetParent}function yl(a){var e=/firefox/i.test(si()),n=/Trident/i.test(si());if(n&&Yt(a)){var r=ee(a);if(r.position==="fixed")return null}var p=ei(a);for(mi(p)&&(p=p.host);Yt(p)&&["html","body"].indexOf(Qt(p))<0;){var g=ee(p);if(g.transform!=="none"||g.perspective!=="none"||g.contain==="paint"||["transform","perspective"].indexOf(g.willChange)!==-1||e&&g.willChange==="filter"||e&&g.filter&&g.filter!=="none")return p;p=p.parentNode}return null}function Le(a){for(var e=Wt(a),n=Gi(a);n&&vl(n)&&ee(n).position==="static";)n=Gi(n);return n&&(Qt(n)==="html"||Qt(n)==="body"&&ee(n).position==="static")?e:n||yl(a)||e}function yi(a){return["top","bottom"].indexOf(a)>=0?"x":"y"}function Ce(a,e,n){return ue(a,qe(e,n))}function xl(a,e,n){var r=Ce(a,e,n);return r>n?n:r}function ws(){return{top:0,right:0,bottom:0,left:0}}function ks(a){return Object.assign({},ws(),a)}function Ss(a,e){return e.reduce(function(n,r){return n[r]=a,n},{})}var bl=function(e,n){return e=typeof e=="function"?e(Object.assign({},n.rects,{placement:n.placement})):e,ks(typeof e!="number"?e:Ss(e,Oe))};function wl(a){var e,n=a.state,r=a.name,p=a.options,g=n.elements.arrow,O=n.modifiersData.popperOffsets,U=Jt(n.placement),V=yi(U),Y=[Nt,Vt].indexOf(U)>=0,G=Y?"height":"width";if(!(!g||!O)){var D=bl(p.padding,n),$=vi(g),R=V==="y"?Ht:Nt,_=V==="y"?Ut:Vt,M=n.rects.reference[G]+n.rects.reference[V]-O[V]-n.rects.popper[G],L=O[V]-n.rects.reference[V],z=Le(g),m=z?V==="y"?z.clientHeight||0:z.clientWidth||0:0,C=M/2-L/2,S=D[R],y=m-$[G]-D[_],E=m/2-$[G]/2+C,T=Ce(S,E,y),A=V;n.modifiersData[r]=(e={},e[A]=T,e.centerOffset=T-E,e)}}function kl(a){var e=a.state,n=a.options,r=n.element,p=r===void 0?"[data-popper-arrow]":r;p!=null&&(typeof p=="string"&&(p=e.elements.popper.querySelector(p),!p)||bs(e.elements.popper,p)&&(e.elements.arrow=p))}const Sl={name:"arrow",enabled:!0,phase:"main",fn:wl,effect:kl,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function we(a){return a.split("-")[1]}var _l={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Cl(a,e){var n=a.x,r=a.y,p=e.devicePixelRatio||1;return{x:xe(n*p)/p||0,y:xe(r*p)/p||0}}function Xi(a){var e,n=a.popper,r=a.popperRect,p=a.placement,g=a.variation,O=a.offsets,U=a.position,V=a.gpuAcceleration,Y=a.adaptive,G=a.roundOffsets,D=a.isFixed,$=O.x,R=$===void 0?0:$,_=O.y,M=_===void 0?0:_,L=typeof G=="function"?G({x:R,y:M}):{x:R,y:M};R=L.x,M=L.y;var z=O.hasOwnProperty("x"),m=O.hasOwnProperty("y"),C=Nt,S=Ht,y=window;if(Y){var E=Le(n),T="clientHeight",A="clientWidth";if(E===Wt(n)&&(E=he(n),ee(E).position!=="static"&&U==="absolute"&&(T="scrollHeight",A="scrollWidth")),E=E,p===Ht||(p===Nt||p===Vt)&&g===Ae){S=Ut;var l=D&&E===y&&y.visualViewport?y.visualViewport.height:E[T];M-=l-r.height,M*=V?1:-1}if(p===Nt||(p===Ht||p===Ut)&&g===Ae){C=Vt;var d=D&&E===y&&y.visualViewport?y.visualViewport.width:E[A];R-=d-r.width,R*=V?1:-1}}var x=Object.assign({position:U},Y&&_l),f=G===!0?Cl({x:R,y:M},Wt(n)):{x:R,y:M};if(R=f.x,M=f.y,V){var v;return Object.assign({},x,(v={},v[S]=m?"0":"",v[C]=z?"0":"",v.transform=(y.devicePixelRatio||1)<=1?"translate("+R+"px, "+M+"px)":"translate3d("+R+"px, "+M+"px, 0)",v))}return Object.assign({},x,(e={},e[S]=m?M+"px":"",e[C]=z?R+"px":"",e.transform="",e))}function Tl(a){var e=a.state,n=a.options,r=n.gpuAcceleration,p=r===void 0?!0:r,g=n.adaptive,O=g===void 0?!0:g,U=n.roundOffsets,V=U===void 0?!0:U,Y={placement:Jt(e.placement),variation:we(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:p,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Xi(Object.assign({},Y,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:O,roundOffsets:V})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Xi(Object.assign({},Y,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:V})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const Ml={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Tl,data:{}};var Ie={passive:!0};function Al(a){var e=a.state,n=a.instance,r=a.options,p=r.scroll,g=p===void 0?!0:p,O=r.resize,U=O===void 0?!0:O,V=Wt(e.elements.popper),Y=[].concat(e.scrollParents.reference,e.scrollParents.popper);return g&&Y.forEach(function(G){G.addEventListener("scroll",n.update,Ie)}),U&&V.addEventListener("resize",n.update,Ie),function(){g&&Y.forEach(function(G){G.removeEventListener("scroll",n.update,Ie)}),U&&V.removeEventListener("resize",n.update,Ie)}}const El={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Al,data:{}};var Ol={left:"right",right:"left",bottom:"top",top:"bottom"};function Fe(a){return a.replace(/left|right|bottom|top/g,function(e){return Ol[e]})}var Ll={start:"end",end:"start"};function Yi(a){return a.replace(/start|end/g,function(e){return Ll[e]})}function xi(a){var e=Wt(a),n=e.pageXOffset,r=e.pageYOffset;return{scrollLeft:n,scrollTop:r}}function bi(a){return be(he(a)).left+xi(a).scrollLeft}function Pl(a,e){var n=Wt(a),r=he(a),p=n.visualViewport,g=r.clientWidth,O=r.clientHeight,U=0,V=0;if(p){g=p.width,O=p.height;var Y=xs();(Y||!Y&&e==="fixed")&&(U=p.offsetLeft,V=p.offsetTop)}return{width:g,height:O,x:U+bi(a),y:V}}function Dl(a){var e,n=he(a),r=xi(a),p=(e=a.ownerDocument)==null?void 0:e.body,g=ue(n.scrollWidth,n.clientWidth,p?p.scrollWidth:0,p?p.clientWidth:0),O=ue(n.scrollHeight,n.clientHeight,p?p.scrollHeight:0,p?p.clientHeight:0),U=-r.scrollLeft+bi(a),V=-r.scrollTop;return ee(p||n).direction==="rtl"&&(U+=ue(n.clientWidth,p?p.clientWidth:0)-g),{width:g,height:O,x:U,y:V}}function wi(a){var e=ee(a),n=e.overflow,r=e.overflowX,p=e.overflowY;return/auto|scroll|overlay|hidden/.test(n+p+r)}function _s(a){return["html","body","#document"].indexOf(Qt(a))>=0?a.ownerDocument.body:Yt(a)&&wi(a)?a:_s(ei(a))}function Te(a,e){var n;e===void 0&&(e=[]);var r=_s(a),p=r===((n=a.ownerDocument)==null?void 0:n.body),g=Wt(r),O=p?[g].concat(g.visualViewport||[],wi(r)?r:[]):r,U=e.concat(O);return p?U:U.concat(Te(ei(O)))}function oi(a){return Object.assign({},a,{left:a.x,top:a.y,right:a.x+a.width,bottom:a.y+a.height})}function Il(a,e){var n=be(a,!1,e==="fixed");return n.top=n.top+a.clientTop,n.left=n.left+a.clientLeft,n.bottom=n.top+a.clientHeight,n.right=n.left+a.clientWidth,n.width=a.clientWidth,n.height=a.clientHeight,n.x=n.left,n.y=n.top,n}function Ui(a,e,n){return e===vs?oi(Pl(a,n)):fe(e)?Il(e,n):oi(Dl(he(a)))}function jl(a){var e=Te(ei(a)),n=["absolute","fixed"].indexOf(ee(a).position)>=0,r=n&&Yt(a)?Le(a):a;return fe(r)?e.filter(function(p){return fe(p)&&bs(p,r)&&Qt(p)!=="body"}):[]}function Bl(a,e,n,r){var p=e==="clippingParents"?jl(a):[].concat(e),g=[].concat(p,[n]),O=g[0],U=g.reduce(function(V,Y){var G=Ui(a,Y,r);return V.top=ue(G.top,V.top),V.right=qe(G.right,V.right),V.bottom=qe(G.bottom,V.bottom),V.left=ue(G.left,V.left),V},Ui(a,O,r));return U.width=U.right-U.left,U.height=U.bottom-U.top,U.x=U.left,U.y=U.top,U}function Cs(a){var e=a.reference,n=a.element,r=a.placement,p=r?Jt(r):null,g=r?we(r):null,O=e.x+e.width/2-n.width/2,U=e.y+e.height/2-n.height/2,V;switch(p){case Ht:V={x:O,y:e.y-n.height};break;case Ut:V={x:O,y:e.y+e.height};break;case Vt:V={x:e.x+e.width,y:U};break;case Nt:V={x:e.x-n.width,y:U};break;default:V={x:e.x,y:e.y}}var Y=p?yi(p):null;if(Y!=null){var G=Y==="y"?"height":"width";switch(g){case ye:V[Y]=V[Y]-(e[G]/2-n[G]/2);break;case Ae:V[Y]=V[Y]+(e[G]/2-n[G]/2);break}}return V}function Ee(a,e){e===void 0&&(e={});var n=e,r=n.placement,p=r===void 0?a.placement:r,g=n.strategy,O=g===void 0?a.strategy:g,U=n.boundary,V=U===void 0?il:U,Y=n.rootBoundary,G=Y===void 0?vs:Y,D=n.elementContext,$=D===void 0?_e:D,R=n.altBoundary,_=R===void 0?!1:R,M=n.padding,L=M===void 0?0:M,z=ks(typeof L!="number"?L:Ss(L,Oe)),m=$===_e?sl:_e,C=a.rects.popper,S=a.elements[_?m:$],y=Bl(fe(S)?S:S.contextElement||he(a.elements.popper),V,G,O),E=be(a.elements.reference),T=Cs({reference:E,element:C,strategy:"absolute",placement:p}),A=oi(Object.assign({},C,T)),l=$===_e?A:E,d={top:y.top-l.top+z.top,bottom:l.bottom-y.bottom+z.bottom,left:y.left-l.left+z.left,right:l.right-y.right+z.right},x=a.modifiersData.offset;if($===_e&&x){var f=x[p];Object.keys(d).forEach(function(v){var i=[Vt,Ut].indexOf(v)>=0?1:-1,t=[Ht,Ut].indexOf(v)>=0?"y":"x";d[v]+=f[t]*i})}return d}function Rl(a,e){e===void 0&&(e={});var n=e,r=n.placement,p=n.boundary,g=n.rootBoundary,O=n.padding,U=n.flipVariations,V=n.allowedAutoPlacements,Y=V===void 0?ys:V,G=we(r),D=G?U?Fi:Fi.filter(function(_){return we(_)===G}):Oe,$=D.filter(function(_){return Y.indexOf(_)>=0});$.length===0&&($=D);var R=$.reduce(function(_,M){return _[M]=Ee(a,{placement:M,boundary:p,rootBoundary:g,padding:O})[Jt(M)],_},{});return Object.keys(R).sort(function(_,M){return R[_]-R[M]})}function zl(a){if(Jt(a)===gi)return[];var e=Fe(a);return[Yi(a),e,Yi(e)]}function Hl(a){var e=a.state,n=a.options,r=a.name;if(!e.modifiersData[r]._skip){for(var p=n.mainAxis,g=p===void 0?!0:p,O=n.altAxis,U=O===void 0?!0:O,V=n.fallbackPlacements,Y=n.padding,G=n.boundary,D=n.rootBoundary,$=n.altBoundary,R=n.flipVariations,_=R===void 0?!0:R,M=n.allowedAutoPlacements,L=e.options.placement,z=Jt(L),m=z===L,C=V||(m||!_?[Fe(L)]:zl(L)),S=[L].concat(C).reduce(function(at,W){return at.concat(Jt(W)===gi?Rl(e,{placement:W,boundary:G,rootBoundary:D,padding:Y,flipVariations:_,allowedAutoPlacements:M}):W)},[]),y=e.rects.reference,E=e.rects.popper,T=new Map,A=!0,l=S[0],d=0;d<S.length;d++){var x=S[d],f=Jt(x),v=we(x)===ye,i=[Ht,Ut].indexOf(f)>=0,t=i?"width":"height",s=Ee(e,{placement:x,boundary:G,rootBoundary:D,altBoundary:$,padding:Y}),u=i?v?Vt:Nt:v?Ut:Ht;y[t]>E[t]&&(u=Fe(u));var b=Fe(u),B=[];if(g&&B.push(s[f]<=0),U&&B.push(s[u]<=0,s[b]<=0),B.every(function(at){return at})){l=x,A=!1;break}T.set(x,B)}if(A)for(var c=_?3:1,P=function(W){var o=S.find(function(j){var F=T.get(j);if(F)return F.slice(0,W).every(function(N){return N})});if(o)return l=o,"break"},Z=c;Z>0;Z--){var tt=P(Z);if(tt==="break")break}e.placement!==l&&(e.modifiersData[r]._skip=!0,e.placement=l,e.reset=!0)}}const Nl={name:"flip",enabled:!0,phase:"main",fn:Hl,requiresIfExists:["offset"],data:{_skip:!1}};function Vi(a,e,n){return n===void 0&&(n={x:0,y:0}),{top:a.top-e.height-n.y,right:a.right-e.width+n.x,bottom:a.bottom-e.height+n.y,left:a.left-e.width-n.x}}function qi(a){return[Ht,Vt,Ut,Nt].some(function(e){return a[e]>=0})}function $l(a){var e=a.state,n=a.name,r=e.rects.reference,p=e.rects.popper,g=e.modifiersData.preventOverflow,O=Ee(e,{elementContext:"reference"}),U=Ee(e,{altBoundary:!0}),V=Vi(O,r),Y=Vi(U,p,g),G=qi(V),D=qi(Y);e.modifiersData[n]={referenceClippingOffsets:V,popperEscapeOffsets:Y,isReferenceHidden:G,hasPopperEscaped:D},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":G,"data-popper-escaped":D})}const Wl={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:$l};function Fl(a,e,n){var r=Jt(a),p=[Nt,Ht].indexOf(r)>=0?-1:1,g=typeof n=="function"?n(Object.assign({},e,{placement:a})):n,O=g[0],U=g[1];return O=O||0,U=(U||0)*p,[Nt,Vt].indexOf(r)>=0?{x:U,y:O}:{x:O,y:U}}function Gl(a){var e=a.state,n=a.options,r=a.name,p=n.offset,g=p===void 0?[0,0]:p,O=ys.reduce(function(G,D){return G[D]=Fl(D,e.rects,g),G},{}),U=O[e.placement],V=U.x,Y=U.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=V,e.modifiersData.popperOffsets.y+=Y),e.modifiersData[r]=O}const Xl={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Gl};function Yl(a){var e=a.state,n=a.name;e.modifiersData[n]=Cs({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}const Ul={name:"popperOffsets",enabled:!0,phase:"read",fn:Yl,data:{}};function Vl(a){return a==="x"?"y":"x"}function ql(a){var e=a.state,n=a.options,r=a.name,p=n.mainAxis,g=p===void 0?!0:p,O=n.altAxis,U=O===void 0?!1:O,V=n.boundary,Y=n.rootBoundary,G=n.altBoundary,D=n.padding,$=n.tether,R=$===void 0?!0:$,_=n.tetherOffset,M=_===void 0?0:_,L=Ee(e,{boundary:V,rootBoundary:Y,padding:D,altBoundary:G}),z=Jt(e.placement),m=we(e.placement),C=!m,S=yi(z),y=Vl(S),E=e.modifiersData.popperOffsets,T=e.rects.reference,A=e.rects.popper,l=typeof M=="function"?M(Object.assign({},e.rects,{placement:e.placement})):M,d=typeof l=="number"?{mainAxis:l,altAxis:l}:Object.assign({mainAxis:0,altAxis:0},l),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,f={x:0,y:0};if(E){if(g){var v,i=S==="y"?Ht:Nt,t=S==="y"?Ut:Vt,s=S==="y"?"height":"width",u=E[S],b=u+L[i],B=u-L[t],c=R?-A[s]/2:0,P=m===ye?T[s]:A[s],Z=m===ye?-A[s]:-T[s],tt=e.elements.arrow,at=R&&tt?vi(tt):{width:0,height:0},W=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:ws(),o=W[i],j=W[t],F=Ce(0,T[s],at[s]),N=C?T[s]/2-c-F-o-d.mainAxis:P-F-o-d.mainAxis,Q=C?-T[s]/2+c+F+j+d.mainAxis:Z+F+j+d.mainAxis,h=e.elements.arrow&&Le(e.elements.arrow),k=h?S==="y"?h.clientTop||0:h.clientLeft||0:0,w=(v=x==null?void 0:x[S])!=null?v:0,X=u+N-w-k,K=u+Q-w,q=Ce(R?qe(b,X):b,u,R?ue(B,K):B);E[S]=q,f[S]=q-u}if(U){var st,ot=S==="x"?Ht:Nt,lt=S==="x"?Ut:Vt,ht=E[y],ut=y==="y"?"height":"width",H=ht+L[ot],I=ht-L[lt],et=[Ht,Nt].indexOf(z)!==-1,J=(st=x==null?void 0:x[y])!=null?st:0,it=et?H:ht-T[ut]-A[ut]-J+d.altAxis,dt=et?ht+T[ut]+A[ut]-J-d.altAxis:I,ct=R&&et?xl(it,ht,dt):Ce(R?it:H,ht,R?dt:I);E[y]=ct,f[y]=ct-ht}e.modifiersData[r]=f}}const Kl={name:"preventOverflow",enabled:!0,phase:"main",fn:ql,requiresIfExists:["offset"]};function Zl(a){return{scrollLeft:a.scrollLeft,scrollTop:a.scrollTop}}function Jl(a){return a===Wt(a)||!Yt(a)?xi(a):Zl(a)}function Ql(a){var e=a.getBoundingClientRect(),n=xe(e.width)/a.offsetWidth||1,r=xe(e.height)/a.offsetHeight||1;return n!==1||r!==1}function th(a,e,n){n===void 0&&(n=!1);var r=Yt(e),p=Yt(e)&&Ql(e),g=he(e),O=be(a,p,n),U={scrollLeft:0,scrollTop:0},V={x:0,y:0};return(r||!r&&!n)&&((Qt(e)!=="body"||wi(g))&&(U=Jl(e)),Yt(e)?(V=be(e,!0),V.x+=e.clientLeft,V.y+=e.clientTop):g&&(V.x=bi(g))),{x:O.left+U.scrollLeft-V.x,y:O.top+U.scrollTop-V.y,width:O.width,height:O.height}}function eh(a){var e=new Map,n=new Set,r=[];a.forEach(function(g){e.set(g.name,g)});function p(g){n.add(g.name);var O=[].concat(g.requires||[],g.requiresIfExists||[]);O.forEach(function(U){if(!n.has(U)){var V=e.get(U);V&&p(V)}}),r.push(g)}return a.forEach(function(g){n.has(g.name)||p(g)}),r}function ih(a){var e=eh(a);return pl.reduce(function(n,r){return n.concat(e.filter(function(p){return p.phase===r}))},[])}function sh(a){var e;return function(){return e||(e=new Promise(function(n){Promise.resolve().then(function(){e=void 0,n(a())})})),e}}function oh(a){var e=a.reduce(function(n,r){var p=n[r.name];return n[r.name]=p?Object.assign({},p,r,{options:Object.assign({},p.options,r.options),data:Object.assign({},p.data,r.data)}):r,n},{});return Object.keys(e).map(function(n){return e[n]})}var Ki={placement:"bottom",modifiers:[],strategy:"absolute"};function Zi(){for(var a=arguments.length,e=new Array(a),n=0;n<a;n++)e[n]=arguments[n];return!e.some(function(r){return!(r&&typeof r.getBoundingClientRect=="function")})}function nh(a){a===void 0&&(a={});var e=a,n=e.defaultModifiers,r=n===void 0?[]:n,p=e.defaultOptions,g=p===void 0?Ki:p;return function(U,V,Y){Y===void 0&&(Y=g);var G={placement:"bottom",orderedModifiers:[],options:Object.assign({},Ki,g),modifiersData:{},elements:{reference:U,popper:V},attributes:{},styles:{}},D=[],$=!1,R={state:G,setOptions:function(z){var m=typeof z=="function"?z(G.options):z;M(),G.options=Object.assign({},g,G.options,m),G.scrollParents={reference:fe(U)?Te(U):U.contextElement?Te(U.contextElement):[],popper:Te(V)};var C=ih(oh([].concat(r,G.options.modifiers)));return G.orderedModifiers=C.filter(function(S){return S.enabled}),_(),R.update()},forceUpdate:function(){if(!$){var z=G.elements,m=z.reference,C=z.popper;if(Zi(m,C)){G.rects={reference:th(m,Le(C),G.options.strategy==="fixed"),popper:vi(C)},G.reset=!1,G.placement=G.options.placement,G.orderedModifiers.forEach(function(d){return G.modifiersData[d.name]=Object.assign({},d.data)});for(var S=0;S<G.orderedModifiers.length;S++){if(G.reset===!0){G.reset=!1,S=-1;continue}var y=G.orderedModifiers[S],E=y.fn,T=y.options,A=T===void 0?{}:T,l=y.name;typeof E=="function"&&(G=E({state:G,options:A,name:l,instance:R})||G)}}}},update:sh(function(){return new Promise(function(L){R.forceUpdate(),L(G)})}),destroy:function(){M(),$=!0}};if(!Zi(U,V))return R;R.setOptions(Y).then(function(L){!$&&Y.onFirstUpdate&&Y.onFirstUpdate(L)});function _(){G.orderedModifiers.forEach(function(L){var z=L.name,m=L.options,C=m===void 0?{}:m,S=L.effect;if(typeof S=="function"){var y=S({state:G,name:z,instance:R,options:C}),E=function(){};D.push(y||E)}})}function M(){D.forEach(function(L){return L()}),D=[]}return R}}var rh=[El,Ul,Ml,ml,Xl,Nl,Kl,Sl,Wl],ki=nh({defaultModifiers:rh}),se=globalThis&&globalThis.__assign||function(){return se=Object.assign||function(a){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var p in e)Object.prototype.hasOwnProperty.call(e,p)&&(a[p]=e[p])}return a},se.apply(this,arguments)},je=globalThis&&globalThis.__spreadArray||function(a,e,n){if(n||arguments.length===2)for(var r=0,p=e.length,g;r<p;r++)(g||!(r in e))&&(g||(g=Array.prototype.slice.call(e,0,r)),g[r]=e[r]);return a.concat(g||Array.prototype.slice.call(e))},oe={placement:"bottom",triggerType:"click",offsetSkidding:0,offsetDistance:10,delay:300,ignoreClickOutsideClass:!1,onShow:function(){},onHide:function(){},onToggle:function(){}},Si=function(){function a(e,n,r){e===void 0&&(e=null),n===void 0&&(n=null),r===void 0&&(r=oe),this._targetEl=e,this._triggerEl=n,this._options=se(se({},oe),r),this._popperInstance=this._createPopperInstance(),this._visible=!1,this._init()}return a.prototype._init=function(){this._triggerEl&&this._setupEventListeners()},a.prototype._setupEventListeners=function(){var e=this,n=this._getTriggerEvents();this._options.triggerType==="click"&&n.showEvents.forEach(function(r){e._triggerEl.addEventListener(r,function(){e.toggle()})}),this._options.triggerType==="hover"&&(n.showEvents.forEach(function(r){e._triggerEl.addEventListener(r,function(){r==="click"?e.toggle():setTimeout(function(){e.show()},e._options.delay)}),e._targetEl.addEventListener(r,function(){e.show()})}),n.hideEvents.forEach(function(r){e._triggerEl.addEventListener(r,function(){setTimeout(function(){e._targetEl.matches(":hover")||e.hide()},e._options.delay)}),e._targetEl.addEventListener(r,function(){setTimeout(function(){e._triggerEl.matches(":hover")||e.hide()},e._options.delay)})}))},a.prototype._createPopperInstance=function(){return ki(this._triggerEl,this._targetEl,{placement:this._options.placement,modifiers:[{name:"offset",options:{offset:[this._options.offsetSkidding,this._options.offsetDistance]}}]})},a.prototype._setupClickOutsideListener=function(){var e=this;this._clickOutsideEventListener=function(n){e._handleClickOutside(n,e._targetEl)},document.body.addEventListener("click",this._clickOutsideEventListener,!0)},a.prototype._removeClickOutsideListener=function(){document.body.removeEventListener("click",this._clickOutsideEventListener,!0)},a.prototype._handleClickOutside=function(e,n){var r=e.target,p=this._options.ignoreClickOutsideClass,g=!1;if(p){var O=document.querySelectorAll(".".concat(p));O.forEach(function(U){if(U.contains(r)){g=!0;return}})}r!==n&&!n.contains(r)&&!this._triggerEl.contains(r)&&!g&&this.isVisible()&&this.hide()},a.prototype._getTriggerEvents=function(){switch(this._options.triggerType){case"hover":return{showEvents:["mouseenter","click"],hideEvents:["mouseleave"]};case"click":return{showEvents:["click"],hideEvents:[]};case"none":return{showEvents:[],hideEvents:[]};default:return{showEvents:["click"],hideEvents:[]}}},a.prototype.toggle=function(){this.isVisible()?this.hide():this.show(),this._options.onToggle(this)},a.prototype.isVisible=function(){return this._visible},a.prototype.show=function(){this._targetEl.classList.remove("hidden"),this._targetEl.classList.add("block"),this._popperInstance.setOptions(function(e){return se(se({},e),{modifiers:je(je([],e.modifiers,!0),[{name:"eventListeners",enabled:!0}],!1)})}),this._setupClickOutsideListener(),this._popperInstance.update(),this._visible=!0,this._options.onShow(this)},a.prototype.hide=function(){this._targetEl.classList.remove("block"),this._targetEl.classList.add("hidden"),this._popperInstance.setOptions(function(e){return se(se({},e),{modifiers:je(je([],e.modifiers,!0),[{name:"eventListeners",enabled:!1}],!1)})}),this._visible=!1,this._removeClickOutsideListener(),this._options.onHide(this)},a}();function _i(){document.querySelectorAll("[data-dropdown-toggle]").forEach(function(a){var e=a.getAttribute("data-dropdown-toggle"),n=document.getElementById(e);if(n){var r=a.getAttribute("data-dropdown-placement"),p=a.getAttribute("data-dropdown-offset-skidding"),g=a.getAttribute("data-dropdown-offset-distance"),O=a.getAttribute("data-dropdown-trigger"),U=a.getAttribute("data-dropdown-delay"),V=a.getAttribute("data-dropdown-ignore-click-outside-class");new Si(n,a,{placement:r||oe.placement,triggerType:O||oe.triggerType,offsetSkidding:p?parseInt(p):oe.offsetSkidding,offsetDistance:g?parseInt(g):oe.offsetDistance,delay:U?parseInt(U):oe.delay,ignoreClickOutsideClass:V||oe.ignoreClickOutsideClass})}else console.error('The dropdown element with id "'.concat(e,'" does not exist. Please check the data-dropdown-toggle attribute.'))})}typeof window<"u"&&(window.Dropdown=Si,window.initDropdowns=_i);var Ke=globalThis&&globalThis.__assign||function(){return Ke=Object.assign||function(a){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var p in e)Object.prototype.hasOwnProperty.call(e,p)&&(a[p]=e[p])}return a},Ke.apply(this,arguments)},ve={placement:"center",backdropClasses:"bg-gray-900 bg-opacity-50 dark:bg-opacity-80 fixed inset-0 z-40",backdrop:"dynamic",closable:!0,onHide:function(){},onShow:function(){},onToggle:function(){}},ni=function(){function a(e,n){e===void 0&&(e=null),n===void 0&&(n=ve),this._targetEl=e,this._options=Ke(Ke({},ve),n),this._isHidden=!0,this._backdropEl=null,this._init()}return a.prototype._init=function(){var e=this;this._targetEl&&this._getPlacementClasses().map(function(n){e._targetEl.classList.add(n)})},a.prototype._createBackdrop=function(){var e;if(this._isHidden){var n=document.createElement("div");n.setAttribute("modal-backdrop",""),(e=n.classList).add.apply(e,this._options.backdropClasses.split(" ")),document.querySelector("body").append(n),this._backdropEl=n}},a.prototype._destroyBackdropEl=function(){this._isHidden||document.querySelector("[modal-backdrop]").remove()},a.prototype._setupModalCloseEventListeners=function(){var e=this;this._options.backdrop==="dynamic"&&(this._clickOutsideEventListener=function(n){e._handleOutsideClick(n.target)},this._targetEl.addEventListener("click",this._clickOutsideEventListener,!0)),this._keydownEventListener=function(n){n.key==="Escape"&&e.hide()},document.body.addEventListener("keydown",this._keydownEventListener,!0)},a.prototype._removeModalCloseEventListeners=function(){this._options.backdrop==="dynamic"&&this._targetEl.removeEventListener("click",this._clickOutsideEventListener,!0),document.body.removeEventListener("keydown",this._keydownEventListener,!0)},a.prototype._handleOutsideClick=function(e){(e===this._targetEl||e===this._backdropEl&&this.isVisible())&&this.hide()},a.prototype._getPlacementClasses=function(){switch(this._options.placement){case"top-left":return["justify-start","items-start"];case"top-center":return["justify-center","items-start"];case"top-right":return["justify-end","items-start"];case"center-left":return["justify-start","items-center"];case"center":return["justify-center","items-center"];case"center-right":return["justify-end","items-center"];case"bottom-left":return["justify-start","items-end"];case"bottom-center":return["justify-center","items-end"];case"bottom-right":return["justify-end","items-end"];default:return["justify-center","items-center"]}},a.prototype.toggle=function(){this._isHidden?this.show():this.hide(),this._options.onToggle(this)},a.prototype.show=function(){this.isHidden&&(this._targetEl.classList.add("flex"),this._targetEl.classList.remove("hidden"),this._targetEl.setAttribute("aria-modal","true"),this._targetEl.setAttribute("role","dialog"),this._targetEl.removeAttribute("aria-hidden"),this._createBackdrop(),this._isHidden=!1,document.body.classList.add("overflow-hidden"),this._options.closable&&this._setupModalCloseEventListeners(),this._options.onShow(this))},a.prototype.hide=function(){this.isVisible&&(this._targetEl.classList.add("hidden"),this._targetEl.classList.remove("flex"),this._targetEl.setAttribute("aria-hidden","true"),this._targetEl.removeAttribute("aria-modal"),this._targetEl.removeAttribute("role"),this._destroyBackdropEl(),this._isHidden=!0,document.body.classList.remove("overflow-hidden"),this._options.closable&&this._removeModalCloseEventListeners(),this._options.onHide(this))},a.prototype.isVisible=function(){return!this._isHidden},a.prototype.isHidden=function(){return this._isHidden},a}(),Be=function(a,e){return e.some(function(n){return n.id===a})?e.find(function(n){return n.id===a}):null};function Ci(){var a=[];document.querySelectorAll("[data-modal-target]").forEach(function(e){var n=e.getAttribute("data-modal-target"),r=document.getElementById(n);if(r){var p=r.getAttribute("data-modal-placement"),g=r.getAttribute("data-modal-backdrop");Be(n,a)||a.push({id:n,object:new ni(r,{placement:p||ve.placement,backdrop:g||ve.backdrop})})}else console.error("Modal with id ".concat(n," does not exist. Are you sure that the data-modal-target attribute points to the correct modal id?."))}),document.querySelectorAll("[data-modal-toggle]").forEach(function(e){var n=e.getAttribute("data-modal-toggle"),r=document.getElementById(n);if(r){var p=r.getAttribute("data-modal-placement"),g=r.getAttribute("data-modal-backdrop"),O=Be(n,a);O||(O={id:n,object:new ni(r,{placement:p||ve.placement,backdrop:g||ve.backdrop})},a.push(O)),e.addEventListener("click",function(){O.object.toggle()})}else console.error("Modal with id ".concat(n," does not exist. Are you sure that the data-modal-toggle attribute points to the correct modal id?"))}),document.querySelectorAll("[data-modal-show]").forEach(function(e){var n=e.getAttribute("data-modal-show"),r=document.getElementById(n);if(r){var p=Be(n,a);p?e.addEventListener("click",function(){p.object.isHidden&&p.object.show()}):console.error("Modal with id ".concat(n," has not been initialized. Please initialize it using the data-modal-target attribute."))}else console.error("Modal with id ".concat(n," does not exist. Are you sure that the data-modal-show attribute points to the correct modal id?"))}),document.querySelectorAll("[data-modal-hide]").forEach(function(e){var n=e.getAttribute("data-modal-hide"),r=document.getElementById(n);if(r){var p=Be(n,a);p?e.addEventListener("click",function(){p.object.isVisible&&p.object.hide()}):console.error("Modal with id ".concat(n," has not been initialized. Please initialize it using the data-modal-target attribute."))}else console.error("Modal with id ".concat(n," does not exist. Are you sure that the data-modal-hide attribute points to the correct modal id?"))})}typeof window<"u"&&(window.Modal=ni,window.initModals=Ci);var Ze=globalThis&&globalThis.__assign||function(){return Ze=Object.assign||function(a){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var p in e)Object.prototype.hasOwnProperty.call(e,p)&&(a[p]=e[p])}return a},Ze.apply(this,arguments)},de={placement:"left",bodyScrolling:!1,backdrop:!0,edge:!1,edgeOffset:"bottom-[60px]",backdropClasses:"bg-gray-900 bg-opacity-50 dark:bg-opacity-80 fixed inset-0 z-30",onShow:function(){},onHide:function(){},onToggle:function(){}},Ts=function(){function a(e,n){e===void 0&&(e=null),n===void 0&&(n=de),this._targetEl=e,this._options=Ze(Ze({},de),n),this._visible=!1,this._init()}return a.prototype._init=function(){var e=this;this._targetEl&&(this._targetEl.setAttribute("aria-hidden","true"),this._targetEl.classList.add("transition-transform")),this._getPlacementClasses(this._options.placement).base.map(function(n){e._targetEl.classList.add(n)}),document.addEventListener("keydown",function(n){n.key==="Escape"&&e.isVisible()&&e.hide()})},a.prototype.hide=function(){var e=this;this._options.edge?(this._getPlacementClasses(this._options.placement+"-edge").active.map(function(n){e._targetEl.classList.remove(n)}),this._getPlacementClasses(this._options.placement+"-edge").inactive.map(function(n){e._targetEl.classList.add(n)})):(this._getPlacementClasses(this._options.placement).active.map(function(n){e._targetEl.classList.remove(n)}),this._getPlacementClasses(this._options.placement).inactive.map(function(n){e._targetEl.classList.add(n)})),this._targetEl.setAttribute("aria-hidden","true"),this._targetEl.removeAttribute("aria-modal"),this._targetEl.removeAttribute("role"),this._options.bodyScrolling||document.body.classList.remove("overflow-hidden"),this._options.backdrop&&this._destroyBackdropEl(),this._visible=!1,this._options.onHide(this)},a.prototype.show=function(){var e=this;this._options.edge?(this._getPlacementClasses(this._options.placement+"-edge").active.map(function(n){e._targetEl.classList.add(n)}),this._getPlacementClasses(this._options.placement+"-edge").inactive.map(function(n){e._targetEl.classList.remove(n)})):(this._getPlacementClasses(this._options.placement).active.map(function(n){e._targetEl.classList.add(n)}),this._getPlacementClasses(this._options.placement).inactive.map(function(n){e._targetEl.classList.remove(n)})),this._targetEl.setAttribute("aria-modal","true"),this._targetEl.setAttribute("role","dialog"),this._targetEl.removeAttribute("aria-hidden"),this._options.bodyScrolling||document.body.classList.add("overflow-hidden"),this._options.backdrop&&this._createBackdrop(),this._visible=!0,this._options.onShow(this)},a.prototype.toggle=function(){this.isVisible()?this.hide():this.show()},a.prototype._createBackdrop=function(){var e,n=this;if(!this._visible){var r=document.createElement("div");r.setAttribute("drawer-backdrop",""),(e=r.classList).add.apply(e,this._options.backdropClasses.split(" ")),document.querySelector("body").append(r),r.addEventListener("click",function(){n.hide()})}},a.prototype._destroyBackdropEl=function(){this._visible&&document.querySelector("[drawer-backdrop]").remove()},a.prototype._getPlacementClasses=function(e){switch(e){case"top":return{base:["top-0","left-0","right-0"],active:["transform-none"],inactive:["-translate-y-full"]};case"right":return{base:["right-0","top-0"],active:["transform-none"],inactive:["translate-x-full"]};case"bottom":return{base:["bottom-0","left-0","right-0"],active:["transform-none"],inactive:["translate-y-full"]};case"left":return{base:["left-0","top-0"],active:["transform-none"],inactive:["-translate-x-full"]};case"bottom-edge":return{base:["left-0","top-0"],active:["transform-none"],inactive:["translate-y-full",this._options.edgeOffset]};default:return{base:["left-0","top-0"],active:["transform-none"],inactive:["-translate-x-full"]}}},a.prototype.isHidden=function(){return!this._visible},a.prototype.isVisible=function(){return this._visible},a}(),Re=function(a,e){if(e.some(function(n){return n.id===a}))return e.find(function(n){return n.id===a})};function Ti(){var a=[];document.querySelectorAll("[data-drawer-target]").forEach(function(e){var n=e.getAttribute("data-drawer-target"),r=document.getElementById(n);if(r){var p=e.getAttribute("data-drawer-placement"),g=e.getAttribute("data-drawer-body-scrolling"),O=e.getAttribute("data-drawer-backdrop"),U=e.getAttribute("data-drawer-edge"),V=e.getAttribute("data-drawer-edge-offset");Re(n,a)||a.push({id:n,object:new Ts(r,{placement:p||de.placement,bodyScrolling:g?g==="true":de.bodyScrolling,backdrop:O?O==="true":de.backdrop,edge:U?U==="true":de.edge,edgeOffset:V||de.edgeOffset})})}else console.error("Drawer with id ".concat(n," not found. Are you sure that the data-drawer-target attribute points to the correct drawer id?"))}),document.querySelectorAll("[data-drawer-toggle]").forEach(function(e){var n=e.getAttribute("data-drawer-toggle"),r=document.getElementById(n);if(r){var p=Re(n,a);p?e.addEventListener("click",function(){p.object.toggle()}):console.error("Drawer with id ".concat(n," has not been initialized. Please initialize it using the data-drawer-target attribute."))}else console.error("Drawer with id ".concat(n," not found. Are you sure that the data-drawer-target attribute points to the correct drawer id?"))}),document.querySelectorAll("[data-drawer-dismiss], [data-drawer-hide]").forEach(function(e){var n=e.getAttribute("data-drawer-dismiss")?e.getAttribute("data-drawer-dismiss"):e.getAttribute("data-drawer-hide"),r=document.getElementById(n);if(r){var p=Re(n,a);p?e.addEventListener("click",function(){p.object.hide()}):console.error("Drawer with id ".concat(n," has not been initialized. Please initialize it using the data-drawer-target attribute."))}else console.error("Drawer with id ".concat(n," not found. Are you sure that the data-drawer-target attribute points to the correct drawer id"))}),document.querySelectorAll("[data-drawer-show]").forEach(function(e){var n=e.getAttribute("data-drawer-show"),r=document.getElementById(n);if(r){var p=Re(n,a);p?e.addEventListener("click",function(){p.object.show()}):console.error("Drawer with id ".concat(n," has not been initialized. Please initialize it using the data-drawer-target attribute."))}else console.error("Drawer with id ".concat(n," not found. Are you sure that the data-drawer-target attribute points to the correct drawer id?"))})}typeof window<"u"&&(window.Drawer=Ts,window.initDrawers=Ti);var Je=globalThis&&globalThis.__assign||function(){return Je=Object.assign||function(a){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var p in e)Object.prototype.hasOwnProperty.call(e,p)&&(a[p]=e[p])}return a},Je.apply(this,arguments)},Ji={defaultTabId:null,activeClasses:"text-blue-600 hover:text-blue-600 dark:text-blue-500 dark:hover:text-blue-500 border-blue-600 dark:border-blue-500",inactiveClasses:"dark:border-transparent text-gray-500 hover:text-gray-600 dark:text-gray-400 border-gray-100 hover:border-gray-300 dark:border-gray-700 dark:hover:text-gray-300",onShow:function(){}},Ms=function(){function a(e,n){e===void 0&&(e=[]),n===void 0&&(n=Ji),this._items=e,this._activeTab=n?this.getTab(n.defaultTabId):null,this._options=Je(Je({},Ji),n),this._init()}return a.prototype._init=function(){var e=this;this._items.length&&(this._activeTab||this._setActiveTab(this._items[0]),this.show(this._activeTab.id,!0),this._items.map(function(n){n.triggerEl.addEventListener("click",function(){e.show(n.id)})}))},a.prototype.getActiveTab=function(){return this._activeTab},a.prototype._setActiveTab=function(e){this._activeTab=e},a.prototype.getTab=function(e){return this._items.filter(function(n){return n.id===e})[0]},a.prototype.show=function(e,n){var r,p,g=this;n===void 0&&(n=!1);var O=this.getTab(e);O===this._activeTab&&!n||(this._items.map(function(U){var V,Y;U!==O&&((V=U.triggerEl.classList).remove.apply(V,g._options.activeClasses.split(" ")),(Y=U.triggerEl.classList).add.apply(Y,g._options.inactiveClasses.split(" ")),U.targetEl.classList.add("hidden"),U.triggerEl.setAttribute("aria-selected","false"))}),(r=O.triggerEl.classList).add.apply(r,this._options.activeClasses.split(" ")),(p=O.triggerEl.classList).remove.apply(p,this._options.inactiveClasses.split(" ")),O.triggerEl.setAttribute("aria-selected","true"),O.targetEl.classList.remove("hidden"),this._setActiveTab(O),this._options.onShow(this,O))},a}();function Mi(){document.querySelectorAll("[data-tabs-toggle]").forEach(function(a){var e=[],n=null;a.querySelectorAll('[role="tab"]').forEach(function(r){var p=r.getAttribute("aria-selected")==="true",g={id:r.getAttribute("data-tabs-target"),triggerEl:r,targetEl:document.querySelector(r.getAttribute("data-tabs-target"))};e.push(g),p&&(n=g.id)}),new Ms(e,{defaultTabId:n})})}typeof window<"u"&&(window.Tabs=Ms,window.initTabs=Mi);var ne=globalThis&&globalThis.__assign||function(){return ne=Object.assign||function(a){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var p in e)Object.prototype.hasOwnProperty.call(e,p)&&(a[p]=e[p])}return a},ne.apply(this,arguments)},ze=globalThis&&globalThis.__spreadArray||function(a,e,n){if(n||arguments.length===2)for(var r=0,p=e.length,g;r<p;r++)(g||!(r in e))&&(g||(g=Array.prototype.slice.call(e,0,r)),g[r]=e[r]);return a.concat(g||Array.prototype.slice.call(e))},Qe={placement:"top",triggerType:"hover",onShow:function(){},onHide:function(){},onToggle:function(){}},As=function(){function a(e,n,r){e===void 0&&(e=null),n===void 0&&(n=null),r===void 0&&(r=Qe),this._targetEl=e,this._triggerEl=n,this._options=ne(ne({},Qe),r),this._popperInstance=this._createPopperInstance(),this._visible=!1,this._init()}return a.prototype._init=function(){this._triggerEl&&this._setupEventListeners()},a.prototype._setupEventListeners=function(){var e=this,n=this._getTriggerEvents();n.showEvents.forEach(function(r){e._triggerEl.addEventListener(r,function(){e.show()})}),n.hideEvents.forEach(function(r){e._triggerEl.addEventListener(r,function(){e.hide()})})},a.prototype._createPopperInstance=function(){return ki(this._triggerEl,this._targetEl,{placement:this._options.placement,modifiers:[{name:"offset",options:{offset:[0,8]}}]})},a.prototype._getTriggerEvents=function(){switch(this._options.triggerType){case"hover":return{showEvents:["mouseenter","focus"],hideEvents:["mouseleave","blur"]};case"click":return{showEvents:["click","focus"],hideEvents:["focusout","blur"]};case"none":return{showEvents:[],hideEvents:[]};default:return{showEvents:["mouseenter","focus"],hideEvents:["mouseleave","blur"]}}},a.prototype._setupKeydownListener=function(){var e=this;this._keydownEventListener=function(n){n.key==="Escape"&&e.hide()},document.body.addEventListener("keydown",this._keydownEventListener,!0)},a.prototype._removeKeydownListener=function(){document.body.removeEventListener("keydown",this._keydownEventListener,!0)},a.prototype._setupClickOutsideListener=function(){var e=this;this._clickOutsideEventListener=function(n){e._handleClickOutside(n,e._targetEl)},document.body.addEventListener("click",this._clickOutsideEventListener,!0)},a.prototype._removeClickOutsideListener=function(){document.body.removeEventListener("click",this._clickOutsideEventListener,!0)},a.prototype._handleClickOutside=function(e,n){var r=e.target;r!==n&&!n.contains(r)&&!this._triggerEl.contains(r)&&this.isVisible()&&this.hide()},a.prototype.isVisible=function(){return this._visible},a.prototype.toggle=function(){this.isVisible()?this.hide():this.show()},a.prototype.show=function(){this._targetEl.classList.remove("opacity-0","invisible"),this._targetEl.classList.add("opacity-100","visible"),this._popperInstance.setOptions(function(e){return ne(ne({},e),{modifiers:ze(ze([],e.modifiers,!0),[{name:"eventListeners",enabled:!0}],!1)})}),this._setupClickOutsideListener(),this._setupKeydownListener(),this._popperInstance.update(),this._visible=!0,this._options.onShow(this)},a.prototype.hide=function(){this._targetEl.classList.remove("opacity-100","visible"),this._targetEl.classList.add("opacity-0","invisible"),this._popperInstance.setOptions(function(e){return ne(ne({},e),{modifiers:ze(ze([],e.modifiers,!0),[{name:"eventListeners",enabled:!1}],!1)})}),this._removeClickOutsideListener(),this._removeKeydownListener(),this._visible=!1,this._options.onHide(this)},a}();function Ai(){document.querySelectorAll("[data-tooltip-target]").forEach(function(a){var e=a.getAttribute("data-tooltip-target"),n=document.getElementById(e);if(n){var r=a.getAttribute("data-tooltip-trigger"),p=a.getAttribute("data-tooltip-placement");new As(n,a,{placement:p||Qe.placement,triggerType:r||Qe.triggerType})}else console.error('The tooltip element with id "'.concat(e,'" does not exist. Please check the data-tooltip-target attribute.'))})}typeof window<"u"&&(window.Tooltip=As,window.initTooltips=Ai);var re=globalThis&&globalThis.__assign||function(){return re=Object.assign||function(a){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var p in e)Object.prototype.hasOwnProperty.call(e,p)&&(a[p]=e[p])}return a},re.apply(this,arguments)},He=globalThis&&globalThis.__spreadArray||function(a,e,n){if(n||arguments.length===2)for(var r=0,p=e.length,g;r<p;r++)(g||!(r in e))&&(g||(g=Array.prototype.slice.call(e,0,r)),g[r]=e[r]);return a.concat(g||Array.prototype.slice.call(e))},Me={placement:"top",offset:10,triggerType:"hover",onShow:function(){},onHide:function(){},onToggle:function(){}},Es=function(){function a(e,n,r){e===void 0&&(e=null),n===void 0&&(n=null),r===void 0&&(r=Me),this._targetEl=e,this._triggerEl=n,this._options=re(re({},Me),r),this._popperInstance=this._createPopperInstance(),this._visible=!1,this._init()}return a.prototype._init=function(){this._triggerEl&&this._setupEventListeners()},a.prototype._setupEventListeners=function(){var e=this,n=this._getTriggerEvents();n.showEvents.forEach(function(r){e._triggerEl.addEventListener(r,function(){e.show()}),e._targetEl.addEventListener(r,function(){e.show()})}),n.hideEvents.forEach(function(r){e._triggerEl.addEventListener(r,function(){setTimeout(function(){e._targetEl.matches(":hover")||e.hide()},100)}),e._targetEl.addEventListener(r,function(){setTimeout(function(){e._triggerEl.matches(":hover")||e.hide()},100)})})},a.prototype._createPopperInstance=function(){return ki(this._triggerEl,this._targetEl,{placement:this._options.placement,modifiers:[{name:"offset",options:{offset:[0,this._options.offset]}}]})},a.prototype._getTriggerEvents=function(){switch(this._options.triggerType){case"hover":return{showEvents:["mouseenter","focus"],hideEvents:["mouseleave","blur"]};case"click":return{showEvents:["click","focus"],hideEvents:["focusout","blur"]};case"none":return{showEvents:[],hideEvents:[]};default:return{showEvents:["mouseenter","focus"],hideEvents:["mouseleave","blur"]}}},a.prototype._setupKeydownListener=function(){var e=this;this._keydownEventListener=function(n){n.key==="Escape"&&e.hide()},document.body.addEventListener("keydown",this._keydownEventListener,!0)},a.prototype._removeKeydownListener=function(){document.body.removeEventListener("keydown",this._keydownEventListener,!0)},a.prototype._setupClickOutsideListener=function(){var e=this;this._clickOutsideEventListener=function(n){e._handleClickOutside(n,e._targetEl)},document.body.addEventListener("click",this._clickOutsideEventListener,!0)},a.prototype._removeClickOutsideListener=function(){document.body.removeEventListener("click",this._clickOutsideEventListener,!0)},a.prototype._handleClickOutside=function(e,n){var r=e.target;r!==n&&!n.contains(r)&&!this._triggerEl.contains(r)&&this.isVisible()&&this.hide()},a.prototype.isVisible=function(){return this._visible},a.prototype.toggle=function(){this.isVisible()?this.hide():this.show(),this._options.onToggle(this)},a.prototype.show=function(){this._targetEl.classList.remove("opacity-0","invisible"),this._targetEl.classList.add("opacity-100","visible"),this._popperInstance.setOptions(function(e){return re(re({},e),{modifiers:He(He([],e.modifiers,!0),[{name:"eventListeners",enabled:!0}],!1)})}),this._setupClickOutsideListener(),this._setupKeydownListener(),this._popperInstance.update(),this._visible=!0,this._options.onShow(this)},a.prototype.hide=function(){this._targetEl.classList.remove("opacity-100","visible"),this._targetEl.classList.add("opacity-0","invisible"),this._popperInstance.setOptions(function(e){return re(re({},e),{modifiers:He(He([],e.modifiers,!0),[{name:"eventListeners",enabled:!1}],!1)})}),this._removeClickOutsideListener(),this._removeKeydownListener(),this._visible=!1,this._options.onHide(this)},a}();function Ei(){document.querySelectorAll("[data-popover-target]").forEach(function(a){var e=a.getAttribute("data-popover-target"),n=document.getElementById(e);if(n){var r=a.getAttribute("data-popover-trigger"),p=a.getAttribute("data-popover-placement"),g=a.getAttribute("data-popover-offset");new Es(n,a,{placement:p||Me.placement,offset:g?parseInt(g):Me.offset,triggerType:r||Me.triggerType})}else console.error('The popover element with id "'.concat(e,'" does not exist. Please check the data-popover-target attribute.'))})}typeof window<"u"&&(window.Popover=Es,window.initPopovers=Ei);var ti=globalThis&&globalThis.__assign||function(){return ti=Object.assign||function(a){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var p in e)Object.prototype.hasOwnProperty.call(e,p)&&(a[p]=e[p])}return a},ti.apply(this,arguments)},ri={triggerType:"hover",onShow:function(){},onHide:function(){},onToggle:function(){}},Os=function(){function a(e,n,r,p){e===void 0&&(e=null),n===void 0&&(n=null),r===void 0&&(r=null),p===void 0&&(p=ri),this._parentEl=e,this._triggerEl=n,this._targetEl=r,this._options=ti(ti({},ri),p),this._visible=!1,this._init()}return a.prototype._init=function(){var e=this;if(this._triggerEl){var n=this._getTriggerEventTypes(this._options.triggerType);n.showEvents.forEach(function(r){e._triggerEl.addEventListener(r,function(){e.show()}),e._targetEl.addEventListener(r,function(){e.show()})}),n.hideEvents.forEach(function(r){e._parentEl.addEventListener(r,function(){e._parentEl.matches(":hover")||e.hide()})})}},a.prototype.hide=function(){this._targetEl.classList.add("hidden"),this._triggerEl&&this._triggerEl.setAttribute("aria-expanded","false"),this._visible=!1,this._options.onHide(this)},a.prototype.show=function(){this._targetEl.classList.remove("hidden"),this._triggerEl&&this._triggerEl.setAttribute("aria-expanded","true"),this._visible=!0,this._options.onShow(this)},a.prototype.toggle=function(){this._visible?this.hide():this.show()},a.prototype.isHidden=function(){return!this._visible},a.prototype.isVisible=function(){return this._visible},a.prototype._getTriggerEventTypes=function(e){switch(e){case"hover":return{showEvents:["mouseenter","focus"],hideEvents:["mouseleave","blur"]};case"click":return{showEvents:["click","focus"],hideEvents:["focusout","blur"]};case"none":return{showEvents:[],hideEvents:[]};default:return{showEvents:["mouseenter","focus"],hideEvents:["mouseleave","blur"]}}},a}();function Oi(){document.querySelectorAll("[data-dial-init]").forEach(function(a){var e=a.querySelector("[data-dial-toggle]");if(e){var n=e.getAttribute("data-dial-toggle"),r=document.getElementById(n);if(r){var p=e.getAttribute("data-dial-trigger");new Os(a,e,r,{triggerType:p||ri.triggerType})}else console.error("Dial with id ".concat(n," does not exist. Are you sure that the data-dial-toggle attribute points to the correct modal id?"))}else console.error("Dial with id ".concat(a.id," does not have a trigger element. Are you sure that the data-dial-toggle attribute exists?"))})}typeof window<"u"&&(window.Dial=Os,window.initDials=Oi);function ah(){di(),ui(),pi(),fi(),_i(),Ci(),Ti(),Mi(),Ai(),Ei(),Oi()}typeof window<"u"&&(window.initFlowbite=ah);var lh=new el("load",[di,ui,pi,fi,_i,Ci,Ti,Mi,Ai,Ei,Oi]);lh.init();const hh={flex:""},ch=rt("div",null,[rt("div",{"i-material-symbols-info-outline":"","text-lg":""})],-1),dh={flex:""},uh=rt("div",{class:"border-l-[1px] border-r-[1px]","mx-2":"","h-6":"","border-color-black":"","dark:border-color-white":""},null,-1),ph={flex:""},fh=Dt({__name:"BoardTab",props:{rank:{}},setup(a){const e=a,n=St(()=>e.rank),{t:r}=Kt(),p=is.useToast(),{copy:g,isSupported:O}=ss();let U=null;const V=Et(null),Y=Et(null);function G(){return window?O.value?!0:(p.warning("clipboard is not supported"),U==null||U.hide(),!1):!1}function D(){p.success("copy success"),U==null||U.hide()}function $(){G()&&(g(window.location.href),D())}function R(){if(!G())return;const _=`<iframe src="${window.location.href}" border="0" frameborder="no" framespacing="0" allowfullscreen="true" style="width: 100%; height: 720px"></iframe>`;g(_),D()}return rs(()=>{if(V.value&&Y.value){const _={placement:"right",triggerType:"click",offsetSkidding:32,offsetDistance:5,delay:300};U=new Si(V.value,Y.value,_)}}),(_,M)=>{const L=as("VTooltip");return pt(),ft("div",hh,[rt("div",null,[At(L,{"w-inherit":""},{popper:pe(()=>{var z;return[rt("div",dh,[rt("div",null,xt(nt(r)("standings.options.calculation_of_penalty"))+": "+xt(nt(r)(`standings.options.${(z=nt(n).contest.options)==null?void 0:z.calculationOfPenalty}`)),1)])]}),default:pe(()=>[ch]),_:1})]),uh,rt("div",ph,[rt("div",{ref_key:"dropdownTriggerEl",ref:Y,"i-material-symbols-share":"","text-lg":"","cursor-pointer":""},null,512),rt("div",{ref_key:"dropdownTargetEl",ref:V,class:"z-9999 hidden divide-y divide-gray-100 rounded shadow w-36","bg-white":"","dark:bg-gray-700":""},[rt("ul",{class:"py-2 text-sm text-gray-700 dark:text-gray-200"},[rt("li",null,[rt("div",{class:"block px-4 py-2 hover:bg-gray-100 dark:hover:bg-gray-600 dark:hover:text-white","cursor-pointer":"",onClick:$}," Copy Page Link ")]),rt("li",null,[rt("div",{class:"block px-4 py-2 hover:bg-gray-100 dark:hover:bg-gray-600 dark:hover:text-white","cursor-pointer":"",onClick:R}," Copy Page Code ")])])],512)])])}}}),gh=a=>(ke("data-v-4e9f1054"),a=a(),Se(),a),mh={key:0},vh={key:0},yh={key:0},xh={class:"max-w-[92%]"},bh=["src"],wh={class:"max-w-[92%]"},kh={"mt-2":""},Sh={class:"w-[92%]"},_h={class:"flex font-bold font-mono"},Ch={class:"float-left"},Th={class:"pl-0.5"},Mh={class:"flex-1"},Ah={class:"float-right"},Eh={class:"pl-0.5"},Oh={class:"mt-2"},Lh={class:"mt-2 flex font-bold font-mono"},Ph={class:"float-left"},Dh={class:"flex-1"},Ih={class:"float-right"},jh={class:"mt-4 flex"},Bh={class:"float-left"},Rh=gh(()=>rt("div",{class:"flex-1"},null,-1)),zh={class:"float-right"},Hh={class:"max-w-[92%]"},Nh={key:0},$h={key:1,class:"w-[88vw]"},Wh={key:2},Fh={key:3},Gh={key:4},Qi="sm:w-[1280px] xl:w-screen",Ne="sm:w-[1260px] xl:w-screen",Xh=Dt({__name:"Board",props:{dataSourceUrl:null},setup(a){const e=a,n=ge(),r=Ys(Di),{t:p}=Kt(),g=Et(!1),O=Et({}),U=Et([]),V=Et([]),Y=Et({}),G=Et(new Date),D=Et(new Us),$=Et(!1);(()=>{const c=Lo(),P=Po();c.value.length>0&&D.value.setFilterOrganizations(c.value),P.value.length>0&&D.value.setFilterTeams(P.value)})();const R=Et("all");function _(c){c!==D.value.group&&D.value.setGroup(c)}(()=>{const c=ns("group","all",{transform:String});R.value=c.value,D.value.setGroup(c.value)})();function M(c={force:!1}){if($.value&&c.force===!1)return;const P=new to(O.value,U.value,V.value);P.options=Ii.cloneDeep(D.value),P.buildRank(),Y.value=P}const{data:L,isError:z,error:m}=so(e.dataSourceUrl??n.path,G);Ge(L,async()=>{var c,P,Z;L.value===null||L.value===void 0||(O.value=Vs((c=L.value)==null?void 0:c.contest),r.value=`${O.value.name} | ${Di}`,U.value=qs((P=L.value)==null?void 0:P.teams),V.value=Ks((Z=L.value)==null?void 0:Z.submissions),!D.value.enableFilterSubmissionsByTimestamp&&(M(),g.value=!0))});const C=Et(!1);Ge(D.value,()=>{if(g.value!==!1){if(!Y.value.options.isNeedReBuildRank(D.value)){Y.value.options=Ii.cloneDeep(D.value);return}C.value!==!0&&(C.value=!0,M(),C.value=!1)}});const S=Et([{title:"type_menu.rank",keyword:"rank",isDefault:!0},{title:"type_menu.submissions",keyword:"submissions"},{title:"type_menu.statistics",keyword:"statistics"},{title:"type_menu.export",keyword:"export"},{title:"type_menu.utility",keyword:"utility"},{title:"type_menu.options",keyword:"options",isModal:!0}]),y=St(()=>Y.value.contest.group),E=St(()=>{const c=Array();for(const[P,Z]of y.value){const tt={titles:Z.names,defaultLang:Z.defaultLang,keyword:P,isDefault:Z.isDefault};c.push(tt)}return c}),T=Et("rank"),A=Et(!0);function l(c){c==="options"&&(A.value=!1)}function d(){const c=document.documentElement.scrollHeight||document.body.scrollHeight,P=document.documentElement.scrollTop||document.body.scrollTop,Z=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;return c-P===Z}let x=null;function f(){x!==null&&clearInterval(x)}Zs("S",c=>{if($.value=!$.value,$.value===!0){let Z=0,tt="DOWN";x=setInterval(()=>{if(tt==="DOWN"){if(d()){tt="UP",M({force:!0});return}Z+=2}else{if(Z===0){tt="DOWN",M({force:!0});return}Z-=2}window.scrollTo({top:Z,behavior:"smooth"})},64)}else f()},{dedupe:!1});const v=St(()=>{const c=Y.value.contest.startTime.format("YYYY-MM-DD HH:mm:ss");return`${p("standings.start_time")}${p("common.colon")}${c}`}),i=St(()=>{const c=Y.value.contest.endTime.format("YYYY-MM-DD HH:mm:ss");return`${p("standings.end_time")}${p("common.colon")}${c}`}),t=St(()=>{const c=Y.value.contest.getContestElapsedTime(G.value);return`${p("standings.elapsed")}${p("common.colon")}${c}`}),s=St(()=>{const c=Y.value.contest.getContestRemainingTime(G.value);return`${p("standings.remaining")}${p("common.colon")}${c}`}),u=St(()=>Y.value.options.enableFilterSubmissionsByTimestamp?Js.PAUSED:Y.value.contest.getContestState()),b=St(()=>os(Y.value.options.timestamp)),B=setInterval(()=>{G.value=new Date},1e3);return Qs(()=>{clearInterval(B),f()}),(c,P)=>{var w;const Z=fh,tt=eo,at=io,W=tl,o=Va,j=Wa,F=hi,N=xn,Q=nn,h=Go,k=No;return pt(),ft("div",null,[nt(g)?kt("",!0):(pt(),ft("div",mh,[rt("div",{class:Tt([Qi]),flex:"","flex-col":"","gap-4":"","justify-center":"","items-center":""},[rt("div",null,xt(nt(p)("common.loading"))+"... ",1),nt(z)?(pt(),ft("div",vh,xt(nt(m)),1)):kt("",!0)],2)])),nt(g)?(pt(),ft("div",{key:1,class:Tt([Qi]),flex:"","flex-col":"","justify-center":"","items-center":""},[nt(Y).contest.banner?(pt(),ft("div",yh,[rt("div",{class:Tt([Ne]),"mb-4":"",flex:"","justify-center":"","items-center":""},[rt("div",xh,[rt("img",{src:["data:image/png;base64,",(w=nt(Y).contest.banner)==null?void 0:w.base64].join(""),alt:"banner"},null,8,bh)])],2)])):kt("",!0),rt("div",{class:Tt(["title",[Ne]]),flex:"","justify-center":"","text-center":"","text-3xl":"","font-normal":"","font-serif":""},[rt("div",wh,xt(nt(Y).contest.name),1)],2),rt("div",kh,[At(Z,{rank:nt(Y)},null,8,["rank"])]),rt("div",{class:Tt([Ne]),"mt-2":"",flex:"","flex-row":"","justify-center":""},[rt("div",Sh,[rt("div",_h,[rt("div",Ch,[zt(xt(nt(v)),1),rt("sup",Th,xt(nt(Y).contest.startTime.format("z")),1)]),rt("div",Mh,[At(tt,{state:nt(u),"pending-time":nt(Y).contest.getContestPendingTime(nt(G)),"paused-time":nt(b)},null,8,["state","pending-time","paused-time"])]),rt("div",Ah,[zt(xt(nt(i)),1),rt("sup",Eh,xt(nt(Y).contest.endTime.format("z")),1)])]),rt("div",Oh,[At(at,{"rank-options":nt(D),"onUpdate:rankOptions":P[0]||(P[0]=X=>$t(D)?D.value=X:null),width:nt(Y).contest.getContestProgressRatio(nt(G)),state:nt(Y).contest.getContestState(nt(G)),"need-scroll":!0,rank:nt(Y),"elapsed-time":nt(Y).contest.getContestElapsedTime(nt(G))},null,8,["rank-options","width","state","rank","elapsed-time"])]),rt("div",Lh,[rt("div",Ph,xt(nt(t)),1),rt("div",Dh,[At(W)]),rt("div",Ih,xt(nt(s)),1)]),rt("div",jh,[rt("div",Bh,[At(o,{"current-item":nt(R),"onUpdate:currentItem":P[1]||(P[1]=X=>$t(R)?R.value=X:null),items:nt(E),"query-param-name":"group","on-change":_},null,8,["current-item","items"])]),Rh,rt("div",zh,[At(o,{"current-item":nt(T),"onUpdate:currentItem":P[2]||(P[2]=X=>$t(T)?T.value=X:null),items:nt(S),"reverse-order":!0,"query-param-name":"type","on-change":l},null,8,["current-item","items"])])])])],2),rt("div",{"mt-4":"",class:Tt([Ne]),flex:"","justify-center":""},[rt("div",Hh,[nt(T)==="rank"?(pt(),ft("div",Nh,[At(j,{rank:nt(Y)},null,8,["rank"])])):kt("",!0),nt(T)==="submissions"?(pt(),ft("div",$h,[At(F,{"w-full":"",rank:nt(Y),submissions:nt(Y).getSubmissions()},null,8,["rank","submissions"])])):kt("",!0),nt(T)==="statistics"?(pt(),ft("div",Wh,[At(N,{rank:nt(Y)},null,8,["rank"])])):kt("",!0),nt(T)==="export"?(pt(),ft("div",Fh,[At(Q,{rank:nt(Y)},null,8,["rank"])])):kt("",!0),nt(T)==="utility"?(pt(),ft("div",Gh,[At(h,{rank:nt(Y)},null,8,["rank"])])):kt("",!0)])],2)],2)):kt("",!0),nt(A)?kt("",!0):(pt(),Xt(k,{key:2,"is-hidden":nt(A),"onUpdate:isHidden":P[3]||(P[3]=X=>$t(A)?A.value=X:null),"rank-options":nt(D),"onUpdate:rankOptions":P[4]||(P[4]=X=>$t(D)?D.value=X:null),rank:nt(Y)},null,8,["is-hidden","rank-options","rank"]))])}}});const Ls=te(Xh,[["__scopeId","data-v-4e9f1054"]]),Yh={key:0},Uh=Dt({__name:"CustomBoard",setup(a){const e=oo();return(n,r)=>{const p=no,g=Ls;return pt(),ft(Pt,null,[At(p),nt(e).length>0?(pt(),ft("div",Yh,[At(g,{"data-source-url":nt(e)},null,8,["data-source-url"])])):kt("",!0)],64)}}}),Vh=Dt({__name:"GoBack",setup(a){const e=es(),{t:n}=Kt();return(r,p)=>{const g=as("RouterLink");return pt(),ft("div",null,[rt("div",{class:"m-3 text-sm btn",onClick:p[0]||(p[0]=O=>nt(e).back())},xt(nt(n)("button.back")),1),At(g,{class:"m-3 text-sm btn",to:"/"},{default:pe(()=>[zt(xt(nt(n)("button.home")),1)]),_:1})])}}}),qh={key:0,class:"flex flex-col items-center"},Kh=rt("div",{"text-4xl":""},[rt("div",{"i-carbon-warning":""})],-1),Zh={key:1},Jh={key:2},Qh=Dt({__name:"[...all]",setup(a){const{t:e}=Kt(),n=ge(),p=!["camp","icpc","ccpc","provincial-contest","board"].some(O=>n.fullPath.startsWith(`/${O}`)),g=St(()=>n.fullPath.startsWith("/board"));return(O,U)=>{const V=Vh,Y=Uh,G=Ls;return pt(),ft(Pt,null,[p?(pt(),ft("div",qh,[Kh,zt(" "+xt(nt(e)("not-found"))+" ",1),At(V)])):kt("",!0),nt(g)?(pt(),ft("div",Zh,[At(Y)])):(pt(),ft("div",Jh,[At(G)]))],64)}}});typeof ji=="function"&&ji(Qh);export{Qh as default};
|