marketplacepos 2.9.3 → 2.9.5
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/Marketplace/174.491c4991a4f8e404.js +1 -0
- package/Marketplace/19.124a066645320965.js +1 -0
- package/Marketplace/213.0e33a2cc7393deb2.js +1 -0
- package/Marketplace/360.5c7b51c35e7142e7.js +1 -0
- package/Marketplace/{369.a12060880985ee8f.js → 369.a1e3b731aeb5243f.js} +1 -1
- package/Marketplace/379.25d1b1c637903c75.js +1 -0
- package/Marketplace/397.c1a8fad6c2ca3235.js +1 -0
- package/Marketplace/72.23b7f31fc45323cb.js +1 -0
- package/Marketplace/754.086e7f7a5377c7d9.js +1 -0
- package/Marketplace/767.64dd12e70c78eb25.js +1 -0
- package/Marketplace/835.ea5f86512592f641.js +1 -0
- package/Marketplace/874.1fbcd1001b41f18e.js +1 -0
- package/Marketplace/common.1b119d9b7a972f87.js +1 -0
- package/Marketplace/index.html +3 -2
- package/Marketplace/{main.6966bb7fcafbe0e4.js → main.cbb985d0c847641f.js} +1 -1
- package/Marketplace/runtime.8ddf6965934d46b2.js +1 -0
- package/package.json +1 -1
- package/Marketplace/213.d00d0a3f05c831f7.js +0 -1
- package/Marketplace/360.8279e3b4ceab63e1.js +0 -1
- package/Marketplace/378.7f743ac9660ec6e6.js +0 -1
- package/Marketplace/379.aad8784dbdb3dd33.js +0 -1
- package/Marketplace/395.2943aa5a44308399.js +0 -1
- package/Marketplace/397.8ba047b91801962d.js +0 -1
- package/Marketplace/533.cc5ab7f3ce13770c.js +0 -1
- package/Marketplace/655.ae475c8285604367.js +0 -1
- package/Marketplace/767.d939ac65d1cb16fb.js +0 -1
- package/Marketplace/874.5b06431d2b5a1e8f.js +0 -1
- package/Marketplace/common.af67cc08f47a8d44.js +0 -1
- package/Marketplace/runtime.5db60124bb5bf7cb.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunkpos_marketplace=self.webpackChunkpos_marketplace||[]).push([[174],{6174:(Ot,Lt,St)=>{"use strict";St.r(Lt),St.d(Lt,{DashboardModule:()=>e});var Tt=St(6895),At=St(3470),ct=St(4782),F=St(4004),G=St(9694),Y=St(1889),T=St(4650),et=St(4461);class J{constructor(t){this.Chart=t.Chart,this.PerformanceChannel=t.PerformanceChannel,this.lineChartOptions=this.generateLineChartOptions(),this.pieChartOptions=this.generatePieChartOptions()}generateLineChartOptions(){let t=0;return{chart:{type:"spline",inverted:!1},credits:{enabled:!1},yAxis:{title:{text:""}},xAxis:{categories:this.Chart.XAxis,labels:{style:{fontSize:"10px"}}},title:{text:""},legend:{itemMarginTop:2,itemMarginBottom:2,itemStyle:{fontSize:"10px"}},tooltip:{pointFormatter:function(){return'<span style="color:'+this.color+'">\u25cf</span> '+this.series.name+": <b>"+At.numberFormat(this.y,0,",",".")+" IDR</b><br/>"}},series:this.Chart.Area.filter(c=>(t=0,c?.Data.forEach(n=>{0==n&&(t+=1)}),t!=c.Data.length)).map(c=>({name:c.Name,data:c.Data,type:"spline",color:Y.g.getCssChannelColor(c.TypeID)}))}}generatePieChartOptions(){return{credits:{enabled:!1},title:{text:""},legend:{itemMarginTop:2,itemMarginBottom:2,itemStyle:{fontSize:"10px"}},plotOptions:{pie:{allowPointSelect:!0,cursor:"pointer",dataLabels:{enabled:!0,format:"<b>{point.name}</b>: {point.y} Orders"},showInLegend:!0}},series:[{type:"pie",name:"Total",data:this.Chart.Pie.filter(i=>i.Order>0).map(i=>({name:i.Name,y:i.Order,color:Y.g.getCssChannelColor(i.TypeID)}))}]}}}var $=St(529);class Z{constructor(t){this.http=t}getDashboardData(t){return this.http.post("/api/dashboard/GetDashboardData",{range:t.range,type:t.type}).pipe((0,F.U)(n=>new J(n)))}getChannelShortcuts(){return[{name:"Tokopedia",class:"btn-tokopedia",typeId:G.x.Tokopedia,campaign:"https://seller.tokopedia.com/promo",chat:"https://seller.tokopedia.com/chat",logo:et.$.TOKOPEDIA,sellerCenter:"https://seller.tokopedia.com"},{name:"Shopee",class:"btn-shopee",typeId:G.x.ShopeeV2,campaign:"https://seller.shopee.co.id/portal/marketing",chat:"https://seller.shopee.co.id/webchat/conversations",logo:et.$.SHOOPE,sellerCenter:"https://seller.shopee.co.id/"},{name:"Tiktok",class:"btn-tiktok",typeId:G.x.Tiktok,campaign:"https://seller-id.tiktok.com",chat:"https://seller-id.tiktok.com/chat?lang=id-ID&from=seller_center_navigation_im",logo:et.$.TIKTOK,sellerCenter:"https://seller-id.tiktok.com"},{name:"Lazada",class:"btn-lazada",typeId:G.x.Lazada,campaign:"https://sellercenter.lazada.co.id/apps/promotion/home?",chat:"https://sellercenter.lazada.co.id/apps/im/chat",logo:et.$.LAZADA,sellerCenter:"https://sellercenter.lazada.co.id"}]}}Z.\u0275fac=function(t){return new(t||Z)(T.LFG($.eN))},Z.\u0275prov=T.Yz7({token:Z,factory:Z.\u0275fac});var z=St(7481),j=St(4006);let P=(()=>{class h{constructor(i,c){this.el=i,this._zone=c,this.updateChange=new T.vpe(!0),this.chartInstance=new T.vpe}ngOnChanges(i){const c=i.update&&i.update.currentValue;(i.options||c)&&(this.wrappedUpdateOrCreateChart(),c&&this.updateChange.emit(!1))}wrappedUpdateOrCreateChart(){this.runOutsideAngular?this._zone.runOutsideAngular(()=>{this.updateOrCreateChart()}):this.updateOrCreateChart()}updateOrCreateChart(){this.chart&&this.chart.update?this.chart.update(this.options,!0,this.oneToOne||!1):(this.chart=this.Highcharts[this.constructorType||"chart"](this.el.nativeElement,this.options,this.callbackFunction||null),this.chartInstance.emit(this.chart))}ngOnDestroy(){this.chart&&(this.chart.destroy(),this.chart=null)}}return h.\u0275fac=function(i){return new(i||h)(T.Y36(T.SBq),T.Y36(T.R0b))},h.\u0275cmp=T.Xpm({type:h,selectors:[["highcharts-chart"]],inputs:{Highcharts:"Highcharts",constructorType:"constructorType",callbackFunction:"callbackFunction",oneToOne:"oneToOne",runOutsideAngular:"runOutsideAngular",options:"options",update:"update"},outputs:{updateChange:"updateChange",chartInstance:"chartInstance"},features:[T.TTD],decls:0,vars:0,template:function(i,c){},encapsulation:2}),h})(),m=(()=>{class h{}return h.\u0275fac=function(i){return new(i||h)},h.\u0275mod=T.oAB({type:h}),h.\u0275inj=T.cJS({}),h})();var g=St(8796),y=St(6308),k=St(266);class v{transform(t,i,c,n){let f=0;return t&&!c&&!n&&t.forEach(O=>f+=O[i]-0),c&&n&&t.forEach(O=>{O[c]==n&&(f+=O[i]-0)}),f}}function S(h,t){if(1&h&&(T.TgZ(0,"span",8),T._UZ(1,"img",9),T.qZA(),T._uU(2)),2&h){const i=t.item;T.xp6(1),T.Q6J("src",i.logo,T.LSH),T.xp6(1),T.hij(" ",i.name," ")}}function M(h,t){if(1&h&&(T.TgZ(0,"tr",39)(1,"td"),T._UZ(2,"img",40),T.qZA(),T.TgZ(3,"td",41),T._uU(4),T.qZA(),T.TgZ(5,"td",42),T._uU(6),T.ALo(7,"number"),T.qZA(),T.TgZ(8,"td",43),T._uU(9),T.ALo(10,"number"),T.qZA(),T.TgZ(11,"td",44),T._uU(12),T.ALo(13,"number"),T.qZA()()),2&h){const i=t.$implicit;T.xp6(2),T.Q6J("src",i.logo,T.LSH),T.xp6(2),T.Oqu(i.Name),T.xp6(2),T.Oqu(T.lcZ(7,5,i.Products)),T.xp6(3),T.Oqu(T.lcZ(10,7,i.Order)),T.xp6(3),T.Oqu(T.lcZ(13,9,i.Amount))}}v.\u0275fac=function(t){return new(t||v)},v.\u0275pipe=T.Yjl({name:"sum",type:v,pure:!0});const w=function(h){return{"border-color":h}};function E(h,t){if(1&h&&(T.TgZ(0,"tr",45)(1,"td",46),T._UZ(2,"img",40),T.qZA(),T.TgZ(3,"td",47)(4,"a",48),T._uU(5,"Seller Center"),T.qZA()(),T.TgZ(6,"td",47)(7,"a",49),T._uU(8,"Chat"),T.qZA()(),T.TgZ(9,"td",47)(10,"a",48),T._uU(11,"Campaign"),T.qZA()()()),2&h){const i=t.$implicit,c=t.index,n=T.oxw(2);T.Q6J("ngStyle",T.VKq(11,w,n.channelShortcut.length-1==c?"white":"")),T.xp6(2),T.Q6J("src",i.logo,T.LSH),T.xp6(2),T.Tol(i.class),T.Q6J("href",i.sellerCenter,T.LSH),T.xp6(3),T.Tol(i.class),T.Q6J("href",i.chat,T.LSH),T.xp6(3),T.Tol(i.class),T.Q6J("href",i.campaign,T.LSH)}}function I(h,t){if(1&h){const i=T.EpF();T.ynx(0),T.TgZ(1,"div",10)(2,"div",11)(3,"div",12)(4,"div",13)(5,"div",14)(6,"h1",15),T._uU(7,"Daily Sales"),T.qZA()(),T.TgZ(8,"div",16),T._UZ(9,"highcharts-chart",17),T.qZA()()()(),T.TgZ(10,"div",11)(11,"div",12)(12,"div",13)(13,"div",14)(14,"h1",15),T._uU(15),T.qZA()(),T.TgZ(16,"div",16),T._UZ(17,"highcharts-chart",17),T.qZA()()()()(),T.TgZ(18,"div",18)(19,"div",19)(20,"div",12)(21,"div",20)(22,"h1",21),T._uU(23),T.qZA()(),T.TgZ(24,"div",13)(25,"div",22)(26,"table",23),T.NdJ("matSortChange",function(n){const O=T.CHM(i).ngIf,_=T.oxw();return T.KtG(_.onSort(n,O))}),T.TgZ(27,"thead")(28,"tr",24),T._UZ(29,"th",25),T.TgZ(30,"th",26),T._uU(31,"Store Name"),T.qZA(),T.TgZ(32,"th",27)(33,"span",28),T._uU(34,"Products"),T.qZA()(),T.TgZ(35,"th",29),T._uU(36,"Order "),T.qZA(),T.TgZ(37,"th",30),T._uU(38,"Amount "),T.qZA()()(),T.TgZ(39,"tbody"),T.YNc(40,M,14,11,"tr",31),T.qZA(),T.TgZ(41,"tfoot")(42,"tr",32),T._UZ(43,"td",33),T.TgZ(44,"td",34),T._uU(45,"Total"),T.qZA(),T.TgZ(46,"td",35),T._uU(47),T.ALo(48,"number"),T.ALo(49,"sum"),T.qZA(),T.TgZ(50,"td",35),T._uU(51),T.ALo(52,"number"),T.ALo(53,"sum"),T.qZA(),T.TgZ(54,"td",35),T._uU(55),T.ALo(56,"number"),T.ALo(57,"sum"),T.qZA()()()()()()()(),T.TgZ(58,"div",36)(59,"div",12)(60,"div",20)(61,"h1",21),T._uU(62,"Seller Center Shortcut"),T.qZA()(),T.TgZ(63,"div",13)(64,"div",22)(65,"table",37)(66,"tbody"),T.YNc(67,E,12,13,"tr",38),T.qZA()()()()()()(),T.BQk()}if(2&h){const i=t.ngIf,c=T.oxw();T.xp6(9),T.Q6J("Highcharts",c.Highcharts)("options",i.lineChartOptions),T.xp6(6),T.hij("Order Count (",c.dateTitle,")"),T.xp6(2),T.Q6J("Highcharts",c.Highcharts)("options",i.pieChartOptions),T.xp6(6),T.hij("Channel Sales (",c.dateTitle,")"),T.xp6(17),T.Q6J("ngForOf",i.PerformanceChannel),T.xp6(7),T.Oqu(T.lcZ(48,11,T.xi3(49,13,i.PerformanceChannel,"Products"))),T.xp6(4),T.hij("",T.lcZ(52,16,T.xi3(53,18,i.PerformanceChannel,"Order"))," "),T.xp6(4),T.hij("",T.lcZ(56,21,T.xi3(57,23,i.PerformanceChannel,"Amount"))," "),T.xp6(12),T.Q6J("ngForOf",c.channelShortcut)}}class C{constructor(t,i){this.dashboardService=t,this.datePipe=i,this.Highcharts=At,this.filter={range:0,type:null},this.channelType=G.x,this.dateRange=[{label:"Week",value:0},{label:"Month",value:1}],this.channelShortcut=t.getChannelShortcuts(),this.channelOptions=structuredClone(this.channelShortcut),this.filter.range=0}ngOnInit(){this.initDashboardData()}initDashboardData(){this.dashboardData$=this.dashboardService.getDashboardData(this.filter).pipe((0,ct.d)(),(0,F.U)(t=>(t.PerformanceChannel=t.PerformanceChannel.map(i=>(i.logo=Y.g.getChannelLogoByTypeId(i.TypeID),i)),this.performanceChannelSource=JSON.parse(JSON.stringify(t.PerformanceChannel)),t.PerformanceChannel=this.sorting(t.PerformanceChannel,"Amount","desc"),this.filterChannelShortcut(t.PerformanceChannel),this.generateDateTitle(),t)))}generateDateTitle(){const t=new Date,i=this.datePipe.transform(t,"dd MMMM");let n,c=new Date;0==this.filter.range?c.setDate(c.getDate()-6):c=this.getStartDateMonthly(),n=c.getMonth()==t.getMonth()?this.datePipe.transform(c,"dd"):this.datePipe.transform(c,"dd MMMM"),this.dateTitle=`${n}-${i}`}getStartDateMonthly(){const t=new Date;t.setDate(t.getDate()-30);const i=new Date;return i.getMonth()!==t.getMonth()&&t.setDate(i.getDate()),t}filterChannelShortcut(t){const i=this.dashboardService.getChannelShortcuts(),c=t.filter((n,f,O)=>O.findIndex(_=>_.TypeID==n.TypeID)===f);this.channelShortcut=i.filter(n=>-1!==c.findIndex(f=>f.TypeID==n.typeId))}sorting(t,i,c){return t.sort((n,f)=>Y.g.compare(n[i],f[i],"asc"==c))}onFilter(){this.initDashboardData()}onSort(t,i){i.PerformanceChannel=t.active&&""!==t.direction?i.PerformanceChannel.sort((c,n)=>{const f="asc"===t.direction;switch(t.active){case"Products":return Y.g.compare(c.Products,n.Products,f);case"Order":return Y.g.compare(c.Order,n.Order,f);case"Amount":return Y.g.compare(c.Amount,n.Amount,f);default:return 0}}):JSON.parse(JSON.stringify(this.performanceChannelSource))}}C.\u0275fac=function(t){return new(t||C)(T.Y36(Z),T.Y36(Tt.uU))},C.\u0275cmp=T.Xpm({type:C,selectors:[["app-dashboard"]],decls:16,vars:9,consts:[["headerTitle","Dashboard",3,"hideSearchBox","onSubmit"],["container",""],[1,"mb-3","fw-normal"],["bindLabel","label","name","channelid","bindValue","value",1,"center-text",3,"items","ngModel","ngModelChange"],["bindLabel","name","name","channel","bindValue","typeId","placeholder","Select Channel",1,"center-text",3,"clearable","items","ngModel","ngModelChange"],["ng-option-tmp",""],[1,"container-fluid"],[4,"ngIf"],[1,"me-2"],["alt","",2,"width","18px",3,"src"],[1,"row","mt-6"],[1,"col-6"],[1,"card"],[1,"card-body"],[1,"d-flex","justify-content-start"],[1,"card-title","ms-4","mt-6"],[1,"mt-5"],[2,"display","block","width","100%","height","100%",3,"Highcharts","options"],[1,"row"],[1,"col-8"],[1,"d-flex","justify-content-start","border-bottom"],[1,"card-title","my-6","ms-10"],[1,"table-responsive","mt-2"],["matSort","",1,"table",3,"matSortChange"],[1,"table-light",2,"border","none !important"],[2,"width","10px"],[2,"width","200px","padding-left","0px"],["arrowPosition","before","mat-sort-header","Products",1,"text-end",2,"width","70px"],["matTooltip","Number of SKUs that have been mapped between omni and POS","matTooltipPosition","above"],["arrowPosition","before","mat-sort-header","Order",1,"text-end",2,"width","70px"],["arrowPosition","before","mat-sort-header","Amount",1,"text-end",2,"width","70px"],["class","py-4",4,"ngFor","ngForOf"],[1,"fw-bold","fs-5","border-bottom-0"],[1,"border-bottom-0",2,"width","10px"],[1,"border-bottom-0",2,"width","210px","padding-left","0px"],[1,"text-end","border-bottom-0"],[1,"col-4"],[1,"table"],[3,"ngStyle",4,"ngFor","ngForOf"],[1,"py-4"],["alt","",2,"width","25px",3,"src"],[2,"width","210px","padding-left","0px"],[1,"text-end",2,"width","100px"],[1,"text-end",2,"width","115px"],[1,"text-end",2,"width","70px"],[3,"ngStyle"],[1,"text-end",2,"width","45px"],[1,"text-center"],["role","button","target","_blank","type","button",1,"btn","btn-sm","rounded",3,"href"],["role","button","type","button","target","_blank",1,"btn","btn-sm","rounded",3,"href"]],template:function(t,i){1&t&&(T.TgZ(0,"mainpanel",0),T.NdJ("onSubmit",function(){return i.onFilter()}),T.TgZ(1,"filters")(2,"div",1)(3,"div")(4,"h5",2),T._uU(5,"Select a Period"),T.qZA(),T.TgZ(6,"ng-select",3),T.NdJ("ngModelChange",function(n){return i.filter.range=n}),T.qZA()(),T.TgZ(7,"div")(8,"h5",2),T._uU(9,"Type"),T.qZA(),T.TgZ(10,"ng-select",4),T.NdJ("ngModelChange",function(n){return i.filter.type=n}),T.YNc(11,S,3,2,"ng-template",5),T.qZA()()()(),T.TgZ(12,"content")(13,"div",6),T.YNc(14,I,68,26,"ng-container",7),T.ALo(15,"async"),T.qZA()()()),2&t&&(T.Q6J("hideSearchBox",!0),T.xp6(6),T.Q6J("items",i.dateRange)("ngModel",i.filter.range),T.xp6(4),T.Q6J("clearable",!0)("items",i.channelOptions)("ngModel",i.filter.type),T.xp6(4),T.Q6J("ngIf",T.lcZ(15,7,i.dashboardData$)))},dependencies:[Tt.sg,Tt.O5,Tt.PC,z.p,j.JJ,j.On,P,g.w9,g.ir,y.YE,y.nU,k.gM,Tt.Ov,Tt.JJ,v],styles:[".btn-shopee[_ngcontent-%COMP%]{background-color:#ee4d2d;color:#fff}.btn-lazada[_ngcontent-%COMP%]{background-color:#ff00b2;color:#fff}.btn-tokopedia[_ngcontent-%COMP%]{background-color:var(--G500, #03AC0E);color:#fff}.btn-tiktok[_ngcontent-%COMP%]{background-color:#000;color:#fff}.btn-woocommerce[_ngcontent-%COMP%]{background-color:#674399;color:#fff}.btn-kalcare[_ngcontent-%COMP%]{background-color:#80bc00;color:#fff}.btn-sm[_ngcontent-%COMP%]{font-size:12px!important}.card-title[_ngcontent-%COMP%]{font-weight:300;color:#4d4d4d;margin:0}.card.shortcut[_ngcontent-%COMP%]{margin-bottom:10px!important}"]});var r=St(284);class d{}d.\u0275fac=function(t){return new(t||d)},d.\u0275mod=T.oAB({type:d}),d.\u0275inj=T.cJS({providers:[v],imports:[Tt.ez]});var s=St(1108);const l=[{path:"",component:C}];class e{}e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=T.oAB({type:e}),e.\u0275inj=T.cJS({providers:[Z],imports:[Tt.ez,r.Bz.forChild(l),z.R,j.u5,m,g.A0,d,s.f,y.JX,k.AV]})},3470:function(Ot,Lt,St){var Tt,At,ct;At=typeof window<"u"?window:this,ct=function(At){function ct(G,Y,T,et){G.hasOwnProperty(Y)||(G[Y]=et.apply(null,T),"function"==typeof CustomEvent&&At.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:Y,module:G[Y]}})))}var F={};return ct(F,"Core/Globals.js",[],function(){var G,Y;return(Y=G||(G={})).SVG_NS="http://www.w3.org/2000/svg",Y.product="Highcharts",Y.version="10.3.3",Y.win=typeof At<"u"?At:{},Y.doc=Y.win.document,Y.svg=Y.doc&&Y.doc.createElementNS&&!!Y.doc.createElementNS(Y.SVG_NS,"svg").createSVGRect,Y.userAgent=Y.win.navigator&&Y.win.navigator.userAgent||"",Y.isChrome=-1!==Y.userAgent.indexOf("Chrome"),Y.isFirefox=-1!==Y.userAgent.indexOf("Firefox"),Y.isMS=/(edge|msie|trident)/i.test(Y.userAgent)&&!Y.win.opera,Y.isSafari=!Y.isChrome&&-1!==Y.userAgent.indexOf("Safari"),Y.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(Y.userAgent),Y.isWebKit=-1!==Y.userAgent.indexOf("AppleWebKit"),Y.deg2rad=2*Math.PI/360,Y.hasBidiBug=Y.isFirefox&&4>parseInt(Y.userAgent.split("Firefox/")[1],10),Y.hasTouch=!!Y.win.TouchEvent,Y.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],Y.noop=function(){},Y.supportsPassiveEvents=function(){var T=!1;if(!Y.isMS){var et=Object.defineProperty({},"passive",{get:function(){T=!0}});Y.win.addEventListener&&Y.win.removeEventListener&&(Y.win.addEventListener("testPassive",Y.noop,et),Y.win.removeEventListener("testPassive",Y.noop,et))}return T}(),Y.charts=[],Y.dateFormats={},Y.seriesTypes={},Y.symbolSizes={},Y.chartCount=0,G}),ct(F,"Core/Utilities.js",[F["Core/Globals.js"]],function(G){function Y(t,i,c,n){var f=i?"Highcharts error":"Highcharts warning";32===t&&(t=f+": Deprecated member");var O=P(t),_=O?f+" #"+t+": www.highcharts.com/errors/"+t+"/":t.toString();if(typeof n<"u"){var R="";O&&(_+="?"),E(n,function(o,p){R+="\n - ".concat(p,": ").concat(o),O&&(_+=encodeURI(p)+"="+encodeURI(o))}),_+=R}C(G,"displayError",{chart:c,code:t,message:_,params:n},function(){if(i)throw Error(_);s.console&&-1===Y.messages.indexOf(_)&&console.warn(_)}),Y.messages.push(_)}function et(t,i){return parseInt(t,i||10)}function J(t){return"string"==typeof t}function $(t){return"[object Array]"===(t=Object.prototype.toString.call(t))||"[object Array Iterator]"===t}function Z(t,i){return!(!t||"object"!=typeof t||i&&$(t))}function z(t){return Z(t)&&"number"==typeof t.nodeType}function j(t){var i=t&&t.constructor;return!(!Z(t,!0)||z(t)||!i||!i.name||"Object"===i.name)}function P(t){return"number"==typeof t&&!isNaN(t)&&1/0>t&&-1/0<t}function m(t){return typeof t<"u"&&null!==t}function g(t,i,c){var f,n=J(i)&&!m(c),O=function(_,R){m(_)?t.setAttribute(R,_):n?(f=t.getAttribute(R))||"class"!==R||(f=t.getAttribute(R+"Name")):t.removeAttribute(R)};return J(i)?O(c,i):E(i,O),f}function y(t,i){var c;for(c in t||(t={}),i)t[c]=i[c];return t}function k(){for(var t=arguments,i=t.length,c=0;c<i;c++){var n=t[c];if(typeof n<"u"&&null!==n)return n}}function v(t,i){G.isMS&&!G.svg&&i&&m(i.opacity)&&(i.filter="alpha(opacity=".concat(100*i.opacity,")")),y(t.style,i)}function S(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function M(t,i){return 1e14<t?t:parseFloat(t.toPrecision(i||14))}function E(t,i,c){for(var n in t)Object.hasOwnProperty.call(t,n)&&i.call(c||t[n],t[n],n,t)}function I(t,i,c){function n(R,o){var p=t.removeEventListener||G.removeEventListenerPolyfill;p&&p.call(t,R,o,!1)}function f(R){var o;if(t.nodeName){if(i){var p={};p[i]=!0}else p=R;E(p,function(A,D){if(R[D])for(o=R[D].length;o--;)n(D,R[D][o].fn)})}}var O="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(O,"hcEvents")){var _=O.hcEvents;i?(O=_[i]||[],c?(_[i]=O.filter(function(R){return c!==R.fn}),n(i,c)):(f(_),_[i]=[])):(f(_),delete O.hcEvents)}}function C(t,i,c,n){if(c=c||{},d.createEvent&&(t.dispatchEvent||t.fireEvent&&t!==G)){var f=d.createEvent("Events");f.initEvent(i,!0,!0),c=y(f,c),t.dispatchEvent?t.dispatchEvent(c):t.fireEvent(i,c)}else if(t.hcEvents){c.target||y(c,{preventDefault:function(){c.defaultPrevented=!0},target:t,type:i}),f=[];for(var O=t,_=!1;O.hcEvents;)Object.hasOwnProperty.call(O,"hcEvents")&&O.hcEvents[i]&&(f.length&&(_=!0),f.unshift.apply(f,O.hcEvents[i])),O=Object.getPrototypeOf(O);_&&f.sort(function(R,o){return R.order-o.order}),f.forEach(function(R){!1===R.fn.call(t,c)&&c.preventDefault()})}n&&!c.defaultPrevented&&n.call(t,c)}var r=G.charts,d=G.doc,s=G.win;(Y||(Y={})).messages=[],Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)};var l=Array.prototype.find?function(t,i){return t.find(i)}:function(t,i){var c,n=t.length;for(c=0;c<n;c++)if(i(t[c],c))return t[c]};E({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(t,i){G[i]=function(c){var n;return Y(32,!1,void 0,((n={})["Highcharts.".concat(i)]="use Array.".concat(t),n)),Array.prototype[t].apply(c,[].slice.call(arguments,1))}});var e,t,i,h=(t=Math.random().toString(36).substring(2,9)+"-",i=0,function(){return"highcharts-"+(e?"":t)+i++});return s.jQuery&&(s.jQuery.fn.highcharts=function(){var t=[].slice.call(arguments);if(this[0])return t[0]?(new(G[J(t[0])?t.shift():"Chart"])(this[0],t[0],t[1]),this):r[g(this[0],"data-highcharts-chart")]}),l={addEvent:function(t,i,c,n){void 0===n&&(n={});var f="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(f,"hcEvents")||(f.hcEvents={}),f=f.hcEvents,G.Point&&t instanceof G.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);var O=t.addEventListener||G.addEventListenerPolyfill;return O&&O.call(t,i,c,!!G.supportsPassiveEvents&&{passive:void 0===n.passive?-1!==i.indexOf("touch"):n.passive,capture:!1}),f[i]||(f[i]=[]),f[i].push({fn:c,order:"number"==typeof n.order?n.order:1/0}),f[i].sort(function(_,R){return _.order-R.order}),function(){I(t,i,c)}},arrayMax:function(t){for(var i=t.length,c=t[0];i--;)t[i]>c&&(c=t[i]);return c},arrayMin:function(t){for(var i=t.length,c=t[0];i--;)t[i]<c&&(c=t[i]);return c},attr:g,clamp:function(t,i,c){return t>i?t<c?t:c:i},cleanRecursively:function T(t,i){var c={};return E(t,function(n,f){Z(t[f],!0)&&!t.nodeType&&i[f]?(n=T(t[f],i[f]),Object.keys(n).length&&(c[f]=n)):(Z(t[f])||t[f]!==i[f]||f in t&&!(f in i))&&(c[f]=t[f])}),c},clearTimeout:function(t){m(t)&&clearTimeout(t)},correctFloat:M,createElement:function(t,i,c,n,f){return t=d.createElement(t),i&&y(t,i),f&&v(t,{padding:"0",border:"none",margin:"0"}),c&&v(t,c),n&&n.appendChild(t),t},css:v,defined:m,destroyObjectProperties:function(t,i){E(t,function(c,n){c&&c!==i&&c.destroy&&c.destroy(),delete t[n]})},discardElement:function(t){t&&t.parentElement&&t.parentElement.removeChild(t)},erase:function(t,i){for(var c=t.length;c--;)if(t[c]===i){t.splice(c,1);break}},error:Y,extend:y,extendClass:function(t,i){var c=function(){};return y(c.prototype=new t,i),c},find:l,fireEvent:C,getMagnitude:S,getNestedProperty:function(t,i){for(t=t.split(".");t.length&&m(i);){var c=t.shift();if(typeof c>"u"||"__proto__"===c||!m(i=i[c])||"function"==typeof i||"number"==typeof i.nodeType||i===s)return}return i},getStyle:function w(t,i,c){var n=G.getStyle||w;if("width"===i)return i=Math.min(t.offsetWidth,t.scrollWidth),(c=t.getBoundingClientRect&&t.getBoundingClientRect().width)<i&&c>=i-1&&(i=Math.floor(c)),Math.max(0,i-(n(t,"padding-left",!0)||0)-(n(t,"padding-right",!0)||0));if("height"===i)return Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-(n(t,"padding-top",!0)||0)-(n(t,"padding-bottom",!0)||0));if(s.getComputedStyle||Y(27,!0),t=s.getComputedStyle(t,void 0)){var f=t.getPropertyValue(i);k(c,"opacity"!==i)&&(f=et(f))}return f},inArray:function(t,i,c){return Y(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),i.indexOf(t,c)},isArray:$,isClass:j,isDOMElement:z,isFunction:function(t){return"function"==typeof t},isNumber:P,isObject:Z,isString:J,keys:function(t){return Y(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(t)},merge:function(){var t,i=arguments,c={},n=function(O,_){return"object"!=typeof O&&(O={}),E(_,function(R,o){"__proto__"!==o&&"constructor"!==o&&(O[o]=!Z(R,!0)||j(R)||z(R)?_[o]:n(O[o]||{},R))}),O};!0===i[0]&&(c=i[1],i=Array.prototype.slice.call(i,2));var f=i.length;for(t=0;t<f;t++)c=n(c,i[t]);return c},normalizeTickInterval:function(t,i,c,n,f){var O=t,_=t/(c=k(c,S(t)));for(i||(i=f?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===n&&(1===c?i=i.filter(function(R){return R%1==0}):.1>=c&&(i=[1/c]))),n=0;n<i.length&&(O=i[n],!(f&&O*c>=t||!f&&_<=(i[n]+(i[n+1]||i[n]))/2));n++);return M(O*c,-Math.round(Math.log(.001)/Math.LN10))},objectEach:E,offset:function(t){var i=d.documentElement;return{top:(t=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0}).top+(s.pageYOffset||i.scrollTop)-(i.clientTop||0),left:t.left+(s.pageXOffset||i.scrollLeft)-(i.clientLeft||0),width:t.width,height:t.height}},pad:function(t,i,c){return Array((i||2)+1-String(t).replace("-","").length).join(c||"0")+t},pick:k,pInt:et,relativeLength:function(t,i,c){return/%$/.test(t)?i*parseFloat(t)/100+(c||0):parseFloat(t)},removeEvent:I,splat:function(t){return $(t)?t:[t]},stableSort:function(t,i){var n,f,c=t.length;for(f=0;f<c;f++)t[f].safeI=f;for(t.sort(function(O,_){return 0===(n=i(O,_))?O.safeI-_.safeI:n}),f=0;f<c;f++)delete t[f].safeI},syncTimeout:function(t,i,c){return 0<i?setTimeout(t,i,c):(t.call(0,c),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:h,useSerialIds:function(t){return e=k(t,e)},wrap:function(t,i,c){var n=t[i];t[i]=function(){var f=arguments,O=this;return c.apply(this,[function(){return n.apply(O,arguments.length?arguments:f)}].concat([].slice.call(arguments)))}}},l}),ct(F,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},zoomBySingleTouch:!1,zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),ct(F,"Core/Color/Color.js",[F["Core/Globals.js"],F["Core/Utilities.js"]],function(G,Y){var T=Y.isNumber,et=Y.merge,J=Y.pInt;return function(){function $(Z){this.rgba=[NaN,NaN,NaN,NaN],this.input=Z;var z=G.Color;return z&&z!==$?new z(Z):this instanceof $?void this.init(Z):new $(Z)}return $.parse=function(Z){return Z?new $(Z):$.None},$.prototype.init=function(Z){var z;if("object"==typeof Z&&typeof Z.stops<"u")this.stops=Z.stops.map(function(g){return new $(g[1])});else if("string"==typeof Z){if(this.input=Z=$.names[Z.toLowerCase()]||Z,"#"===Z.charAt(0)){var j=Z.length,P=parseInt(Z.substr(1),16);7===j?z=[(16711680&P)>>16,(65280&P)>>8,255&P,1]:4===j&&(z=[(3840&P)>>4|(3840&P)>>8,(240&P)>>4|240&P,(15&P)<<4|15&P,1])}if(!z)for(P=$.parsers.length;P--&&!z;){var m=$.parsers[P];(j=m.regex.exec(Z))&&(z=m.parse(j))}}z&&(this.rgba=z)},$.prototype.get=function(Z){var z=this.input,j=this.rgba;if("object"==typeof z&&typeof this.stops<"u"){var P=et(z);return P.stops=[].slice.call(P.stops),this.stops.forEach(function(m,g){P.stops[g]=[P.stops[g][0],m.get(Z)]}),P}return j&&T(j[0])?"rgb"===Z||!Z&&1===j[3]?"rgb("+j[0]+","+j[1]+","+j[2]+")":"a"===Z?"".concat(j[3]):"rgba("+j.join(",")+")":z},$.prototype.brighten=function(Z){var z=this.rgba;if(this.stops)this.stops.forEach(function(P){P.brighten(Z)});else if(T(Z)&&0!==Z)for(var j=0;3>j;j++)z[j]+=J(255*Z),0>z[j]&&(z[j]=0),255<z[j]&&(z[j]=255);return this},$.prototype.setOpacity=function(Z){return this.rgba[3]=Z,this},$.prototype.tweenTo=function(Z,z){var j=this.rgba,P=Z.rgba;return T(j[0])&&T(P[0])?((Z=1!==P[3]||1!==j[3])?"rgba(":"rgb(")+Math.round(P[0]+(j[0]-P[0])*(1-z))+","+Math.round(P[1]+(j[1]-P[1])*(1-z))+","+Math.round(P[2]+(j[2]-P[2])*(1-z))+(Z?","+(P[3]+(j[3]-P[3])*(1-z)):"")+")":Z.input||"none"},$.names={white:"#ffffff",black:"#000000"},$.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(Z){return[J(Z[1]),J(Z[2]),J(Z[3]),parseFloat(Z[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(Z){return[J(Z[1]),J(Z[2]),J(Z[3]),1]}}],$.None=new $(""),$}()}),ct(F,"Core/Color/Palettes.js",[],function(){return{colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" ")}}),ct(F,"Core/Time.js",[F["Core/Globals.js"],F["Core/Utilities.js"]],function(G,Y){var T=G.win,et=Y.defined,J=Y.error,$=Y.extend,Z=Y.isObject,z=Y.merge,j=Y.objectEach,P=Y.pad,m=Y.pick,g=Y.splat,y=Y.timeUnits,k=G.isSafari&&T.Intl&&T.Intl.DateTimeFormat.prototype.formatRange,v=G.isSafari&&T.Intl&&!T.Intl.DateTimeFormat.prototype.formatRange;return Y=function(){function S(M){this.options={},this.variableTimezone=this.useUTC=!1,this.Date=T.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(M)}return S.prototype.get=function(M,w){if(this.variableTimezone||this.timezoneOffset){var E=w.getTime(),I=E-this.getTimezoneOffset(w);return w.setTime(I),M=w["getUTC"+M](),w.setTime(E),M}return this.useUTC?w["getUTC"+M]():w["get"+M]()},S.prototype.set=function(M,w,E){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===M||"Seconds"===M||"Minutes"===M&&this.getTimezoneOffset(w)%36e5==0)return w["setUTC"+M](E);var I=this.getTimezoneOffset(w);return I=w.getTime()-I,w.setTime(I),w["setUTC"+M](E),M=this.getTimezoneOffset(w),I=w.getTime()+M,w.setTime(I)}return this.useUTC||k&&"FullYear"===M?w["setUTC"+M](E):w["set"+M](E)},S.prototype.update=function(M){void 0===M&&(M={});var w=m(M.useUTC,!0);this.options=M=z(!0,this.options,M),this.Date=M.Date||T.Date||Date,this.timezoneOffset=(this.useUTC=w)&&M.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=w&&!(!M.getTimezoneOffset&&!M.timezone)},S.prototype.makeTime=function(M,w,E,I,C,r){if(this.useUTC){var d=this.Date.UTC.apply(0,arguments),s=this.getTimezoneOffset(d),l=this.getTimezoneOffset(d+=s);s!==l?d+=l-s:s-36e5!==this.getTimezoneOffset(d-36e5)||v||(d-=36e5)}else d=new this.Date(M,w,m(E,1),m(I,0),m(C,0),m(r,0)).getTime();return d},S.prototype.timezoneOffsetFunction=function(){var M=this,w=this.options,E=w.getTimezoneOffset,I=w.moment||T.moment;if(!this.useUTC)return function(C){return 6e4*new Date(C.toString()).getTimezoneOffset()};if(w.timezone){if(I)return function(C){return 6e4*-I.tz(C,w.timezone).utcOffset()};J(25)}return this.useUTC&&E?function(C){return 6e4*E(C.valueOf())}:function(){return 6e4*(M.timezoneOffset||0)}},S.prototype.dateFormat=function(M,w,E){if(!et(w)||isNaN(w))return G.defaultOptions.lang&&G.defaultOptions.lang.invalidDate||"";M=m(M,"%Y-%m-%d %H:%M:%S");var I=this,C=new this.Date(w),r=this.get("Hours",C),d=this.get("Day",C),s=this.get("Date",C),l=this.get("Month",C),e=this.get("FullYear",C),h=G.defaultOptions.lang,t=h&&h.weekdays,i=h&&h.shortWeekdays;return C=$({a:i?i[d]:t[d].substr(0,3),A:t[d],d:P(s),e:P(s,2," "),w:d,b:h.shortMonths[l],B:h.months[l],m:P(l+1),o:l+1,y:e.toString().substr(2,2),Y:e,H:P(r),k:r,I:P(r%12||12),l:r%12||12,M:P(this.get("Minutes",C)),p:12>r?"AM":"PM",P:12>r?"am":"pm",S:P(C.getSeconds()),L:P(Math.floor(w%1e3),3)},G.dateFormats),j(C,function(c,n){for(;-1!==M.indexOf("%"+n);)M=M.replace("%"+n,"function"==typeof c?c.call(I,w):c)}),E?M.substr(0,1).toUpperCase()+M.substr(1):M},S.prototype.resolveDTLFormat=function(M){return Z(M,!0)?M:{main:(M=g(M))[0],from:M[1],to:M[2]}},S.prototype.getTimeTicks=function(M,w,E,I){var h,C=this,r=[],d={},s=new C.Date(w),l=M.unitRange,e=M.count||1;if(I=m(I,1),et(w)){if(C.set("Milliseconds",s,l>=y.second?0:e*Math.floor(C.get("Milliseconds",s)/e)),l>=y.second&&C.set("Seconds",s,l>=y.minute?0:e*Math.floor(C.get("Seconds",s)/e)),l>=y.minute&&C.set("Minutes",s,l>=y.hour?0:e*Math.floor(C.get("Minutes",s)/e)),l>=y.hour&&C.set("Hours",s,l>=y.day?0:e*Math.floor(C.get("Hours",s)/e)),l>=y.day&&C.set("Date",s,l>=y.month?1:Math.max(1,e*Math.floor(C.get("Date",s)/e))),l>=y.month){C.set("Month",s,l>=y.year?0:e*Math.floor(C.get("Month",s)/e));var t=C.get("FullYear",s)}l>=y.year&&C.set("FullYear",s,t-t%e),l===y.week&&(t=C.get("Day",s),C.set("Date",s,C.get("Date",s)-t+I+(t<I?-7:0))),t=C.get("FullYear",s),I=C.get("Month",s);var i=C.get("Date",s),c=C.get("Hours",s);for(w=s.getTime(),!C.variableTimezone&&C.useUTC||!et(E)||(h=E-w>4*y.month||C.getTimezoneOffset(w)!==C.getTimezoneOffset(E)),w=s.getTime(),s=1;w<E;)r.push(w),w=l===y.year?C.makeTime(t+s*e,0):l===y.month?C.makeTime(t,I+s*e):!h||l!==y.day&&l!==y.week?h&&l===y.hour&&1<e?C.makeTime(t,I,i,c+s*e):w+l*e:C.makeTime(t,I,i+s*e*(l===y.day?1:7)),s++;r.push(w),l<=y.hour&&1e4>r.length&&r.forEach(function(n){n%18e5==0&&"000000000"===C.dateFormat("%H%M%S%L",n)&&(d[n]="day")})}return r.info=$(M,{higherRanks:d,totalRange:l*e}),r},S.prototype.getDateFormat=function(M,w,E,I){var C=this.dateFormat("%m-%d %H:%M:%S.%L",w),r={millisecond:15,second:12,minute:9,hour:6,day:3},d="millisecond";for(s in y){if(M===y.week&&+this.dateFormat("%w",w)===E&&"00:00:00.000"===C.substr(6)){var s="week";break}if(y[s]>M){s=d;break}if(r[s]&&C.substr(r[s])!=="01-01 00:00:00.000".substr(r[s]))break;"week"!==s&&(d=s)}return this.resolveDTLFormat(I[s]).main},S}(),Y}),ct(F,"Core/Defaults.js",[F["Core/Chart/ChartDefaults.js"],F["Core/Color/Color.js"],F["Core/Globals.js"],F["Core/Color/Palettes.js"],F["Core/Time.js"],F["Core/Utilities.js"]],function(G,Y,T,et,J,$){Y=Y.parse;var Z=$.merge,z={colors:et.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:G,title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:T.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:T.isTouchDevice?25:10,headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:Y("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"12px",whiteSpace:"nowrap"},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:"9px"},text:"Highcharts.com"}};z.chart.styledMode=!1;var j=new J(Z(z.global,z.time));return{defaultOptions:z,defaultTime:j,getOptions:function(){return z},setOptions:function(P){return Z(!0,z,P),(P.time||P.global)&&(T.time?T.time.update(Z(z.global,z.time,P.global,P.time)):T.time=j),z}}}),ct(F,"Core/Animation/Fx.js",[F["Core/Color/Color.js"],F["Core/Globals.js"],F["Core/Utilities.js"]],function(G,Y,T){var et=G.parse,J=Y.win,$=T.isNumber,Z=T.objectEach;return function(){function z(j,P,m){this.pos=NaN,this.options=P,this.elem=j,this.prop=m}return z.prototype.dSetter=function(){var j=this.paths,P=j&&j[0];j=j&&j[1];var m=this.now||0,g=[];if(1!==m&&P&&j)if(P.length===j.length&&1>m)for(var y=0;y<j.length;y++){for(var k=P[y],v=j[y],S=[],M=0;M<v.length;M++){var w=k[M],E=v[M];S[M]=$(w)&&$(E)&&("A"!==v[0]||4!==M&&5!==M)?w+m*(E-w):E}g.push(S)}else g=j;else g=this.toD||[];this.elem.attr("d",g,void 0,!0)},z.prototype.update=function(){var j=this.elem,P=this.prop,m=this.now,g=this.options.step;this[P+"Setter"]?this[P+"Setter"]():j.attr?j.element&&j.attr(P,m,null,!0):j.style[P]=m+this.unit,g&&g.call(j,m,this)},z.prototype.run=function(j,P,m){var g=this,y=g.options,k=function(M){return!k.stopped&&g.step(M)},v=J.requestAnimationFrame||function(M){setTimeout(M,13)},S=function(){for(var M=0;M<z.timers.length;M++)z.timers[M]()||z.timers.splice(M--,1);z.timers.length&&v(S)};j!==P||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=j,this.end=P,this.unit=m,this.now=this.start,this.pos=0,k.elem=this.elem,k.prop=this.prop,k()&&1===z.timers.push(k)&&v(S)):(delete y.curAnim[this.prop],y.complete&&0===Object.keys(y.curAnim).length&&y.complete.call(this.elem))},z.prototype.step=function(j){var P=+new Date,m=this.options,g=this.elem,y=m.complete,k=m.duration,v=m.curAnim;if(g.attr&&!g.element)j=!1;else if(j||P>=k+this.startTime){this.now=this.end,this.pos=1,this.update();var S=v[this.prop]=!0;Z(v,function(M){!0!==M&&(S=!1)}),S&&y&&y.call(g),j=!1}else this.pos=m.easing((P-this.startTime)/k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),j=!0;return j},z.prototype.initPath=function(j,P,m){function g(C,r){for(;C.length<I;){var d=C[0],s=r[I-C.length];s&&"M"===d[0]&&(C[0]="C"===s[0]?["C",d[1],d[2],d[1],d[2],d[1],d[2]]:["L",d[1],d[2]]),C.unshift(d),S&&(d=C.pop(),C.push(C[C.length-1],d))}}function y(C,r){for(;C.length<I;)if("C"===(r=C[Math.floor(C.length/M)-1].slice())[0]&&(r[1]=r[5],r[2]=r[6]),S){var d=C[Math.floor(C.length/M)].slice();C.splice(C.length/2,0,r,d)}else C.push(r)}var k=j.startX,v=j.endX;m=m.slice();var S=j.isArea,M=S?2:1;if(!(P=P&&P.slice()))return[m,m];if(k&&v&&v.length){for(j=0;j<k.length;j++){if(k[j]===v[0]){var w=j;break}if(k[0]===v[v.length-k.length+j]){w=j;var E=!0;break}if(k[k.length-1]===v[v.length-k.length+j]){w=k.length-j;break}}typeof w>"u"&&(P=[])}if(P.length&&$(w)){var I=m.length+w*M;E?(g(P,m),y(m,P)):(g(m,P),y(P,m))}return[P,m]},z.prototype.fillSetter=function(){z.prototype.strokeSetter.apply(this,arguments)},z.prototype.strokeSetter=function(){this.elem.attr(this.prop,et(this.start).tweenTo(et(this.end),this.pos),void 0,!0)},z.timers=[],z}()}),ct(F,"Core/Animation/AnimationUtilities.js",[F["Core/Animation/Fx.js"],F["Core/Utilities.js"]],function(G,Y){function T(y){return j(y)?P({duration:500,defer:0},y):{duration:y?500:0,defer:0}}function et(y,k){for(var v=G.timers.length;v--;)G.timers[v].elem!==y||k&&k!==G.timers[v].prop||(G.timers[v].stopped=!0)}var J=Y.defined,$=Y.getStyle,Z=Y.isArray,z=Y.isNumber,j=Y.isObject,P=Y.merge,m=Y.objectEach,g=Y.pick;return{animate:function(y,k,v){var S,w,E,M="";if(!j(v)){var I=arguments;v={duration:I[2],easing:I[3],complete:I[4]}}z(v.duration)||(v.duration=400),v.easing="function"==typeof v.easing?v.easing:Math[v.easing]||Math.easeInOutSine,v.curAnim=P(k),m(k,function(C,r){et(y,r),E=new G(y,v,r),w=void 0,"d"===r&&Z(k.d)?(E.paths=E.initPath(y,y.pathArray,k.d),E.toD=k.d,S=0,w=1):y.attr?S=y.attr(r):(S=parseFloat($(y,r))||0,"opacity"!==r&&(M="px")),w||(w=C),"string"==typeof w&&w.match("px")&&(w=w.replace(/px/g,"")),E.run(S,w,M)})},animObject:T,getDeferredAnimation:function(y,k,v){var S=T(k),M=0,w=0;return(v?[v]:y.series).forEach(function(E){E=T(E.options.animation),M=k&&J(k.defer)?S.defer:Math.max(M,E.duration+E.defer),w=Math.min(S.duration,E.duration)}),y.renderer.forExport&&(M=0),{defer:Math.max(0,M-w),duration:Math.min(M,w)}},setAnimation:function(y,k){k.renderer.globalAnimation=g(y,k.options.chart.animation,!0)},stop:et}}),ct(F,"Core/Renderer/HTML/AST.js",[F["Core/Globals.js"],F["Core/Utilities.js"]],function(G,Y){var T=G.SVG_NS,et=Y.attr,J=Y.createElement,$=Y.css,Z=Y.error,z=Y.isFunction,j=Y.isString,P=Y.objectEach,m=Y.splat,g=(Y=G.win.trustedTypes)&&z(Y.createPolicy)&&Y.createPolicy("highcharts",{createHTML:function(v){return v}}),y=g?g.createHTML(""):"";try{var k=!!(new DOMParser).parseFromString(y,"text/html")}catch{k=!1}return function(){function v(S){this.nodes="string"==typeof S?this.parseMarkup(S):S}return v.filterUserAttributes=function(S){return P(S,function(M,w){var E=!0;-1===v.allowedAttributes.indexOf(w)&&(E=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(w)&&(E=j(M)&&v.allowedReferences.some(function(I){return 0===M.indexOf(I)})),E||(Z(33,!1,void 0,{"Invalid attribute in config":"".concat(w)}),delete S[w]),j(M)&&S[w]&&(S[w]=M.replace(/</g,"<"))}),S},v.parseStyle=function(S){return S.split(";").reduce(function(M,w){var E=(w=w.split(":").map(function(I){return I.trim()})).shift();return E&&w.length&&(M[E.replace(/-([a-z])/g,function(I){return I[1].toUpperCase()})]=w.join(":")),M},{})},v.setElementHTML=function(S,M){S.innerHTML=v.emptyHTML,M&&new v(M).addToDOM(S)},v.prototype.addToDOM=function(S){return function M(w,E){var I;return m(w).forEach(function(C){var r=C.tagName,d=C.textContent?G.doc.createTextNode(C.textContent):void 0,s=v.bypassHTMLFiltering;if(r)if("#text"===r)var l=d;else if(-1!==v.allowedTags.indexOf(r)||s){r=G.doc.createElementNS("svg"===r?T:E.namespaceURI||T,r);var e=C.attributes||{};P(C,function(h,t){"tagName"!==t&&"attributes"!==t&&"children"!==t&&"style"!==t&&"textContent"!==t&&(e[t]=h)}),et(r,s?e:v.filterUserAttributes(e)),C.style&&$(r,C.style),d&&r.appendChild(d),M(C.children||[],r),l=r}else Z(33,!1,void 0,{"Invalid tagName in config":r});l&&E.appendChild(l),I=l}),I}(this.nodes,S)},v.prototype.parseMarkup=function(S){var M=[];if(S=S.trim().replace(/ style=(["'])/g," data-style=$1"),k)S=(new DOMParser).parseFromString(g?g.createHTML(S):S,"text/html");else{var w=J("div");w.innerHTML=S,S={body:w}}var E=function(I,C){var r=I.nodeName.toLowerCase(),d={tagName:r};if("#text"===r&&(d.textContent=I.textContent||""),r=I.attributes){var s={};[].forEach.call(r,function(e){"data-style"===e.name?d.style=v.parseStyle(e.value):s[e.name]=e.value}),d.attributes=s}if(I.childNodes.length){var l=[];[].forEach.call(I.childNodes,function(e){E(e,l)}),l.length&&(d.children=l)}C.push(d)};return[].forEach.call(S.body.childNodes,function(I){return E(I,M)}),M},v.allowedAttributes="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 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(" "),v.allowedReferences="https:// http:// mailto: / ../ ./ #".split(" "),v.allowedTags="a abbr b br button caption circle clipPath code dd defs div dl dt em feComponentTransfer 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(" "),v.emptyHTML=y,v.bypassHTMLFiltering=!1,v}()}),ct(F,"Core/FormatUtilities.js",[F["Core/Defaults.js"],F["Core/Utilities.js"]],function(G,Y){function T(P,m,g,y){m=+m;var k=et.lang,v=((P=+P||0).toString().split(".")[1]||"").split("e")[0].length,S=P.toString().split("e"),M=m;if(-1===m)m=Math.min(v,20);else if(Z(m)){if(m&&S[1]&&0>S[1]){var w=m+ +S[1];0<=w?(S[0]=(+S[0]).toExponential(w).split("e")[0],m=w):(S[0]=S[0].split(".")[0]||0,P=20>m?(S[0]*Math.pow(10,S[1])).toFixed(m):0,S[1]=0)}}else m=2;w=(Math.abs(S[1]?S[0]:P)+Math.pow(10,-Math.max(m,v)-1)).toFixed(m);var E=3<(v=String(j(w))).length?v.length%3:0;return g=z(g,k.decimalPoint),y=z(y,k.thousandsSep),P=(0>P?"-":"")+(E?v.substr(0,E)+y:""),P=0>+S[1]&&!M?"0":P+v.substr(E).replace(/(\d{3})(?=\d)/g,"$1"+y),m&&(P+=g+w.slice(-m)),S[1]&&0!=+P&&(P+="e"+S[1]),P}var et=G.defaultOptions,J=G.defaultTime,$=Y.getNestedProperty,Z=Y.isNumber,z=Y.pick,j=Y.pInt;return{dateFormat:function(P,m,g){return J.dateFormat(P,m,g)},format:function(P,m,g){var y="{",k=!1,v=/f$/,S=/\.([0-9])/,M=et.lang,w=g&&g.time||J;g=g&&g.numberFormatter||T;for(var E=[];P;){var I=P.indexOf(y);if(-1===I)break;var C=P.slice(0,I);if(k){if(C=C.split(":"),y=$(C.shift()||"",m),C.length&&"number"==typeof y)if(C=C.join(":"),v.test(C)){var r=parseInt((C.match(S)||["","-1"])[1],10);null!==y&&(y=g(y,r,M.decimalPoint,-1<C.indexOf(",")?M.thousandsSep:""))}else y=w.dateFormat(C,y);E.push(y)}else E.push(C);P=P.slice(I+1),y=(k=!k)?"}":"{"}return E.push(P),E.join("")},numberFormat:T}}),ct(F,"Core/Renderer/RendererUtilities.js",[F["Core/Utilities.js"]],function(G){var J,Y=G.clamp,T=G.pick,et=G.stableSort;return(J||(J={})).distribute=function Z(z,j,P){var v,m=z,g=m.reducedLen||j,y=function(E,I){return(I.rank||0)-(E.rank||0)},k=function(E,I){return E.target-I.target},S=!0,M=[],w=0;for(v=z.length;v--;)w+=z[v].size;if(w>g){for(et(z,y),w=v=0;w<=g;)w+=z[v].size,v++;M=z.splice(v-1,z.length)}for(et(z,k),z=z.map(function(E){return{size:E.size,targets:[E.target],align:T(E.align,.5)}});S;){for(v=z.length;v--;)g=z[v],y=(Math.min.apply(0,g.targets)+Math.max.apply(0,g.targets))/2,g.pos=Y(y-g.size*g.align,0,j-g.size);for(v=z.length,S=!1;v--;)0<v&&z[v-1].pos+z[v-1].size>z[v].pos&&(z[v-1].size+=z[v].size,z[v-1].targets=z[v-1].targets.concat(z[v].targets),z[v-1].align=.5,z[v-1].pos+z[v-1].size>j&&(z[v-1].pos=j-z[v-1].size),z.splice(v,1),S=!0)}return m.push.apply(m,M),v=0,z.some(function(E){var I=0;return(E.targets||[]).some(function(){return m[v].pos=E.pos+I,typeof P<"u"&&Math.abs(m[v].pos-m[v].target)>P?(m.slice(0,v+1).forEach(function(C){return delete C.pos}),m.reducedLen=(m.reducedLen||j)-.1*j,m.reducedLen>.1*j&&Z(m,j,P),!0):(I+=m[v].size,v++,!1)})}),et(m,k),m},J}),ct(F,"Core/Renderer/SVG/SVGElement.js",[F["Core/Animation/AnimationUtilities.js"],F["Core/Color/Color.js"],F["Core/Globals.js"],F["Core/Utilities.js"]],function(G,Y,T,et){var J=G.animate,$=G.animObject,Z=G.stop,z=T.deg2rad,j=T.doc,P=T.svg,m=T.SVG_NS,g=T.win,y=et.addEvent,k=et.attr,v=et.createElement,S=et.css,M=et.defined,w=et.erase,E=et.extend,I=et.fireEvent,C=et.isArray,r=et.isFunction,d=et.isString,s=et.merge,l=et.objectEach,e=et.pick,h=et.pInt,t=et.syncTimeout,i=et.uniqueKey;return G=function(){function c(){this.element=void 0,this.onEvents={},this.opacity=1,this.renderer=void 0,this.SVG_NS=m,this.symbolCustomAttribs="x y width height r start end innerR anchorX anchorY rounded".split(" ")}return c.prototype._defaultGetter=function(n){return n=e(this[n+"Value"],this[n],this.element?this.element.getAttribute(n):null,0),/^[\-0-9\.]+$/.test(n)&&(n=parseFloat(n)),n},c.prototype._defaultSetter=function(n,f,O){O.setAttribute(f,n)},c.prototype.add=function(n){var f=this.renderer,O=this.element;if(n&&(this.parentGroup=n),typeof this.textStr<"u"&&"text"===this.element.nodeName&&f.buildText(this),this.added=!0,!n||n.handleZ||this.zIndex)var _=this.zIndexSetter();return _||(n?n.element:f.box).appendChild(O),this.onAdd&&this.onAdd(),this},c.prototype.addClass=function(n,f){var O=f?"":this.attr("class")||"";return(n=(n||"").split(/ /g).reduce(function(_,R){return-1===O.indexOf(R)&&_.push(R),_},O?[O]:[]).join(" "))!==O&&this.attr("class",n),this},c.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},c.prototype.align=function(n,f,O){var p,A,D,_={},R=this.renderer,o=R.alignedObjects;n?(this.alignOptions=n,this.alignByTranslate=f,(!O||d(O))&&(this.alignTo=p=O||"renderer",w(o,this),o.push(this),O=void 0)):(n=this.alignOptions,f=this.alignByTranslate,p=this.alignTo),O=e(O,R[p],"scrollablePlotBox"===p?R.plotBox:void 0,R);var L=n.verticalAlign;return R=(O.x||0)+(n.x||0),o=(O.y||0)+(n.y||0),"right"===(p=n.align)?A=1:"center"===p&&(A=2),A&&(R+=(O.width-(n.width||0))/A),_[f?"translateX":"x"]=Math.round(R),"bottom"===L?D=1:"middle"===L&&(D=2),D&&(o+=(O.height-(n.height||0))/D),_[f?"translateY":"y"]=Math.round(o),this[this.placed?"animate":"attr"](_),this.placed=!0,this.alignAttr=_,this},c.prototype.alignSetter=function(n){var f={left:"start",center:"middle",right:"end"};f[n]&&(this.alignValue=n,this.element.setAttribute("text-anchor",f[n]))},c.prototype.animate=function(n,f,O){var _=this,R=$(e(f,this.renderer.globalAnimation,!0));return f=R.defer,e(j.hidden,j.msHidden,j.webkitHidden,!1)&&(R.duration=0),0!==R.duration?(O&&(R.complete=O),t(function(){_.element&&J(_,n,R)},f)):(this.attr(n,void 0,O||R.complete),l(n,function(o,p){R.step&&R.step.call(this,o,{prop:p,pos:1,elem:this})},this)),this},c.prototype.applyTextOutline=function(n){var f=this.element;-1!==n.indexOf("contrast")&&(n=n.replace(/contrast/g,this.renderer.getContrast(f.style.fill)));var O=n.split(" ");if(n=O[O.length-1],(O=O[0])&&"none"!==O&&T.svg){this.fakeTS=!0,O=O.replace(/(^[\d\.]+)(.*?)$/g,function(o,p,A){return 2*Number(p)+A}),this.removeTextOutline();var _=j.createElementNS(m,"tspan");k(_,{class:"highcharts-text-outline",fill:n,stroke:n,"stroke-width":O,"stroke-linejoin":"round"}),n=f.querySelector("textPath")||f,[].forEach.call(n.childNodes,function(o){var p=o.cloneNode(!0);p.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(function(A){return p.removeAttribute(A)}),_.appendChild(p)});var R=0;[].forEach.call(n.querySelectorAll("text tspan"),function(o){R+=Number(o.getAttribute("dy"))}),(O=j.createElementNS(m,"tspan")).textContent="\u200b",k(O,{x:Number(f.getAttribute("x")),dy:-R}),_.appendChild(O),n.insertBefore(_,n.firstChild)}},c.prototype.attr=function(n,f,O,_){var p,D,L,R=this.element,o=this.symbolCustomAttribs,A=this;if("string"==typeof n&&typeof f<"u"){var a=n;(n={})[a]=f}return"string"==typeof n?A=(this[n+"Getter"]||this._defaultGetter).call(this,n,R):(l(n,function(x,u){D=!1,_||Z(this,u),this.symbolName&&-1!==o.indexOf(u)&&(p||(this.symbolAttr(n),p=!0),D=!0),!this.rotation||"x"!==u&&"y"!==u||(this.doTransform=!0),D||((L=this[u+"Setter"]||this._defaultSetter).call(this,x,u,R),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(u)&&this.updateShadows(u,x,L))},this),this.afterSetters()),O&&O.call(this),A},c.prototype.clip=function(n){return this.attr("clip-path",n?"url("+this.renderer.url+"#"+n.id+")":"none")},c.prototype.crisp=function(n,f){f=f||n.strokeWidth||0;var O=Math.round(f)%2/2;return n.x=Math.floor(n.x||this.x||0)+O,n.y=Math.floor(n.y||this.y||0)+O,n.width=Math.floor((n.width||this.width||0)-2*O),n.height=Math.floor((n.height||this.height||0)-2*O),M(n.strokeWidth)&&(n.strokeWidth=f),n},c.prototype.complexColor=function(n,f,O){var R,o,p,A,D,L,a,x,u,B,N,_=this.renderer,b=[];I(this.renderer,"complexColor",{args:arguments},function(){if(n.radialGradient?o="radialGradient":n.linearGradient&&(o="linearGradient"),o){if(D=_.gradients,L=n.stops,u=O.radialReference,C(p=n[o])&&(n[o]=p={x1:p[0],y1:p[1],x2:p[2],y2:p[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===o&&u&&!M(p.gradientUnits)&&(p=s(p,_.getRadialAttr(u,A=p),{gradientUnits:"userSpaceOnUse"})),l(p,function(U,V){"id"!==V&&b.push(V,U)}),l(L,function(U){b.push(U)}),b=b.join(","),D[b])B=D[b].attr("id");else{p.id=B=i();var X=D[b]=_.createElement(o).attr(p).add(_.defs);X.radAttr=A,X.stops=[],L.forEach(function(U){0===U[1].indexOf("rgba")?(R=Y.parse(U[1]),a=R.get("rgb"),x=R.get("a")):(a=U[1],x=1),U=_.createElement("stop").attr({offset:U[0],"stop-color":a,"stop-opacity":x}).add(X),X.stops.push(U)})}O.setAttribute(f,N="url("+_.url+"#"+B+")"),O.gradient=b,n.toString=function(){return N}}})},c.prototype.css=function(n){var f=this.styles,O={},_=this.element,R=!f;if(n.color&&(n.fill=n.color),f&&l(n,function(A,D){f&&f[D]!==A&&(O[D]=A,R=!0)}),R){if(f&&(n=E(f,O)),null===n.width||"auto"===n.width)delete this.textWidth;else if("text"===_.nodeName.toLowerCase()&&n.width)var o=this.textWidth=h(n.width);this.styles=n,o&&!P&&this.renderer.forExport&&delete n.width;var p=s(n);_.namespaceURI===this.SVG_NS&&["textOutline","textOverflow","width"].forEach(function(A){return p&&delete p[A]}),S(_,p),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),n.textOutline&&this.applyTextOutline(n.textOutline))}return this},c.prototype.dashstyleSetter=function(n){var f=this["stroke-width"];if("inherit"===f&&(f=1),n=n&&n.toLowerCase()){var O=n.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(n=O.length;n--;)O[n]=""+h(O[n])*e(f,NaN);n=O.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",n)}},c.prototype.destroy=function(){var n=this,f=n.element||{},O=n.renderer,_=f.ownerSVGElement,R=O.isSVG&&"SPAN"===f.nodeName&&n.parentGroup||void 0;if(f.onclick=f.onmouseout=f.onmouseover=f.onmousemove=f.point=null,Z(n),n.clipPath&&_){var o=n.clipPath;[].forEach.call(_.querySelectorAll("[clip-path],[CLIP-PATH]"),function(p){-1<p.getAttribute("clip-path").indexOf(o.element.id)&&p.removeAttribute("clip-path")}),n.clipPath=o.destroy()}if(n.stops){for(_=0;_<n.stops.length;_++)n.stops[_].destroy();n.stops.length=0,n.stops=void 0}for(n.safeRemoveChild(f),O.styledMode||n.destroyShadows();R&&R.div&&0===R.div.childNodes.length;)f=R.parentGroup,n.safeRemoveChild(R.div),delete R.div,R=f;n.alignTo&&w(O.alignedObjects,n),l(n,function(p,A){n[A]&&n[A].parentGroup===n&&n[A].destroy&&n[A].destroy(),delete n[A]})},c.prototype.destroyShadows=function(){(this.shadows||[]).forEach(function(n){this.safeRemoveChild(n)},this),this.shadows=void 0},c.prototype.dSetter=function(n,f,O){C(n)&&("string"==typeof n[0]&&(n=this.renderer.pathToSegments(n)),this.pathArray=n,n=n.reduce(function(_,R,o){return R&&R.join?(o?_+" ":"")+R.join(" "):(R||"").toString()},"")),/(NaN| {2}|^$)/.test(n)&&(n="M 0 0"),this[f]!==n&&(O.setAttribute(f,n),this[f]=n)},c.prototype.fadeOut=function(n){var f=this;f.animate({opacity:0},{duration:e(n,150),complete:function(){f.hide()}})},c.prototype.fillSetter=function(n,f,O){"string"==typeof n?O.setAttribute(f,n):n&&this.complexColor(n,f,O)},c.prototype.getBBox=function(n,f){var O=this.alignValue,_=this.element,R=this.renderer,o=this.styles,p=this.textStr,A=R.cache,D=R.cacheKeys,L=_.namespaceURI===this.SVG_NS;f=e(f,this.rotation,0);var x,a=R.styledMode?_&&c.prototype.getStyle.call(_,"font-size"):o&&o.fontSize;if(M(p)){var u=p.toString();-1===u.indexOf("<")&&(u=u.replace(/[0-9]/g,"0")),u+=["",f,a,this.textWidth,O,o&&o.textOverflow,o&&o.fontWeight].join()}if(u&&!n&&(x=A[u]),!x){if(L||R.forExport){try{var B=this.fakeTS&&function(N){var X=_.querySelector(".highcharts-text-outline");X&&S(X,{display:N})};r(B)&&B("none"),x=_.getBBox?E({},_.getBBox()):{width:_.offsetWidth,height:_.offsetHeight,x:0,y:0},r(B)&&B("")}catch{}(!x||0>x.width)&&(x={x:0,y:0,width:0,height:0})}else x=this.htmlGetBBox();if(R.isSVG&&(R=x.width,n=x.height,L&&(x.height=n={"11px,17":14,"13px,20":16}[""+(a||"")+",".concat(Math.round(n))]||n),f)){L=Number(_.getAttribute("y")||0)-x.y,O={right:1,center:.5}[O||0]||0,o=f*z,a=(f-90)*z;var b=R*Math.cos(o);f=R*Math.sin(o),B=Math.cos(a),o=Math.sin(a),b=(B=(a=(R=x.x+O*(R-b)+L*B)+b)-n*B)-b,f=(n=(O=(L=x.y+L-O*f+L*o)+f)-n*o)-f,x.x=Math.min(R,a,B,b),x.y=Math.min(L,O,n,f),x.width=Math.max(R,a,B,b)-x.x,x.height=Math.max(L,O,n,f)-x.y}if(u&&(""===p||0<x.height)){for(;250<D.length;)delete A[D.shift()];A[u]||D.push(u),A[u]=x}}return x},c.prototype.getStyle=function(n){return g.getComputedStyle(this.element||this,"").getPropertyValue(n)},c.prototype.hasClass=function(n){return-1!==(""+this.attr("class")).split(" ").indexOf(n)},c.prototype.hide=function(){return this.attr({visibility:"hidden"})},c.prototype.htmlGetBBox=function(){return{height:0,width:0,x:0,y:0}},c.prototype.init=function(n,f){this.element="span"===f?v(f):j.createElementNS(this.SVG_NS,f),this.renderer=n,I(this,"afterInit")},c.prototype.on=function(n,f){var O=this.onEvents;return O[n]&&O[n](),O[n]=y(this.element,n,f),this},c.prototype.opacitySetter=function(n,f,O){this.opacity=n=Number(Number(n).toFixed(3)),O.setAttribute(f,n)},c.prototype.removeClass=function(n){return this.attr("class",(""+this.attr("class")).replace(d(n)?new RegExp("(^| )".concat(n,"( |$)")):n," ").replace(/ +/g," ").trim())},c.prototype.removeTextOutline=function(){var n=this.element.querySelector("tspan.highcharts-text-outline");n&&this.safeRemoveChild(n)},c.prototype.safeRemoveChild=function(n){var f=n.parentNode;f&&f.removeChild(n)},c.prototype.setRadialReference=function(n){var f=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=n,f&&f.radAttr&&f.animate(this.renderer.getRadialAttr(n,f.radAttr)),this},c.prototype.setTextPath=function(n,f){var O=this;f=s(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},f);var _=this.renderer.url,R=this.text||this,o=R.textPath,p=f.attributes,A=f.enabled;return n=n||o&&o.path,o&&o.undo(),n&&A?(f=y(R,"afterModifyTree",function(D){if(n&&A){var L=n.attr("id");L||n.attr("id",L=i());var a={x:0,y:0};M(p.dx)&&(a.dx=p.dx,delete p.dx),M(p.dy)&&(a.dy=p.dy,delete p.dy),R.attr(a),O.attr({transform:""}),O.box&&(O.box=O.box.destroy()),a=D.nodes.slice(0),D.nodes.length=0,D.nodes[0]={tagName:"textPath",attributes:E(p,{"text-anchor":p.textAnchor,href:""+_+"#".concat(L)}),children:a}}}),R.textPath={path:n,undo:f}):(R.attr({dx:0,dy:0}),delete R.textPath),this.added&&(R.textCache="",this.renderer.buildText(R)),this},c.prototype.shadow=function(n,f,O){var _=[],R=this.element,o=this.oldShadowOptions,p=this.parentGroup,A=p&&90===p.rotation;p={color:"#000000",offsetX:A?-1:1,offsetY:A?-1:1,opacity:.15,width:3};var L,D=!1;if(!0===n?L=p:"object"==typeof n&&(L=E(p,n)),L&&(L&&o&&l(L,function(B,b){B!==o[b]&&(D=!0)}),D&&this.destroyShadows(),this.oldShadowOptions=L),L){if(!this.shadows){p=L.opacity/L.width;var a=A?"translate(".concat(L.offsetY,", ").concat(L.offsetX,")"):"translate(".concat(L.offsetX,", ").concat(L.offsetY,")");for(A=1;A<=L.width;A++){var x=R.cloneNode(!1),u=2*L.width+1-2*A;k(x,{stroke:n.color||"#000000","stroke-opacity":p*A,"stroke-width":u,transform:a,fill:"none"}),x.setAttribute("class",(x.getAttribute("class")||"")+" highcharts-shadow"),O&&(k(x,"height",Math.max(k(x,"height")-u,0)),x.cutHeight=u),f?f.element.appendChild(x):R.parentNode&&R.parentNode.insertBefore(x,R),_.push(x)}this.shadows=_}}else this.destroyShadows();return this},c.prototype.show=function(n){return void 0===n&&(n=!0),this.attr({visibility:n?"inherit":"visible"})},c.prototype["stroke-widthSetter"]=function(n,f,O){this[f]=n,O.setAttribute(f,n)},c.prototype.strokeWidth=function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var n=this.getStyle("stroke-width"),f=0;if(n.indexOf("px")===n.length-2)f=h(n);else if(""!==n){var O=j.createElementNS(m,"rect");k(O,{width:n,"stroke-width":0}),this.element.parentNode.appendChild(O),f=O.getBBox().width,O.parentNode.removeChild(O)}return f},c.prototype.symbolAttr=function(n){var f=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(O){f[O]=e(n[O],f[O])}),f.attr({d:f.renderer.symbols[f.symbolName](f.x,f.y,f.width,f.height,f)})},c.prototype.textSetter=function(n){n!==this.textStr&&(delete this.textPxLength,this.textStr=n,this.added&&this.renderer.buildText(this))},c.prototype.titleSetter=function(n){var f=this.element,O=f.getElementsByTagName("title")[0]||j.createElementNS(this.SVG_NS,"title");f.insertBefore?f.insertBefore(O,f.firstChild):f.appendChild(O),O.textContent=String(e(n,"")).replace(/<[^>]*>/g,"").replace(/</g,"<").replace(/>/g,">")},c.prototype.toFront=function(){var n=this.element;return n.parentNode.appendChild(n),this},c.prototype.translate=function(n,f){return this.attr({translateX:n,translateY:f})},c.prototype.updateShadows=function(n,f,O){var _=this.shadows;if(_)for(var R=_.length;R--;)O.call(_[R],"height"===n?Math.max(f-(_[R].cutHeight||0),0):"d"===n?this.d:f,n,_[R])},c.prototype.updateTransform=function(){var n=this.element,f=this.matrix,O=this.rotation;O=void 0===O?0:O;var _=this.scaleX,R=this.scaleY,o=this.translateX,p=this.translateY;o=["translate("+(void 0===o?0:o)+","+(void 0===p?0:p)+")"],M(f)&&o.push("matrix("+f.join(",")+")"),O&&o.push("rotate("+O+" "+e(this.rotationOriginX,n.getAttribute("x"),0)+" "+e(this.rotationOriginY,n.getAttribute("y")||0)+")"),(M(_)||M(R))&&o.push("scale("+e(_,1)+" "+e(R,1)+")"),o.length&&!(this.text||this).textPath&&n.setAttribute("transform",o.join(" "))},c.prototype.visibilitySetter=function(n,f,O){"inherit"===n?O.removeAttribute(f):this[f]!==n&&O.setAttribute(f,n),this[f]=n},c.prototype.xGetter=function(n){return"circle"===this.element.nodeName&&("x"===n?n="cx":"y"===n&&(n="cy")),this._defaultGetter(n)},c.prototype.zIndexSetter=function(n,f){var O=this.renderer,_=this.parentGroup,R=(_||O).element||O.box,o=this.element;O=R===O.box;var D,p=!1,A=this.added;if(M(n)?(o.setAttribute("data-z-index",n),this[f]===(n=+n)&&(A=!1)):M(this[f])&&o.removeAttribute("data-z-index"),this[f]=n,A){for((n=this.zIndex)&&_&&(_.handleZ=!0),D=(f=R.childNodes).length-1;0<=D&&!p;D--){A=(_=f[D]).getAttribute("data-z-index");var L=!M(A);_!==o&&(0>n&&L&&!O&&!D?(R.insertBefore(o,f[D]),p=!0):(h(A)<=n||L&&(!M(n)||0<=n))&&(R.insertBefore(o,f[D+1]||null),p=!0))}p||(R.insertBefore(o,f[O?3:0]||null),p=!0)}return p},c}(),G.prototype.strokeSetter=G.prototype.fillSetter,G.prototype.yGetter=G.prototype.xGetter,G.prototype.matrixSetter=G.prototype.rotationOriginXSetter=G.prototype.rotationOriginYSetter=G.prototype.rotationSetter=G.prototype.scaleXSetter=G.prototype.scaleYSetter=G.prototype.translateXSetter=G.prototype.translateYSetter=G.prototype.verticalAlignSetter=function(c,n){this[n]=c,this.doTransform=!0},G}),ct(F,"Core/Renderer/RendererRegistry.js",[F["Core/Globals.js"]],function(G){var Y,T,et;return(T=Y||(Y={})).rendererTypes={},T.getRendererType=function(J){return void 0===J&&(J=et),T.rendererTypes[J]||T.rendererTypes[et]},T.registerRendererType=function(J,$,Z){T.rendererTypes[J]=$,(!et||Z)&&(et=J,G.Renderer=$)},Y}),ct(F,"Core/Renderer/SVG/SVGLabel.js",[F["Core/Renderer/SVG/SVGElement.js"],F["Core/Utilities.js"]],function(G,Y){var P,T=this&&this.__extends||(P=function(m,g){return(P=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,k){y.__proto__=k}||function(y,k){for(var v in k)k.hasOwnProperty(v)&&(y[v]=k[v])})(m,g)},function(m,g){function y(){this.constructor=m}P(m,g),m.prototype=null===g?Object.create(g):(y.prototype=g.prototype,new y)}),et=Y.defined,J=Y.extend,$=Y.isNumber,Z=Y.merge,z=Y.pick,j=Y.removeEvent;return function(P){function m(g,y,k,v,S,M,w,E,I,C){var d,r=P.call(this)||this;return r.paddingLeftSetter=r.paddingSetter,r.paddingRightSetter=r.paddingSetter,r.init(g,"g"),r.textStr=y,r.x=k,r.y=v,r.anchorX=M,r.anchorY=w,r.baseline=I,r.className=C,r.addClass("button"===C?"highcharts-no-tooltip":"highcharts-label"),C&&r.addClass("highcharts-"+C),r.text=g.text(void 0,0,0,E).attr({zIndex:1}),"string"==typeof S&&((d=/^url\((.*?)\)$/.test(S))||r.renderer.symbols[S])&&(r.symbolKey=S),r.bBox=m.emptyBBox,r.padding=3,r.baselineOffset=0,r.needsBox=g.styledMode||d,r.deferredAttr={},r.alignFactor=0,r}return T(m,P),m.prototype.alignSetter=function(g){(g={left:0,center:.5,right:1}[g])!==this.alignFactor&&(this.alignFactor=g,this.bBox&&$(this.xSetting)&&this.attr({x:this.xSetting}))},m.prototype.anchorXSetter=function(g,y){this.anchorX=g,this.boxAttr(y,Math.round(g)-this.getCrispAdjust()-this.xSetting)},m.prototype.anchorYSetter=function(g,y){this.anchorY=g,this.boxAttr(y,g-this.ySetting)},m.prototype.boxAttr=function(g,y){this.box?this.box.attr(g,y):this.deferredAttr[g]=y},m.prototype.css=function(g){if(g){var y={};g=Z(g),m.textProps.forEach(function(k){typeof g[k]<"u"&&(y[k]=g[k],delete g[k])}),this.text.css(y),"fontSize"in y||"fontWeight"in y?this.updateTextPadding():("width"in y||"textOverflow"in y)&&this.updateBoxSize()}return G.prototype.css.call(this,g)},m.prototype.destroy=function(){j(this.element,"mouseenter"),j(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),G.prototype.destroy.call(this)},m.prototype.fillSetter=function(g,y){g&&(this.needsBox=!0),this.fill=g,this.boxAttr(y,g)},m.prototype.getBBox=function(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();var g=this.padding,y=z(this.paddingLeft,g);return{width:this.width,height:this.height,x:this.bBox.x-y,y:this.bBox.y-g}},m.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2},m.prototype.heightSetter=function(g){this.heightSetting=g},m.prototype.onAdd=function(){this.text.add(this),this.attr({text:z(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&et(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})},m.prototype.paddingSetter=function(g,y){$(g)?g!==this[y]&&(this[y]=g,this.updateTextPadding()):this[y]=void 0},m.prototype.rSetter=function(g,y){this.boxAttr(y,g)},m.prototype.shadow=function(g){return g&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(g)),this},m.prototype.strokeSetter=function(g,y){this.stroke=g,this.boxAttr(y,g)},m.prototype["stroke-widthSetter"]=function(g,y){g&&(this.needsBox=!0),this["stroke-width"]=g,this.boxAttr(y,g)},m.prototype["text-alignSetter"]=function(g){this.textAlign=g},m.prototype.textSetter=function(g){typeof g<"u"&&this.text.attr({text:g}),this.updateTextPadding()},m.prototype.updateBoxSize=function(){var g=this.text,y=g.element.style,k={},v=this.padding,S=this.bBox=$(this.widthSetting)&&$(this.heightSetting)&&!this.textAlign||!et(g.textStr)?m.emptyBBox:g.getBBox();this.width=this.getPaddedWidth(),this.height=(this.heightSetting||S.height||0)+2*v,y=this.renderer.fontMetrics(y&&y.fontSize,g),this.baselineOffset=v+Math.min((this.text.firstLineMetrics||y).b,S.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-y.h)/2),this.needsBox&&!g.textPath&&(this.box||((g=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect()).addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),g.add(this)),g=this.getCrispAdjust(),k.x=g,k.y=(this.baseline?-this.baselineOffset:0)+g,k.width=Math.round(this.width),k.height=Math.round(this.height),this.box.attr(J(k,this.deferredAttr)),this.deferredAttr={})},m.prototype.updateTextPadding=function(){var g=this.text;if(!g.textPath){this.updateBoxSize();var y=this.baseline?0:this.baselineOffset,k=z(this.paddingLeft,this.padding);et(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(k+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(k!==g.x||y!==g.y)&&(g.attr("x",k),g.hasBoxWidthChanged&&(this.bBox=g.getBBox(!0)),typeof y<"u"&&g.attr("y",y)),g.x=k,g.y=y}},m.prototype.widthSetter=function(g){this.widthSetting=$(g)?g:void 0},m.prototype.getPaddedWidth=function(){var g=this.padding,y=z(this.paddingLeft,g);return g=z(this.paddingRight,g),(this.widthSetting||this.bBox.width||0)+y+g},m.prototype.xSetter=function(g){this.x=g,this.alignFactor&&(g-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(g),this.attr("translateX",this.xSetting)},m.prototype.ySetter=function(g){this.ySetting=this.y=Math.round(g),this.attr("translateY",this.ySetting)},m.emptyBBox={width:0,height:0,x:0,y:0},m.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" "),m}(G)}),ct(F,"Core/Renderer/SVG/Symbols.js",[F["Core/Utilities.js"]],function(G){function Y(z,j,P,m,g){var y=[];if(g){var k=g.start||0,v=Z(g.r,P);P=Z(g.r,m||P);var S=(g.end||0)-.001;m=g.innerR;var M=Z(g.open,.001>Math.abs((g.end||0)-k-2*Math.PI)),w=Math.cos(k),E=Math.sin(k),I=Math.cos(S),C=Math.sin(S);k=Z(g.longArc,.001>S-k-Math.PI?0:1),y.push(["M",z+v*w,j+P*E],["A",v,P,0,k,Z(g.clockwise,1),z+v*I,j+P*C]),J(m)&&y.push(M?["M",z+m*I,j+m*C]:["L",z+m*I,j+m*C],["A",m,m,0,k,J(g.clockwise)?1-g.clockwise:0,z+m*w,j+m*E]),M||y.push(["Z"])}return y}function T(z,j,P,m,g){return g&&g.r?et(z,j,P,m,g):[["M",z,j],["L",z+P,j],["L",z+P,j+m],["L",z,j+m],["Z"]]}function et(z,j,P,m,g){return[["M",z+(g=g&&g.r||0),j],["L",z+P-g,j],["C",z+P,j,z+P,j,z+P,j+g],["L",z+P,j+m-g],["C",z+P,j+m,z+P,j+m,z+P-g,j+m],["L",z+g,j+m],["C",z,j+m,z,j+m,z,j+m-g],["L",z,j+g],["C",z,j,z,j,z+g,j]]}var J=G.defined,$=G.isNumber,Z=G.pick;return{arc:Y,callout:function(z,j,P,m,g){var y=Math.min(g&&g.r||0,P,m),k=y+6,v=g&&g.anchorX;g=g&&g.anchorY||0;var S=et(z,j,P,m,{r:y});return $(v)&&(z+v>=P?g>j+k&&g<j+m-k?S.splice(3,1,["L",z+P,g-6],["L",z+P+6,g],["L",z+P,g+6],["L",z+P,j+m-y]):S.splice(3,1,["L",z+P,m/2],["L",v,g],["L",z+P,m/2],["L",z+P,j+m-y]):0>=z+v?g>j+k&&g<j+m-k?S.splice(7,1,["L",z,g+6],["L",z-6,g],["L",z,g-6],["L",z,j+y]):S.splice(7,1,["L",z,m/2],["L",v,g],["L",z,m/2],["L",z,j+y]):g&&g>m&&v>z+k&&v<z+P-k?S.splice(5,1,["L",v+6,j+m],["L",v,j+m+6],["L",v-6,j+m],["L",z+y,j+m]):g&&0>g&&v>z+k&&v<z+P-k&&S.splice(1,1,["L",v-6,j],["L",v,j-6],["L",v+6,j],["L",P-y,j])),S},circle:function(z,j,P,m){return Y(z+P/2,j+m/2,P/2,m/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(z,j,P,m){return[["M",z+P/2,j],["L",z+P,j+m/2],["L",z+P/2,j+m],["L",z,j+m/2],["Z"]]},rect:T,roundedRect:et,square:T,triangle:function(z,j,P,m){return[["M",z+P/2,j],["L",z+P,j+m],["L",z,j+m],["Z"]]},"triangle-down":function(z,j,P,m){return[["M",z,j],["L",z+P,j],["L",z+P/2,j+m],["Z"]]}}}),ct(F,"Core/Renderer/SVG/TextBuilder.js",[F["Core/Renderer/HTML/AST.js"],F["Core/Globals.js"],F["Core/Utilities.js"]],function(G,Y,T){var et=Y.doc,J=Y.SVG_NS,$=Y.win,Z=T.attr,z=T.extend,j=T.fireEvent,P=T.isString,m=T.objectEach,g=T.pick;return function(){function y(k){var v=k.styles;this.renderer=k.renderer,this.svgElement=k,this.width=k.textWidth,this.textLineHeight=v&&v.lineHeight,this.textOutline=v&&v.textOutline,this.ellipsis=!(!v||"ellipsis"!==v.textOverflow),this.noWrap=!(!v||"nowrap"!==v.whiteSpace),this.fontSize=v&&v.fontSize}return y.prototype.buildSVG=function(){var k=this.svgElement,v=k.element,S=k.renderer,M=g(k.textStr,"").toString(),w=-1!==M.indexOf("<"),E=v.childNodes;S=this.width&&!k.added&&S.box;var C=[M,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,this.fontSize,this.width].join();if(C!==k.textCache){for(k.textCache=C,delete k.actualWidth,C=E.length;C--;)v.removeChild(E[C]);w||this.ellipsis||this.width||k.textPath||-1!==M.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(M))?""!==M&&(S&&S.appendChild(v),M=new G(M),this.modifyTree(M.nodes),M.addToDOM(v),this.modifyDOM(),this.ellipsis&&-1!==(v.textContent||"").indexOf("\u2026")&&k.attr("title",this.unescapeEntities(k.textStr||"",["<",">"])),S&&S.removeChild(v)):v.appendChild(et.createTextNode(this.unescapeEntities(M))),P(this.textOutline)&&k.applyTextOutline&&k.applyTextOutline(this.textOutline)}},y.prototype.modifyDOM=function(){var M,k=this,v=this.svgElement,S=Z(v.element,"x");for(v.firstLineMetrics=void 0;(M=v.element.firstChild)&&/^[\s\u200B]*$/.test(M.textContent||" ");)v.element.removeChild(M);[].forEach.call(v.element.querySelectorAll("tspan.highcharts-br"),function(C,r){C.nextSibling&&C.previousSibling&&(0===r&&1===C.previousSibling.nodeType&&(v.firstLineMetrics=v.renderer.fontMetrics(void 0,C.previousSibling)),Z(C,{dy:k.getLineHeight(C.nextSibling),x:S}))});var w=this.width||0;if(w){var I=function(C){[].slice.call(C.childNodes).forEach(function(r){r.nodeType===$.Node.TEXT_NODE?function(C,r){var d=C.textContent||"",s=d.replace(/([^\^])-/g,"$1- ").split(" "),l=!k.noWrap&&(1<s.length||1<v.element.childNodes.length),e=k.getLineHeight(r),h=0,t=v.actualWidth;if(k.ellipsis)d&&k.truncate(C,d,void 0,0,Math.max(0,w-parseInt(k.fontSize||12,10)),function(i,c){return i.substring(0,c)+"\u2026"});else if(l){for(d=[],l=[];r.firstChild&&r.firstChild!==C;)l.push(r.firstChild),r.removeChild(r.firstChild);for(;s.length;)s.length&&!k.noWrap&&0<h&&(d.push(C.textContent||""),C.textContent=s.join(" ").replace(/- /g,"-")),k.truncate(C,void 0,s,0===h&&t||0,w,function(i,c){return s.slice(0,c).join(" ").replace(/- /g,"-")}),t=v.actualWidth,h++;l.forEach(function(i){r.insertBefore(i,C)}),d.forEach(function(i){r.insertBefore(et.createTextNode(i),C),(i=et.createElementNS(J,"tspan")).textContent="\u200b",Z(i,{dy:e,x:S}),r.insertBefore(i,C)})}}(r,C):(-1!==r.className.baseVal.indexOf("highcharts-br")&&(v.actualWidth=0),I(r))})};I(v.element)}},y.prototype.getLineHeight=function(k){var v;return k=k.nodeType===$.Node.TEXT_NODE?k.parentElement:k,this.renderer.styledMode||(v=k&&/(px|em)$/.test(k.style.fontSize)?k.style.fontSize:this.fontSize||this.renderer.style.fontSize||12),this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(v,k||this.svgElement.element).h},y.prototype.modifyTree=function(k){var v=this,S=function(M,w){var E=M.attributes;E=void 0===E?{}:E;var I=M.children,C=M.style;C=void 0===C?{}:C;var r=M.tagName,d=v.renderer.styledMode;"b"===r||"strong"===r?d?E.class="highcharts-strong":C.fontWeight="bold":("i"===r||"em"===r)&&(d?E.class="highcharts-emphasized":C.fontStyle="italic"),C&&C.color&&(C.fill=C.color),"br"===r?(E.class="highcharts-br",M.textContent="\u200b",(w=k[w+1])&&w.textContent&&(w.textContent=w.textContent.replace(/^ +/gm,""))):"a"===r&&I&&I.some(function(s){return"#text"===s.tagName})&&(M.children=[{children:I,tagName:"tspan"}]),"#text"!==r&&"a"!==r&&(M.tagName="tspan"),z(M,{attributes:E,style:C}),I&&I.filter(function(s){return"#text"!==s.tagName}).forEach(S)};k.forEach(S),j(this.svgElement,"afterModifyTree",{nodes:k})},y.prototype.truncate=function(k,v,S,M,w,E){var h,I=this.svgElement,C=I.renderer,r=I.rotation,d=[],s=S?1:0,l=(v||S||"").length,e=l,t=function(c,n){n=n||c;var f=k.parentNode;if(f&&typeof d[n]>"u")if(f.getSubStringLength)try{d[n]=M+f.getSubStringLength(0,S?n+1:n)}catch{}else C.getSpanWidth&&(k.textContent=E(v||S,c),d[n]=M+C.getSpanWidth(I,k));return d[n]};I.rotation=0;var i=t(k.textContent.length);if(M+i>w){for(;s<=l;)e=Math.ceil((s+l)/2),S&&(h=E(S,e)),i=t(e,h&&h.length-1),s===l?s=l+1:i>w?l=e-1:s=e;0===l?k.textContent="":v&&l===v.length-1||(k.textContent=h||E(v||S,e))}S&&S.splice(0,e),I.actualWidth=i,I.rotation=r},y.prototype.unescapeEntities=function(k,v){return m(this.renderer.escapes,function(S,M){v&&-1!==v.indexOf(S)||(k=k.toString().replace(new RegExp(S,"g"),M))}),k},y}()}),ct(F,"Core/Renderer/SVG/SVGRenderer.js",[F["Core/Renderer/HTML/AST.js"],F["Core/Color/Color.js"],F["Core/Globals.js"],F["Core/Renderer/RendererRegistry.js"],F["Core/Renderer/SVG/SVGElement.js"],F["Core/Renderer/SVG/SVGLabel.js"],F["Core/Renderer/SVG/Symbols.js"],F["Core/Renderer/SVG/TextBuilder.js"],F["Core/Utilities.js"]],function(G,Y,T,et,J,$,Z,z,j){var R,P=T.charts,m=T.deg2rad,g=T.doc,y=T.isFirefox,k=T.isMS,v=T.isWebKit,S=T.noop,M=T.SVG_NS,w=T.symbolSizes,E=T.win,I=j.addEvent,C=j.attr,r=j.createElement,d=j.css,s=j.defined,l=j.destroyObjectProperties,e=j.extend,h=j.isArray,t=j.isNumber,i=j.isObject,c=j.isString,n=j.merge,f=j.pick,O=j.pInt,_=j.uniqueKey;return T=function(){function o(p,A,D,L,a,x,u){this.width=this.url=this.style=this.isSVG=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(p,A,D,L,a,x,u)}return o.prototype.init=function(p,A,D,L,a,x,u){var N,B=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),b=B.element;u||B.css(this.getStyle(L)),p.appendChild(b),C(p,"dir","ltr"),-1===p.innerHTML.indexOf("xmlns")&&C(b,"xmlns",this.SVG_NS),this.isSVG=!0,this.box=b,this.boxWrapper=B,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(g.createTextNode("Created with Highcharts 10.3.3")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=a,this.styledMode=u,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.setSize(A,D,!1),y&&p.getBoundingClientRect&&((A=function(){d(p,{left:0,top:0}),N=p.getBoundingClientRect(),d(p,{left:Math.ceil(N.left)-N.left+"px",top:Math.ceil(N.top)-N.top+"px"})})(),this.unSubPixelFix=I(E,"resize",A))},o.prototype.definition=function(p){return new G([p]).addToDOM(this.defs.element)},o.prototype.getReferenceURL=function(){if((y||v)&&g.getElementsByTagName("base").length){if(!s(R)){var p=_();p=new G([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:p},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#".concat(p,")"),fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(g.body),d(p,{position:"fixed",top:0,left:0,zIndex:9e5});var A=g.elementFromPoint(6,6);R="hitme"===(A&&A.id),g.body.removeChild(p)}if(R)return E.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""},o.prototype.getStyle=function(p){return this.style=e({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},p)},o.prototype.setStyle=function(p){this.boxWrapper.css(this.getStyle(p))},o.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width},o.prototype.destroy=function(){var p=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),l(this.gradients||{}),this.gradients=null,p&&(this.defs=p.destroy()),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null},o.prototype.createElement=function(p){var A=new this.Element;return A.init(this,p),A},o.prototype.getRadialAttr=function(p,A){return{cx:p[0]-p[2]/2+(A.cx||0)*p[2],cy:p[1]-p[2]/2+(A.cy||0)*p[2],r:(A.r||0)*p[2]}},o.prototype.buildText=function(p){new z(p).buildSVG()},o.prototype.getContrast=function(p){return 1.05/(.05+(p=.2126*(p=Y.parse(p).rgba.map(function(A){return.03928>=(A/=255)?A/12.92:Math.pow((A+.055)/1.055,2.4)}))[0]+.7152*p[1]+.0722*p[2]))>(p+.05)/.05?"#FFFFFF":"#000000"},o.prototype.button=function(p,A,D,L,a,x,u,B,b,N){void 0===a&&(a={});var X=this.label(p,A,D,b,void 0,void 0,N,void 0,"button"),U=this.styledMode;p=a.states||{};var V=0;delete(a=n(a)).states;var st=n({color:"#333333",cursor:"pointer",fontWeight:"normal"},a.style);delete a.style;var rt=G.filterUserAttributes(a);if(X.attr(n({padding:8,r:2},rt)),!U){rt=n({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},rt);var ot=(x=n(rt,{fill:"#e6e6e6"},G.filterUserAttributes(x||p.hover||{}))).style;delete x.style;var tt=(u=n(rt,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},G.filterUserAttributes(u||p.select||{}))).style;delete u.style;var at=(B=n(rt,{style:{color:"#cccccc"}},G.filterUserAttributes(B||p.disabled||{}))).style;delete B.style}return I(X.element,k?"mouseover":"mouseenter",function(){3!==V&&X.setState(1)}),I(X.element,k?"mouseout":"mouseleave",function(){3!==V&&X.setState(V)}),X.setState=function(q){1!==q&&(X.state=V=q),X.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][q||0]),U||(X.attr([rt,x,u,B][q||0]),i(q=[st,ot,tt,at][q||0])&&X.css(q))},U||(X.attr(rt).css(e({cursor:"default"},st)),N&&X.text.css({pointerEvents:"none"})),X.on("touchstart",function(q){return q.stopPropagation()}).on("click",function(q){3!==V&&L.call(X,q)})},o.prototype.crispLine=function(p,A,D){void 0===D&&(D="round");var L=p[0],a=p[1];return s(L[1])&&L[1]===a[1]&&(L[1]=a[1]=Math[D](L[1])-A%2/2),s(L[2])&&L[2]===a[2]&&(L[2]=a[2]=Math[D](L[2])+A%2/2),p},o.prototype.path=function(p){var A=this.styledMode?{}:{fill:"none"};return h(p)?A.d=p:i(p)&&e(A,p),this.createElement("path").attr(A)},o.prototype.circle=function(p,A,D){return p=i(p)?p:typeof p>"u"?{}:{x:p,y:A,r:D},(A=this.createElement("circle")).xSetter=A.ySetter=function(L,a,x){x.setAttribute("c"+a,L)},A.attr(p)},o.prototype.arc=function(p,A,D,L,a,x){return i(p)?(A=(L=p).y,D=L.r,p=L.x):L={innerR:L,start:a,end:x},(p=this.symbol("arc",p,A,D,D,L)).r=D,p},o.prototype.rect=function(p,A,D,L,a,x){a=i(p)?p.r:a;var u=this.createElement("rect");return p=i(p)?p:typeof p>"u"?{}:{x:p,y:A,width:Math.max(D,0),height:Math.max(L,0)},this.styledMode||(typeof x<"u"&&(p["stroke-width"]=x,p=u.crisp(p)),p.fill="none"),a&&(p.r=a),u.rSetter=function(B,b,N){u.r=B,C(N,{rx:B,ry:B})},u.rGetter=function(){return u.r||0},u.attr(p)},o.prototype.setSize=function(p,A,D){this.width=p,this.height=A,this.boxWrapper.animate({width:p,height:A},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:f(D,!0)?void 0:0}),this.alignElements()},o.prototype.g=function(p){var A=this.createElement("g");return p?A.attr({class:"highcharts-"+p}):A},o.prototype.image=function(p,A,D,L,a,x){var u={preserveAspectRatio:"none"},B=function(N,X){N.setAttributeNS?N.setAttributeNS("http://www.w3.org/1999/xlink","href",X):N.setAttribute("hc-svg-href",X)};t(A)&&(u.x=A),t(D)&&(u.y=D),t(L)&&(u.width=L),t(a)&&(u.height=a);var b=this.createElement("image").attr(u);return A=function(N){B(b.element,p),x.call(b,N)},x?(B(b.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),D=new E.Image,I(D,"load",A),D.src=p,D.complete&&A({})):B(b.element,p),b},o.prototype.symbol=function(p,A,D,L,a,x){var U,u=this,B=/^url\((.*?)\)$/,b=B.test(p),N=!b&&(this.symbols[p]?p:"circle"),X=N&&this.symbols[N];if(X){"number"==typeof A&&(U=X.call(this.symbols,Math.round(A||0),Math.round(D||0),L||0,a||0,x));var V=this.path(U);u.styledMode||V.attr("fill","none"),e(V,{symbolName:N||void 0,x:A,y:D,width:L,height:a}),x&&e(V,x)}else if(b){var st=p.match(B)[1],rt=V=this.image(st);rt.imgwidth=f(w[st]&&w[st].width,x&&x.width),rt.imgheight=f(w[st]&&w[st].height,x&&x.height);var ot=function(tt){return tt.attr({width:tt.width,height:tt.height})};["width","height"].forEach(function(tt){rt[tt+"Setter"]=function(at,q){this[q]=at,at=this.alignByTranslate;var H=this.element,W=this.width,K=this.height,Q=this.imgwidth,it=this.imgheight,nt=this["img"+q];if(s(nt)){var ht=1;x&&"within"===x.backgroundSize&&W&&K?(ht=Math.min(W/Q,K/it),nt=Math.round(nt*ht),C(H,{width:Math.round(Q*ht),height:Math.round(it*ht)})):H&&H.setAttribute(q,nt),at||this.translate(((W||0)-nt*ht)/2,((K||0)-nt*ht)/2)}}}),s(A)&&rt.attr({x:A,y:D}),rt.isImg=!0,s(rt.imgwidth)&&s(rt.imgheight)?ot(rt):(rt.attr({width:0,height:0}),r("img",{onload:function(){var tt=P[u.chartIndex];0===this.width&&(d(this,{position:"absolute",top:"-999em"}),g.body.appendChild(this)),w[st]={width:this.width,height:this.height},rt.imgwidth=this.width,rt.imgheight=this.height,rt.element&&ot(rt),this.parentNode&&this.parentNode.removeChild(this),u.imgCount--,!u.imgCount&&tt&&!tt.hasLoaded&&tt.onload()},src:st}),this.imgCount++)}return V},o.prototype.clipRect=function(p,A,D,L){var a=_()+"-",x=this.createElement("clipPath").attr({id:a}).add(this.defs);return(p=this.rect(p,A,D,L,0).add(x)).id=a,p.clipPath=x,p.count=0,p},o.prototype.text=function(p,A,D,L){var a={};return!L||!this.allowHTML&&this.forExport?(a.x=Math.round(A||0),D&&(a.y=Math.round(D)),s(p)&&(a.text=p),p=this.createElement("text").attr(a),(!L||this.forExport&&!this.allowHTML)&&(p.xSetter=function(x,u,B){for(var U,b=B.getElementsByTagName("tspan"),N=B.getAttribute(u),X=0;X<b.length;X++)(U=b[X]).getAttribute(u)===N&&U.setAttribute(u,x);B.setAttribute(u,x)}),p):this.html(p,A,D)},o.prototype.fontMetrics=function(p,A){return p=!this.styledMode&&/px/.test(p)||!E.getComputedStyle?p||A&&A.style&&A.style.fontSize||this.style&&this.style.fontSize:A&&J.prototype.getStyle.call(A,"font-size"),{h:A=24>(p=/px/.test(p)?O(p):12)?p+3:Math.round(1.2*p),b:Math.round(.8*A),f:p}},o.prototype.rotCorr=function(p,A,D){var L=p;return A&&D&&(L=Math.max(L*Math.cos(A*m),4)),{x:-p/3*Math.sin(A*m),y:L}},o.prototype.pathToSegments=function(p){for(var A=[],D=[],L={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},a=0;a<p.length;a++)c(D[0])&&t(p[a])&&D.length===L[D[0].toUpperCase()]&&p.splice(a,0,D[0].replace("M","L").replace("m","l")),"string"==typeof p[a]&&(D.length&&A.push(D.slice(0)),D.length=0),D.push(p[a]);return A.push(D.slice(0)),A},o.prototype.label=function(p,A,D,L,a,x,u,B,b){return new $(this,p,A,D,L,a,x,u,B,b)},o.prototype.alignElements=function(){this.alignedObjects.forEach(function(p){return p.align()})},o}(),e(T.prototype,{Element:J,SVG_NS:M,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:Z,draw:S}),et.registerRendererType("svg",T,!0),T}),ct(F,"Core/Renderer/HTML/HTMLElement.js",[F["Core/Globals.js"],F["Core/Renderer/SVG/SVGElement.js"],F["Core/Utilities.js"]],function(G,Y,T){var k,et=this&&this.__extends||(k=function(v,S){return(k=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(M,w){M.__proto__=w}||function(M,w){for(var E in w)w.hasOwnProperty(E)&&(M[E]=w[E])})(v,S)},function(v,S){function M(){this.constructor=v}k(v,S),v.prototype=null===S?Object.create(S):(M.prototype=S.prototype,new M)}),J=G.isFirefox,$=G.isMS,Z=G.isWebKit,z=G.win,j=T.css,P=T.defined,m=T.extend,g=T.pick,y=T.pInt;return function(k){function v(){return null!==k&&k.apply(this,arguments)||this}return et(v,k),v.compose=function(S){if(-1===v.composedClasses.indexOf(S)){v.composedClasses.push(S);var M=v.prototype,w=S.prototype;w.getSpanCorrection=M.getSpanCorrection,w.htmlCss=M.htmlCss,w.htmlGetBBox=M.htmlGetBBox,w.htmlUpdateTransform=M.htmlUpdateTransform,w.setSpanRotation=M.setSpanRotation}return S},v.prototype.getSpanCorrection=function(S,M,w){this.xCorr=-S*w,this.yCorr=-M},v.prototype.htmlCss=function(S){var M="SPAN"===this.element.tagName&&S&&"width"in S,w=g(M&&S.width,void 0);if(M){delete S.width,this.textWidth=w;var E=!0}return S&&"ellipsis"===S.textOverflow&&(S.whiteSpace="nowrap",S.overflow="hidden"),this.styles=m(this.styles,S),j(this.element,S),E&&this.htmlUpdateTransform(),this},v.prototype.htmlGetBBox=function(){var S=this.element;return{x:S.offsetLeft,y:S.offsetTop,width:S.offsetWidth,height:S.offsetHeight}},v.prototype.htmlUpdateTransform=function(){if(this.added){var S=this.renderer,M=this.element,w=this.translateX||0,E=this.translateY||0,I=this.x||0,C=this.y||0,r=this.textAlign||"left",d={left:0,center:.5,right:1}[r],s=this.styles;if(s=s&&s.whiteSpace,j(M,{marginLeft:w,marginTop:E}),!S.styledMode&&this.shadows&&this.shadows.forEach(function(c){j(c,{marginLeft:w+1,marginTop:E+1})}),this.inverted&&[].forEach.call(M.childNodes,function(c){S.invertChild(c,M)}),"SPAN"===M.tagName){var l=this.rotation,e=this.textWidth&&y(this.textWidth),h=[l,r,M.innerHTML,this.textWidth,this.textAlign].join(),t=void 0;if(t=!1,e!==this.oldTextWidth){if(this.textPxLength)var i=this.textPxLength;else j(M,{width:"",whiteSpace:s||"nowrap"}),i=M.offsetWidth;(e>this.oldTextWidth||i>e)&&(/[ \-]/.test(M.textContent||M.innerText)||"ellipsis"===M.style.textOverflow)&&(j(M,{width:i>e||l?e+"px":"auto",display:"block",whiteSpace:s||"normal"}),this.oldTextWidth=e,t=!0)}this.hasBoxWidthChanged=t,h!==this.cTT&&(t=S.fontMetrics(M.style.fontSize,M).b,!P(l)||l===(this.oldRotation||0)&&r===this.oldAlign||this.setSpanRotation(l,d,t),this.getSpanCorrection(!P(l)&&this.textPxLength||M.offsetWidth,t,d,l,r)),j(M,{left:I+(this.xCorr||0)+"px",top:C+(this.yCorr||0)+"px"}),this.cTT=h,this.oldRotation=l,this.oldAlign=r}}else this.alignOnAdd=!0},v.prototype.setSpanRotation=function(S,M,w){var E={},I=$&&!/Edge/.test(z.navigator.userAgent)?"-ms-transform":Z?"-webkit-transform":J?"MozTransform":z.opera?"-o-transform":void 0;I&&(E[I]=E.transform="rotate("+S+"deg)",E[I+(J?"Origin":"-origin")]=E.transformOrigin=100*M+"% "+w+"px",j(this.element,E))},v.composedClasses=[],v}(Y)}),ct(F,"Core/Renderer/HTML/HTMLRenderer.js",[F["Core/Renderer/HTML/AST.js"],F["Core/Renderer/SVG/SVGElement.js"],F["Core/Renderer/SVG/SVGRenderer.js"],F["Core/Utilities.js"]],function(G,Y,T,et){var P,J=this&&this.__extends||(P=function(m,g){return(P=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,k){y.__proto__=k}||function(y,k){for(var v in k)k.hasOwnProperty(v)&&(y[v]=k[v])})(m,g)},function(m,g){function y(){this.constructor=m}P(m,g),m.prototype=null===g?Object.create(g):(y.prototype=g.prototype,new y)}),$=et.attr,Z=et.createElement,z=et.extend,j=et.pick;return function(P){function m(){return null!==P&&P.apply(this,arguments)||this}return J(m,P),m.compose=function(g){return-1===m.composedClasses.indexOf(g)&&(m.composedClasses.push(g),g.prototype.html=m.prototype.html),g},m.prototype.html=function(g,y,k){var v=this.createElement("span"),S=v.element,M=v.renderer,w=M.isSVG,E=function(I,C){["opacity","visibility"].forEach(function(r){I[r+"Setter"]=function(d,s,l){var e=I.div?I.div.style:C;Y.prototype[r+"Setter"].call(this,d,s,l),e&&(e[s]=d)}}),I.addedSetters=!0};return v.textSetter=function(I){I!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,G.setElementHTML(this.element,j(I,"")),this.textStr=I,v.doTransform=!0)},w&&E(v,v.element.style),v.xSetter=v.ySetter=v.alignSetter=v.rotationSetter=function(I,C){"align"===C?v.alignValue=v.textAlign=I:v[C]=I,v.doTransform=!0},v.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)},v.attr({text:g,x:Math.round(y),y:Math.round(k)}).css({position:"absolute"}),M.styledMode||v.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),S.style.whiteSpace="nowrap",v.css=v.htmlCss,w&&(v.add=function(I){var C=M.box.parentNode,r=[];if(this.parentGroup=I){var d=I.div;if(!d){for(;I;)r.push(I),I=I.parentGroup;r.reverse().forEach(function(s){function l(i,c){s[c]=i,"translateX"===c?t.left=i+"px":t.top=i+"px",s.doTransform=!0}var i,e=$(s.element,"class"),h=s.styles||{},t=(d=s.div=s.div||Z("div",e?{className:e}:void 0,{position:"absolute",left:(s.translateX||0)+"px",top:(s.translateY||0)+"px",display:s.display,opacity:s.opacity,cursor:h.cursor,pointerEvents:h.pointerEvents,visibility:s.visibility},d||C)).style;z(s,{classSetter:(i=d,function(c){this.element.setAttribute("class",c),i.className=c}),on:function(){return r[0].div&&v.on.apply({element:r[0].div,onEvents:s.onEvents},arguments),s},translateXSetter:l,translateYSetter:l}),s.addedSetters||E(s)})}}else d=C;return d.appendChild(S),v.added=!0,v.alignOnAdd&&v.htmlUpdateTransform(),v}),v},m.composedClasses=[],m}(T)}),ct(F,"Core/Axis/AxisDefaults.js",[],function(){var G=(()=>{return(Y=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:void 0,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,x:0,zIndex:7,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",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"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#ccd6eb"},Y.defaultYAxisOptions={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){return(0,this.axis.chart.numberFormatter)(this.total||0,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},Y.defaultLeftAxisOptions={labels:{x:-15},title:{rotation:270}},Y.defaultRightAxisOptions={labels:{x:15},title:{rotation:90}},Y.defaultBottomAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},Y.defaultTopAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},G;var Y})();return G}),ct(F,"Core/Foundation.js",[F["Core/Utilities.js"]],function(G){var $,Y=G.addEvent,T=G.isFunction,et=G.objectEach,J=G.removeEvent;return($||($={})).registerEventOptions=function(z,j){z.eventOptions=z.eventOptions||{},et(j.events,function(P,m){z.eventOptions[m]!==P&&(z.eventOptions[m]&&(J(z,m,z.eventOptions[m]),delete z.eventOptions[m]),T(P)&&(z.eventOptions[m]=P,Y(z,m,P)))})},$}),ct(F,"Core/Axis/Tick.js",[F["Core/FormatUtilities.js"],F["Core/Globals.js"],F["Core/Utilities.js"]],function(G,Y,T){var et=Y.deg2rad,J=T.clamp,$=T.correctFloat,Z=T.defined,z=T.destroyObjectProperties,j=T.extend,P=T.fireEvent,m=T.isNumber,g=T.merge,y=T.objectEach,k=T.pick;return function(){function v(S,M,w,E,I){this.isNewLabel=this.isNew=!0,this.axis=S,this.pos=M,this.type=w||"",this.parameters=I||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,P(this,"init"),w||E||this.addLabel()}return v.prototype.addLabel=function(){var S=this,M=S.axis,w=M.options,E=M.chart,I=M.categories,C=M.logarithmic,r=M.names,d=S.pos,s=k(S.options&&S.options.labels,w.labels),l=M.tickPositions,e=d===l[0],h=d===l[l.length-1],t=(!s.step||1===s.step)&&1===M.tickInterval;l=l.info;var c,i=S.label;if(I=this.parameters.category||(I?k(I[d],r[d],d):d),C&&m(I)&&(I=$(C.lin2log(I))),M.dateTime)if(l)var n=E.time.resolveDTLFormat(w.dateTimeLabelFormats[!w.grid&&l.higherRanks[d]||l.unitName]),f=n.main;else m(I)&&(f=M.dateTime.getXDateFormat(I,w.dateTimeLabelFormats||{}));S.isFirst=e,S.isLast=h;var O={axis:M,chart:E,dateTimeLabelFormat:f,isFirst:e,isLast:h,pos:d,tick:S,tickPositionInfo:l,value:I};P(this,"labelFormat",O);var _=function(o){return s.formatter?s.formatter.call(o,o):s.format?(o.text=M.defaultLabelFormatter.call(o,o),G.format(s.format,o,E)):M.defaultLabelFormatter.call(o,o)};w=_.call(O,O);var R=n&&n.list;S.shortenLabel=R?function(){for(c=0;c<R.length;c++)if(j(O,{dateTimeLabelFormat:R[c]}),i.attr({text:_.call(O,O)}),i.getBBox().width<M.getSlotWidth(S)-2*s.padding)return;i.attr({text:""})}:void 0,t&&M._addedPlotLB&&S.moveLabel(w,s),Z(i)||S.movedLabel?i&&i.textStr!==w&&!t&&(!i.textWidth||s.style.width||i.styles.width||i.css({width:null}),i.attr({text:w}),i.textPxLength=i.getBBox().width):(S.label=i=S.createLabel({x:0,y:0},w,s),S.rotation=0)},v.prototype.createLabel=function(S,M,w){var E=this.axis,I=E.chart;return(S=Z(M)&&w.enabled?I.renderer.text(M,S.x,S.y,w.useHTML).add(E.labelGroup):null)&&(I.styledMode||S.css(g(w.style)),S.textPxLength=S.getBBox().width),S},v.prototype.destroy=function(){z(this,this.axis)},v.prototype.getPosition=function(S,M,w,E){var I=this.axis,C=I.chart,r=E&&C.oldChartHeight||C.chartHeight;return(S={x:S?$(I.translate(M+w,void 0,void 0,E)+I.transB):I.left+I.offset+(I.opposite?(E&&C.oldChartWidth||C.chartWidth)-I.right-I.left:0),y:S?r-I.bottom+I.offset-(I.opposite?I.height:0):$(r-I.translate(M+w,void 0,void 0,E)-I.transB)}).y=J(S.y,-1e5,1e5),P(this,"afterGetPosition",{pos:S}),S},v.prototype.getLabelPosition=function(S,M,w,E,I,C,r,d){var s=this.axis,l=s.transA,e=s.isLinked&&s.linkedParent?s.linkedParent.reversed:s.reversed,h=s.staggerLines,t=s.tickRotCorr||{x:0,y:0},i=E||s.reserveSpaceDefault?0:-s.labelOffset*("center"===s.labelAlign?.5:1),c={};return w=0===s.side?w.rotation?-8:-w.getBBox().height:2===s.side?t.y+8:Math.cos(w.rotation*et)*(t.y-w.getBBox(!1,0).height/2),Z(I.y)&&(w=0===s.side&&s.horiz?I.y+w:I.y),S=S+I.x+i+t.x-(C&&E?C*l*(e?-1:1):0),M=M+w-(C&&!E?C*l*(e?1:-1):0),h&&(E=r/(d||1)%h,s.opposite&&(E=h-E-1),M+=s.labelOffset/h*E),c.x=S,c.y=Math.round(M),P(this,"afterGetLabelPosition",{pos:c,tickmarkOffset:C,index:r}),c},v.prototype.getLabelSize=function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},v.prototype.getMarkPath=function(S,M,w,E,I,C){return C.crispLine([["M",S,M],["L",S+(I?0:-w),M+(I?w:0)]],E)},v.prototype.handleOverflow=function(S){var M=this.axis,w=M.options.labels,E=S.x,I=M.chart.chartWidth,C=M.chart.spacing,r=k(M.labelLeft,Math.min(M.pos,C[3]));C=k(M.labelRight,Math.max(M.isRadial?0:M.pos+M.len,I-C[1]));var n,d=this.label,s=this.rotation,l={left:0,center:.5,right:1}[M.labelAlign||d.attr("align")],e=d.getBBox().width,h=M.getSlotWidth(this),t={},i=h,c=1;s||"justify"!==w.overflow?0>s&&E-l*e<r?n=Math.round(E/Math.cos(s*et)-r):0<s&&E+l*e>C&&(n=Math.round((I-E)/Math.cos(s*et))):(I=E+(1-l)*e,E-l*e<r?i=S.x+i*(1-l)-r:I>C&&(i=C-S.x+i*l,c=-1),(i=Math.min(h,i))<h&&"center"===M.labelAlign&&(S.x+=c*(h-i-l*(h-Math.min(e,i)))),(e>i||M.autoRotation&&(d.styles||{}).width)&&(n=i)),n&&(this.shortenLabel?this.shortenLabel():(t.width=Math.floor(n)+"px",(w.style||{}).textOverflow||(t.textOverflow="ellipsis"),d.css(t)))},v.prototype.moveLabel=function(S,M){var w=this,E=w.label,I=w.axis,C=I.reversed,r=!1;if(E&&E.textStr===S?(w.movedLabel=E,r=!0,delete w.label):y(I.ticks,function(s){r||s.isNew||s===w||!s.label||s.label.textStr!==S||(w.movedLabel=s.label,r=!0,s.labelPos=w.movedLabel.xy,delete s.label)}),!r&&(w.labelPos||E)){var d=w.labelPos||E.xy;w.movedLabel=w.createLabel({x:E=I.horiz?C?0:I.width+I.left:d.x,y:I=I.horiz?d.y:C?I.width+I.left:0},S,M),w.movedLabel&&w.movedLabel.attr({opacity:0})}},v.prototype.render=function(S,M,w){var E=this.axis,I=E.horiz,C=this.pos,r=k(this.tickmarkOffset,E.tickmarkOffset);r=(C=this.getPosition(I,C,r,M)).x,E=I&&r===E.pos+E.len||!I&&C.y===E.pos?-1:1,I=k(w,this.label&&this.label.newOpacity,1),w=k(w,1),this.isActive=!0,this.renderGridLine(M,w,E),this.renderMark(C,w,E),this.renderLabel(C,M,I,S),this.isNew=!1,P(this,"afterRender")},v.prototype.renderGridLine=function(S,M,w){var E=this.axis,I=E.options,C={},r=this.pos,d=this.type,s=k(this.tickmarkOffset,E.tickmarkOffset),l=E.chart.renderer,e=this.gridLine,h=I.gridLineWidth,t=I.gridLineColor,i=I.gridLineDashStyle;"minor"===this.type&&(h=I.minorGridLineWidth,t=I.minorGridLineColor,i=I.minorGridLineDashStyle),e||(E.chart.styledMode||(C.stroke=t,C["stroke-width"]=h||0,C.dashstyle=i),d||(C.zIndex=1),S&&(M=0),this.gridLine=e=l.path().attr(C).addClass("highcharts-"+(d?d+"-":"")+"grid-line").add(E.gridGroup)),e&&(w=E.getPlotLinePath({value:r+s,lineWidth:e.strokeWidth()*w,force:"pass",old:S,acrossPanes:!1}))&&e[S||this.isNew?"attr":"animate"]({d:w,opacity:M})},v.prototype.renderMark=function(S,M,w){var E=this.axis,I=E.options,C=E.chart.renderer,r=this.type,d=E.tickSize(r?r+"Tick":"tick"),s=S.x;S=S.y;var l=k(I["minor"!==r?"tickWidth":"minorTickWidth"],!r&&E.isXAxis?1:0);I=I["minor"!==r?"tickColor":"minorTickColor"];var e=this.mark,h=!e;d&&(E.opposite&&(d[0]=-d[0]),e||(this.mark=e=C.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(E.axisGroup),E.chart.styledMode||e.attr({stroke:I,"stroke-width":l})),e[h?"attr":"animate"]({d:this.getMarkPath(s,S,d[0],e.strokeWidth()*w,E.horiz,C),opacity:M}))},v.prototype.renderLabel=function(S,M,w,E){var I=this.axis,C=I.horiz,r=I.options,d=this.label,s=r.labels,l=s.step;I=k(this.tickmarkOffset,I.tickmarkOffset);var e=S.x;S=S.y;var h=!0;d&&m(e)&&(d.xy=S=this.getLabelPosition(e,S,d,C,s,I,E,l),this.isFirst&&!this.isLast&&!r.showFirstLabel||this.isLast&&!this.isFirst&&!r.showLastLabel?h=!1:!C||s.step||s.rotation||M||0===w||this.handleOverflow(S),l&&E%l&&(h=!1),h&&m(S.y)?(S.opacity=w,d[this.isNewLabel?"attr":"animate"](S).show(!0),this.isNewLabel=!1):(d.hide(),this.isNewLabel=!0))},v.prototype.replaceMovedLabel=function(){var S=this.label,M=this.axis,w=M.reversed;S&&!this.isNew&&(S.animate({x:M.horiz?w?M.left:M.width+M.left:S.xy.x,y:w=M.horiz?S.xy.y:w?M.width+M.top:M.top,opacity:0},void 0,S.destroy),delete this.label),M.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel},v}()}),ct(F,"Core/Axis/Axis.js",[F["Core/Animation/AnimationUtilities.js"],F["Core/Axis/AxisDefaults.js"],F["Core/Color/Color.js"],F["Core/Defaults.js"],F["Core/Foundation.js"],F["Core/Globals.js"],F["Core/Axis/Tick.js"],F["Core/Utilities.js"]],function(G,Y,T,et,J,$,Z,z){var j=G.animObject,P=et.defaultOptions,m=J.registerEventOptions,g=$.deg2rad,y=z.arrayMax,k=z.arrayMin,v=z.clamp,S=z.correctFloat,M=z.defined,w=z.destroyObjectProperties,E=z.erase,I=z.error,C=z.extend,r=z.fireEvent,d=z.isArray,s=z.isNumber,l=z.isString,e=z.merge,h=z.normalizeTickInterval,t=z.objectEach,i=z.pick,c=z.relativeLength,n=z.removeEvent,f=z.splat,O=z.syncTimeout,_=function(R,o){return h(o,void 0,void 0,i(R.options.allowDecimals,.5>o||void 0!==R.tickAmount),!!R.tickAmount)};return function(){function R(o,p){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.height=this.hasVisibleSeries=this.hasNames=this.eventOptions=this.coll=this.closestPointRange=this.chart=this.bottom=this.alternateBands=void 0,this.init(o,p)}return R.prototype.init=function(o,p){var A=p.isX;this.chart=o,this.horiz=o.inverted&&!this.isZAxis?!A:A,this.isXAxis=A,this.coll=this.coll||(A?"xAxis":"yAxis"),r(this,"init",{userOptions:p}),this.opposite=i(p.opposite,this.opposite),this.side=i(p.side,this.side,this.horiz?this.opposite?0:2:this.opposite?1:3),this.setOptions(p);var D=this.options,L=D.labels,a=D.type;this.userOptions=p,this.minPixelPadding=0,this.reversed=i(D.reversed,this.reversed),this.visible=D.visible,this.zoomEnabled=D.zoomEnabled,this.hasNames="category"===a||!0===D.categories,this.categories=D.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=M(D.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=D.minRange||D.maxZoom,this.range=D.range,this.offset=D.offset||0,this.min=this.max=null,p=i(D.crosshair,f(o.options.tooltip.crosshairs)[A?0:1]),this.crosshair=!0===p?{}:p,-1===o.axes.indexOf(this)&&(A?o.axes.splice(o.xAxis.length,0,this):o.axes.push(this),o[this.coll].push(this)),this.series=this.series||[],o.inverted&&!this.isZAxis&&A&&typeof this.reversed>"u"&&(this.reversed=!0),this.labelRotation=s(L.rotation)?L.rotation:void 0,m(this,D),r(this,"afterInit")},R.prototype.setOptions=function(o){this.options=e(Y.defaultXAxisOptions,"yAxis"===this.coll&&Y.defaultYAxisOptions,[Y.defaultTopAxisOptions,Y.defaultRightAxisOptions,Y.defaultBottomAxisOptions,Y.defaultLeftAxisOptions][this.side],e(P[this.coll],o)),r(this,"afterSetOptions",{userOptions:o})},R.prototype.defaultLabelFormatter=function(o){var p=this.axis;o=this.chart.numberFormatter;var A=s(this.value)?this.value:NaN,D=p.chart.time,L=this.dateTimeLabelFormat,a=P.lang,x=a.numericSymbols;a=a.numericSymbolMagnitude||1e3;var u=p.logarithmic?Math.abs(A):p.tickInterval,B=x&&x.length;if(p.categories)var b="".concat(this.value);else if(L)b=D.dateFormat(L,A);else if(B&&1e3<=u)for(;B--&&typeof b>"u";)u>=(p=Math.pow(a,B+1))&&10*A%p==0&&null!==x[B]&&0!==A&&(b=o(A/p,-1)+x[B]);return typeof b>"u"&&(b=1e4<=Math.abs(A)?o(A,-1):o(A,-1,void 0,"")),b},R.prototype.getSeriesExtremes=function(){var A,o=this,p=o.chart;r(this,"getSeriesExtremes",null,function(){o.hasVisibleSeries=!1,o.dataMin=o.dataMax=o.threshold=null,o.softThreshold=!o.isXAxis,o.series.forEach(function(D){if(D.visible||!p.options.chart.ignoreHiddenSeries){var L=D.options,a=L.threshold;if(o.hasVisibleSeries=!0,o.positiveValuesOnly&&0>=a&&(a=null),o.isXAxis){if((L=D.xData).length){L=o.logarithmic?L.filter(o.validatePositiveValue):L;var x=(A=D.getXExtremes(L)).min,u=A.max;s(x)||x instanceof Date||(L=L.filter(s),x=(A=D.getXExtremes(L)).min,u=A.max),L.length&&(o.dataMin=Math.min(i(o.dataMin,x),x),o.dataMax=Math.max(i(o.dataMax,u),u))}}else D=D.applyExtremes(),s(D.dataMin)&&(x=D.dataMin,o.dataMin=Math.min(i(o.dataMin,x),x)),s(D.dataMax)&&(u=D.dataMax,o.dataMax=Math.max(i(o.dataMax,u),u)),M(a)&&(o.threshold=a),(!L.softThreshold||o.positiveValuesOnly)&&(o.softThreshold=!1)}})}),r(this,"afterGetSeriesExtremes")},R.prototype.translate=function(o,p,A,D,L,a){var x=this.linkedParent||this,u=D&&x.old?x.old.min:x.min;if(!s(u))return NaN;var B=x.minPixelPadding;L=(x.isOrdinal||x.brokenAxis&&x.brokenAxis.hasBreaks||x.logarithmic&&L)&&x.lin2val;var b=1,N=0;return(D=D&&x.old?x.old.transA:x.transA)||(D=x.transA),A&&(b*=-1,N=x.len),x.reversed&&(N-=(b*=-1)*(x.sector||x.len)),p?(a=(o*b+N-B)/D+u,L&&(a=x.lin2val(a))):(L&&(o=x.val2lin(o)),o=b*(o-u)*D,a=(x.isRadial?o:S(o))+N+b*B+(s(a)?D*a:0)),a},R.prototype.toPixels=function(o,p){return this.translate(o,!1,!this.horiz,void 0,!0)+(p?0:this.pos)},R.prototype.toValue=function(o,p){return this.translate(o-(p?0:this.pos),!0,!this.horiz,void 0,!0)},R.prototype.getPlotLinePath=function(o){function p(q,H,W){return"pass"!==V&&(q<H||q>W)&&(V?q=v(q,H,W):at=!0),q}var st,rt,ot,tt,at,A=this,D=A.chart,L=A.left,a=A.top,x=o.old,u=o.value,B=o.lineWidth,b=x&&D.oldChartHeight||D.chartHeight,N=x&&D.oldChartWidth||D.chartWidth,X=A.transB,U=o.translatedValue,V=o.force;return r(this,"getPlotLinePath",o={value:u,lineWidth:B,old:x,force:V,acrossPanes:o.acrossPanes,translatedValue:U},function(q){U=i(U,A.translate(u,void 0,void 0,x)),U=v(U,-1e5,1e5),st=ot=Math.round(U+X),rt=tt=Math.round(b-U-X),s(U)?A.horiz?(rt=a,tt=b-A.bottom,st=ot=p(st,L,L+A.width)):(st=L,ot=N-A.right,rt=tt=p(rt,a,a+A.height)):(at=!0,V=!1),q.path=at&&!V?null:D.renderer.crispLine([["M",st,rt],["L",ot,tt]],B||1)}),o.path},R.prototype.getLinearTickPositions=function(o,p,A){var D=S(Math.floor(p/o)*o);A=S(Math.ceil(A/o)*o);var a,L=[];if(S(D+o)===D&&(a=20),this.single)return[p];for(p=D;p<=A&&(L.push(p),(p=S(p+o,a))!==x);)var x=p;return L},R.prototype.getMinorTickInterval=function(){var o=this.options;return!0===o.minorTicks?i(o.minorTickInterval,"auto"):!1===o.minorTicks?null:o.minorTickInterval},R.prototype.getMinorTickPositions=function(){var o=this.options,p=this.tickPositions,A=this.minorTickInterval,D=this.pointRangePadding||0,L=this.min-D,a=(D=this.max+D)-L,x=[];if(a&&a/A<this.len/3){var u=this.logarithmic;if(u)this.paddedTicks.forEach(function(B,b,N){b&&x.push.apply(x,u.getLogTickPositions(A,N[b-1],N[b],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())x=x.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(A),L,D,o.startOfWeek));else for(o=L+(p[0]-L)%A;o<=D&&o!==x[0];o+=A)x.push(o)}return 0!==x.length&&this.trimTicks(x),x},R.prototype.adjustForMinRange=function(){var a,x,u,B,o=this.options,p=this.logarithmic,A=this.min,D=this.max,L=0;if(this.isXAxis&&typeof this.minRange>"u"&&!p&&(M(o.min)||M(o.max)||M(o.floor)||M(o.ceiling)?this.minRange=null:(this.series.forEach(function(U){if(u=U.xData,B=U.xIncrement?1:u.length-1,1<u.length)for(a=B;0<a;a--)x=u[a]-u[a-1],(!L||x<L)&&(L=x)}),this.minRange=Math.min(5*L,this.dataMax-this.dataMin))),D-A<this.minRange){var b=this.dataMax-this.dataMin>=this.minRange,N=this.minRange,X=(N-D+A)/2;X=[A-X,i(o.min,A-X)],b&&(X[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin),D=[(A=y(X))+N,i(o.max,A+N)],b&&(D[2]=p?p.log2lin(this.dataMax):this.dataMax),(D=k(D))-A<N&&(X[0]=D-N,X[1]=i(o.min,D-N),A=y(X))}this.min=A,this.max=D},R.prototype.getClosest=function(){var o;return this.categories?o=1:this.series.forEach(function(p){var A=p.closestPointRange,D=p.visible||!p.chart.options.chart.ignoreHiddenSeries;!p.noSharedTooltip&&M(A)&&D&&(o=M(o)?Math.min(o,A):A)}),o},R.prototype.nameToX=function(o){var p=d(this.options.categories),A=p?this.categories:this.names,D=o.options.x;if(o.series.requireSorting=!1,M(D)||(D=this.options.uniqueNames&&A?p?A.indexOf(o.name):i(A.keys[o.name],-1):o.series.autoIncrement()),-1===D){if(!p&&A)var L=A.length}else L=D;return typeof L<"u"?(this.names[L]=o.name,this.names.keys[o.name]=L):o.x&&(L=o.x),L},R.prototype.updateNames=function(){var o=this,p=this.names;0<p.length&&(Object.keys(p.keys).forEach(function(A){delete p.keys[A]}),p.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(A){A.xIncrement=null,(!A.points||A.isDirtyData)&&(o.max=Math.max(o.max,A.xData.length-1),A.processData(),A.generatePoints()),A.data.forEach(function(D,L){if(D&&D.options&&typeof D.name<"u"){var a=o.nameToX(D);typeof a<"u"&&a!==D.x&&(D.x=a,A.xData[L]=a)}})}))},R.prototype.setAxisTranslation=function(){var B,o=this,p=o.max-o.min,A=o.linkedParent,D=!!o.categories,L=o.isXAxis,a=o.axisPointRange||0,x=0,u=0;if(L||D||a){var b=o.getClosest();A?(x=A.minPointOffset,u=A.pointRangePadding):o.series.forEach(function(N){var X=D?1:L?i(N.options.pointRange,b,0):o.axisPointRange||0,U=N.options.pointPlacement;a=Math.max(a,X),(!o.single||D)&&(N=N.is("xrange")?!L:L,x=Math.max(x,N&&l(U)?0:X/2),u=Math.max(u,N&&"on"===U?0:X))}),o.minPointOffset=x*=A=o.ordinal&&o.ordinal.slope&&b?o.ordinal.slope/b:1,o.pointRangePadding=u*=A,o.pointRange=Math.min(a,o.single&&D?1:p),L&&(o.closestPointRange=b)}o.translationSlope=o.transA=B=o.staticScale||o.len/(p+u||1),o.transB=o.horiz?o.left:o.bottom,o.minPixelPadding=B*x,r(this,"afterSetAxisTranslation")},R.prototype.minFromRange=function(){return this.max-this.range},R.prototype.setTickInterval=function(o){var p=this.chart,A=this.logarithmic,D=this.options,L=this.isXAxis,a=this.isLinked,x=D.tickPixelInterval,u=this.categories,B=this.softThreshold,b=D.maxPadding,N=D.minPadding,X=s(D.tickInterval)&&0<=D.tickInterval?D.tickInterval:void 0,U=s(this.threshold)?this.threshold:null;this.dateTime||u||a||this.getTickAmount();var V=i(this.userMin,D.min),st=i(this.userMax,D.max);if(a){this.linkedParent=p[this.coll][D.linkedTo];var rt=this.linkedParent.getExtremes();this.min=i(rt.min,rt.dataMin),this.max=i(rt.max,rt.dataMax),D.type!==this.linkedParent.options.type&&I(11,1,p)}else{if(B&&M(U))if(this.dataMin>=U)rt=U,N=0;else if(this.dataMax<=U){var ot=U;b=0}this.min=i(V,rt,this.dataMin),this.max=i(st,ot,this.dataMax)}if(A&&(this.positiveValuesOnly&&!o&&0>=Math.min(this.min,i(this.dataMin,this.min))&&I(10,1,p),this.min=S(A.log2lin(this.min),16),this.max=S(A.log2lin(this.max),16)),this.range&&M(this.max)&&(this.userMin=this.min=V=Math.max(this.dataMin,this.minFromRange()),this.userMax=st=this.max,this.range=null),r(this,"foundExtremes"),this.beforePadding&&this.beforePadding(),this.adjustForMinRange(),!(u||this.axisPointRange||this.stacking&&this.stacking.usePercentage||a)&&M(this.min)&&M(this.max)&&(p=this.max-this.min)&&(!M(V)&&N&&(this.min-=p*N),!M(st)&&b&&(this.max+=p*b)),s(this.userMin)||(s(D.softMin)&&D.softMin<this.min&&(this.min=V=D.softMin),s(D.floor)&&(this.min=Math.max(this.min,D.floor))),s(this.userMax)||(s(D.softMax)&&D.softMax>this.max&&(this.max=st=D.softMax),s(D.ceiling)&&(this.max=Math.min(this.max,D.ceiling))),B&&M(this.dataMin)&&(U=U||0,!M(V)&&this.min<U&&this.dataMin>=U?this.min=this.options.minRange?Math.min(U,this.max-this.minRange):U:!M(st)&&this.max>U&&this.dataMax<=U&&(this.max=this.options.minRange?Math.max(U,this.min+this.minRange):U)),s(this.min)&&s(this.max)&&!this.chart.polar&&this.min>this.max&&(M(this.options.min)?this.max=this.min:M(this.options.max)&&(this.min=this.max)),this.tickInterval=this.min===this.max||typeof this.min>"u"||typeof this.max>"u"?1:a&&this.linkedParent&&!X&&x===this.linkedParent.options.tickPixelInterval?X=this.linkedParent.tickInterval:i(X,this.tickAmount?(this.max-this.min)/Math.max(this.tickAmount-1,1):void 0,u?1:(this.max-this.min)*x/Math.max(this.len,x)),L&&!o){var tt=this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max);this.series.forEach(function(at){at.forceCrop=at.forceCropping&&at.forceCropping(),at.processData(tt)}),r(this,"postProcessData",{hasExtremesChanged:tt})}this.setAxisTranslation(),r(this,"initialAxisTranslation"),this.pointRange&&!X&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval)),o=i(D.minTickInterval,this.dateTime&&!this.series.some(function(at){return at.noSharedTooltip})?this.closestPointRange:0),!X&&this.tickInterval<o&&(this.tickInterval=o),this.dateTime||this.logarithmic||X||(this.tickInterval=_(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()},R.prototype.setTickPositions=function(){var u,o=this.options,p=o.tickPositions,A=o.tickPositioner,D=this.getMinorTickInterval(),L=this.hasVerticalPanning(),a="colorAxis"===this.coll,x=(a||!L)&&o.startOnTick;if(L=(a||!L)&&o.endOnTick,a=[],this.tickmarkOffset=this.categories&&"between"===o.tickmarkPlacement&&1===this.tickInterval?.5:0,this.minorTickInterval="auto"===D&&this.tickInterval?this.tickInterval/5:D,this.single=this.min===this.max&&M(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==o.allowDecimals),p)a=p.slice();else if(s(this.min)&&s(this.max)){if(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)))if(this.dateTime)a=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)a=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else for(D=o=this.tickInterval;D<=2*o&&(a=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&a.length>this.tickAmount);)this.tickInterval=_(this,D*=1.1);else a=[this.min,this.max],I(19,!1,this.chart);a.length>this.len&&(a=[a[0],a[a.length-1]])[0]===a[1]&&(a.length=1),A&&(this.tickPositions=a,(u=A.apply(this,[this.min,this.max]))&&(a=u))}this.tickPositions=a,this.paddedTicks=a.slice(0),this.trimTicks(a,x,L),!this.isLinked&&s(this.min)&&s(this.max)&&(this.single&&2>a.length&&!this.categories&&!this.series.some(function(B){return B.is("heatmap")&&"between"===B.options.pointPlacement})&&(this.min-=.5,this.max+=.5),p||u||this.adjustTickAmount()),r(this,"afterSetTickPositions")},R.prototype.trimTicks=function(o,p,A){var D=o[0],L=o[o.length-1],a=!this.isOrdinal&&this.minPointOffset||0;if(r(this,"trimTicks"),!this.isLinked){if(p&&D!==-1/0)this.min=D;else for(;this.min-a>o[0];)o.shift();if(A)this.max=L;else for(;this.max+a<o[o.length-1];)o.pop();0===o.length&&M(D)&&!this.options.tickPositions&&o.push((L+D)/2)}},R.prototype.alignToOthers=function(){var a,o=this,p=[this],A=o.options,D="yAxis"===this.coll&&this.chart.options.chart.alignThresholds,L=[];if(o.thresholdAlignment=void 0,(!1!==this.chart.options.chart.alignTicks&&A.alignTicks||D)&&!1!==A.startOnTick&&!1!==A.endOnTick&&!o.logarithmic){var x=function(b){var N=b.options;return[b.horiz?N.left:N.top,N.width,N.height,N.pane].join()},u=x(this);this.chart[this.coll].forEach(function(b){var N=b.series;N.length&&N.some(function(X){return X.visible})&&b!==o&&x(b)===u&&(a=!0,p.push(b))})}if(a&&D){p.forEach(function(b){b=b.getThresholdAlignment(o),s(b)&&L.push(b)});var B=1<L.length?L.reduce(function(b,N){return b+N},0)/L.length:void 0;p.forEach(function(b){b.thresholdAlignment=B})}return a},R.prototype.getThresholdAlignment=function(o){if((!s(this.dataMin)||this!==o&&this.series.some(function(p){return p.isDirty||p.isDirtyData}))&&this.getSeriesExtremes(),s(this.threshold))return o=v((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1),this.options.reversed&&(o=1-o),o},R.prototype.getTickAmount=function(){var o=this.options,p=o.tickPixelInterval,A=o.tickAmount;!M(o.tickInterval)&&!A&&this.len<p&&!this.isRadial&&!this.logarithmic&&o.startOnTick&&o.endOnTick&&(A=2),!A&&this.alignToOthers()&&(A=Math.ceil(this.len/p)+1),4>A&&(this.finalTickAmt=A,A=5),this.tickAmount=A},R.prototype.adjustTickAmount=function(){var o=this,p=o.finalTickAmt,A=o.max,D=o.min,L=o.options,a=o.tickPositions,x=o.tickAmount,u=o.thresholdAlignment,B=a&&a.length,b=i(o.threshold,o.softThreshold?0:null),N=o.tickInterval;if(s(u)){var X=.5>u?Math.ceil(u*(x-1)):Math.floor(u*(x-1));L.reversed&&(X=x-1-X)}if(o.hasData()&&s(D)&&s(A)){if(u=function(){o.transA*=(B-1)/(x-1),o.min=L.startOnTick?a[0]:Math.min(D,a[0]),o.max=L.endOnTick?a[a.length-1]:Math.max(A,a[a.length-1])},s(X)&&s(o.threshold)){for(;a[X]!==b||a.length!==x||a[0]>D||a[a.length-1]<A;){for(a.length=0,a.push(o.threshold);a.length<x;)void 0===a[X]||a[X]>o.threshold?a.unshift(S(a[0]-N)):a.push(S(a[a.length-1]+N));if(N>8*o.tickInterval)break;N*=2}u()}else if(B<x){for(;a.length<x;)a.length%2||D===b?a.push(S(a[a.length-1]+N)):a.unshift(S(a[0]-N));u()}if(M(p)){for(N=b=a.length;N--;)(3===p&&N%2==1||2>=p&&0<N&&N<b-1)&&a.splice(N,1);o.finalTickAmt=void 0}}},R.prototype.setScale=function(){var o=!1,p=!1;this.series.forEach(function(D){o=o||D.isDirtyData||D.isDirty,p=p||D.xAxis&&D.xAxis.isDirty||!1}),this.setAxisSize();var A=this.len!==(this.old&&this.old.len);A||o||p||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.getSeriesExtremes(),this.setTickInterval(),this.isDirty||(this.isDirty=A||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),r(this,"afterSetScale")},R.prototype.setExtremes=function(o,p,A,D,L){var a=this,x=a.chart;A=i(A,!0),a.series.forEach(function(u){delete u.kdTree}),L=C(L,{min:o,max:p}),r(a,"setExtremes",L,function(){a.userMin=o,a.userMax=p,a.eventArgs=L,A&&x.redraw(D)})},R.prototype.zoom=function(o,p){var A=this,D=this.dataMin,L=this.dataMax,a=this.options,x=Math.min(D,i(a.min,D)),u=Math.max(L,i(a.max,L));return r(this,"zoom",o={newMin:o,newMax:p},function(B){var b=B.newMin,N=B.newMax;(b!==A.min||N!==A.max)&&(A.allowZoomOutside||(M(D)&&(b<x&&(b=x),b>u&&(b=u)),M(L)&&(N<x&&(N=x),N>u&&(N=u))),A.displayBtn=typeof b<"u"||typeof N<"u",A.setExtremes(b,N,!1,void 0,{trigger:"zoom"})),B.zoomed=!0}),o.zoomed},R.prototype.setAxisSize=function(){var o=this.chart,p=this.options,A=p.offsets||[0,0,0,0],D=this.horiz,L=this.width=Math.round(c(i(p.width,o.plotWidth-A[3]+A[1]),o.plotWidth)),a=this.height=Math.round(c(i(p.height,o.plotHeight-A[0]+A[2]),o.plotHeight)),x=this.top=Math.round(c(i(p.top,o.plotTop+A[0]),o.plotHeight,o.plotTop));p=this.left=Math.round(c(i(p.left,o.plotLeft+A[3]),o.plotWidth,o.plotLeft)),this.bottom=o.chartHeight-a-x,this.right=o.chartWidth-L-p,this.len=Math.max(D?L:a,0),this.pos=D?p:x},R.prototype.getExtremes=function(){var o=this.logarithmic;return{min:o?S(o.lin2log(this.min)):this.min,max:o?S(o.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},R.prototype.getThreshold=function(o){var p=this.logarithmic,A=p?p.lin2log(this.min):this.min;return p=p?p.lin2log(this.max):this.max,null===o||o===-1/0?o=A:o===1/0?o=p:A>o?o=A:p<o&&(o=p),this.translate(o,0,1,0,1)},R.prototype.autoLabelAlign=function(o){var p=(i(o,0)-90*this.side+720)%360;return r(this,"autoLabelAlign",o={align:"center"},function(A){15<p&&165>p?A.align="right":195<p&&345>p&&(A.align="left")}),o.align},R.prototype.tickSize=function(o){var p=this.options,A=i(p["tick"===o?"tickWidth":"minorTickWidth"],"tick"===o&&this.isXAxis&&!this.categories?1:0),D=p["tick"===o?"tickLength":"minorTickLength"];if(A&&D){"inside"===p[o+"Position"]&&(D=-D);var L=[D,A]}return r(this,"afterTickSize",o={tickSize:L}),o.tickSize},R.prototype.labelMetrics=function(){var o=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize,this.ticks[o]&&this.ticks[o].label)},R.prototype.unsquish=function(){var o=this.options.labels,p=this.horiz,A=this.tickInterval,D=this.len/(((this.categories?1:0)+this.max-this.min)/A),L=o.rotation,a=this.labelMetrics(),x=Math.max(this.max-this.min,0),u=function(ot){var tt=ot/(D||1);return(tt=1<tt?Math.ceil(tt):1)*A>x&&ot!==1/0&&D!==1/0&&x&&(tt=Math.ceil(x/A)),S(tt*A)},B=A,b=Number.MAX_VALUE;if(p){if(!o.staggerLines)if(s(L))var N=[L];else D<o.autoRotationLimit&&(N=o.autoRotation);if(N)for(var X=p=void 0,U=0,V=N;U<V.length;U++){var st=V[U];if((st===L||st&&-90<=st&&90>=st)&&(X=(p=u(Math.abs(a.h/Math.sin(g*st))))+Math.abs(st/360))<b){b=X;var rt=st;B=p}}}else B=u(a.h);return this.autoRotation=N,this.labelRotation=i(rt,s(L)?L:0),o.step?A:B},R.prototype.getSlotWidth=function(o){var p=this.chart,A=this.horiz,D=this.options.labels,L=Math.max(this.tickPositions.length-(this.categories?0:1),1),a=p.margin[3];if(o&&s(o.slotWidth))return o.slotWidth;if(A&&2>D.step)return D.rotation?0:(this.staggerLines||1)*this.len/L;if(!A){if(void 0!==(o=D.style.width))return parseInt(String(o),10);if(a)return a-p.spacing[3]}return.33*p.chartWidth},R.prototype.renderUnsquish=function(){var o=this.chart,p=o.renderer,A=this.tickPositions,D=this.ticks,L=this.options.labels,a=L.style,x=this.horiz,u=this.getSlotWidth(),B=Math.max(1,Math.round(u-2*L.padding)),b={},N=this.labelMetrics(),X=a.textOverflow,U=0;if(l(L.rotation)||(b.rotation=L.rotation||0),A.forEach(function(ot){(ot=D[ot]).movedLabel&&ot.replaceMovedLabel(),ot&&ot.label&&ot.label.textPxLength>U&&(U=ot.label.textPxLength)}),this.maxLabelLength=U,this.autoRotation)U>B&&U>N.h?b.rotation=this.labelRotation:this.labelRotation=0;else if(u){var V=B;if(!X){var st="clip";for(B=A.length;!x&&B--;){var rt=A[B];(rt=D[rt].label)&&(rt.styles&&"ellipsis"===rt.styles.textOverflow?rt.css({textOverflow:"clip"}):rt.textPxLength>u&&rt.css({width:u+"px"}),rt.getBBox().height>this.len/A.length-(N.h-N.f)&&(rt.specificTextOverflow="ellipsis"))}}}b.rotation&&(V=U>.5*o.chartHeight?.33*o.chartHeight:U,X||(st="ellipsis")),(this.labelAlign=L.align||this.autoLabelAlign(this.labelRotation))&&(b.align=this.labelAlign),A.forEach(function(ot){var tt=(ot=D[ot])&&ot.label,at=a.width,q={};tt&&(tt.attr(b),ot.shortenLabel?ot.shortenLabel():V&&!at&&"nowrap"!==a.whiteSpace&&(V<tt.textPxLength||"SPAN"===tt.element.tagName)?(q.width=V+"px",X||(q.textOverflow=tt.specificTextOverflow||st),tt.css(q)):tt.styles&&tt.styles.width&&!q.width&&!at&&tt.css({width:null}),delete tt.specificTextOverflow,ot.rotation=b.rotation)},this),this.tickRotCorr=p.rotCorr(N.b,this.labelRotation||0,0!==this.side)},R.prototype.hasData=function(){return this.series.some(function(o){return o.hasData()})||this.options.showEmpty&&M(this.min)&&M(this.max)},R.prototype.addTitle=function(o){var x,D=this.opposite,L=this.options.title,a=this.chart.styledMode;this.axisTitle||((x=L.textAlign)||(x=(this.horiz?{low:"left",middle:"center",high:"right"}:{low:D?"right":"left",middle:"center",high:D?"left":"right"})[L.align]),this.axisTitle=this.chart.renderer.text(L.text||"",0,0,L.useHTML).attr({zIndex:7,rotation:L.rotation,align:x}).addClass("highcharts-axis-title"),a||this.axisTitle.css(e(L.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||L.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[o?"show":"hide"](o)},R.prototype.generateTick=function(o){var p=this.ticks;p[o]?p[o].addLabel():p[o]=new Z(this,o)},R.prototype.getOffset=function(){var o=this,p=this,A=p.chart,D=p.horiz,L=p.options,a=p.side,x=p.ticks,u=p.tickPositions,B=p.coll,b=p.axisParent,N=A.renderer,X=A.inverted&&!p.isZAxis?[1,0,3,2][a]:a,U=p.hasData(),V=L.title,st=L.labels,rt=A.axisOffset;A=A.clipOffset;var at,ot=[-1,1,1,-1][a],tt=L.className,q=0,H=0,W=0;if(p.showAxis=at=U||L.showEmpty,p.staggerLines=p.horiz&&st.staggerLines||void 0,!p.axisGroup){var K=function(it,nt,ht){return N.g(it).attr({zIndex:ht}).addClass("highcharts-".concat(B.toLowerCase()).concat(nt," ")+(o.isRadial?"highcharts-radial-axis".concat(nt," "):"")+(tt||"")).add(b)};p.gridGroup=K("grid","-grid",L.gridZIndex),p.axisGroup=K("axis","",L.zIndex),p.labelGroup=K("axis-labels","-labels",st.zIndex)}if(U||p.isLinked?(u.forEach(function(it){p.generateTick(it)}),p.renderUnsquish(),p.reserveSpaceDefault=0===a||2===a||{1:"left",3:"right"}[a]===p.labelAlign,i(st.reserveSpace,"center"===p.labelAlign||null,p.reserveSpaceDefault)&&u.forEach(function(it){W=Math.max(x[it].getLabelSize(),W)}),p.staggerLines&&(W*=p.staggerLines),p.labelOffset=W*(p.opposite?-1:1)):t(x,function(it,nt){it.destroy(),delete x[nt]}),V&&V.text&&!1!==V.enabled&&(p.addTitle(at),at&&!1!==V.reserveSpace)){p.titleOffset=q=p.axisTitle.getBBox()[D?"height":"width"];var Q=V.offset;H=M(Q)?0:i(V.margin,D?5:10)}p.renderLine(),p.offset=ot*i(L.offset,rt[a]?rt[a]+(L.margin||0):0),p.tickRotCorr=p.tickRotCorr||{x:0,y:0},V=0===a?-p.labelMetrics().h:2===a?p.tickRotCorr.y:0,U=Math.abs(W)+H,W&&(U=U-V+ot*(D?i(st.y,p.tickRotCorr.y+8*ot):st.x)),p.axisTitleMargin=i(Q,U),p.getMaxLabelDimensions&&(p.maxLabelDimensions=p.getMaxLabelDimensions(x,u)),"colorAxis"!==B&&(D=this.tickSize("tick"),rt[a]=Math.max(rt[a],(p.axisTitleMargin||0)+q+ot*p.offset,U,u&&u.length&&D?D[0]+ot*p.offset:0),L=!p.axisLine||L.offset?0:2*Math.floor(p.axisLine.strokeWidth()/2),A[X]=Math.max(A[X],L)),r(this,"afterGetOffset")},R.prototype.getLinePath=function(o){var p=this.chart,A=this.opposite,D=this.offset,L=this.horiz,a=this.left+(A?this.width:0)+D;return D=p.chartHeight-this.bottom-(A?this.height:0)+D,A&&(o*=-1),p.renderer.crispLine([["M",L?this.left:a,L?D:this.top],["L",L?p.chartWidth-this.right:a,L?D:p.chartHeight-this.bottom]],o)},R.prototype.renderLine=function(){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}))},R.prototype.getTitlePosition=function(){var o=this.horiz,p=this.left,A=this.top,D=this.len,L=this.options.title,a=o?p:A,x=this.opposite,u=this.offset,B=L.x,b=L.y,N=this.axisTitle,X=this.chart.renderer.fontMetrics(L.style.fontSize,N);return N=N?Math.max(N.getBBox(!1,0).height-X.h-1,0):0,D={low:a+(o?0:D),middle:a+D/2,high:a+(o?D:0)}[L.align],p=(o?A+this.height:p)+(o?1:-1)*(x?-1:1)*(this.axisTitleMargin||0)+[-N,N,X.f,-N][this.side],r(this,"afterGetTitlePosition",{titlePosition:o={x:o?D+B:p+(x?this.width:0)+u+B,y:o?p+b-(x?this.height:0)+u:D+b}}),o},R.prototype.renderMinorTick=function(o,p){var A=this.minorTicks;A[o]||(A[o]=new Z(this,o,"minor")),p&&A[o].isNew&&A[o].render(null,!0),A[o].render(null,!1,1)},R.prototype.renderTick=function(o,p,A){var D=this.ticks;(!this.isLinked||o>=this.min&&o<=this.max||this.grid&&this.grid.isColumn)&&(D[o]||(D[o]=new Z(this,o)),A&&D[o].isNew&&D[o].render(p,!0,-1),D[o].render(p))},R.prototype.render=function(){var ot,tt,o=this,p=o.chart,A=o.logarithmic,D=o.options,L=o.isLinked,a=o.tickPositions,x=o.axisTitle,u=o.ticks,B=o.minorTicks,b=o.alternateBands,N=D.stackLabels,X=D.alternateGridColor,U=o.tickmarkOffset,V=o.axisLine,st=o.showAxis,rt=j(p.renderer.globalAnimation);if(o.labelEdge.length=0,o.overlap=!1,[u,B,b].forEach(function(q){t(q,function(H){H.isActive=!1})}),o.hasData()||L){var at=o.chart.hasRendered&&o.old&&s(o.old.min);o.minorTickInterval&&!o.categories&&o.getMinorTickPositions().forEach(function(q){o.renderMinorTick(q,at)}),a.length&&(a.forEach(function(q,H){o.renderTick(q,H,at)}),U&&(0===o.min||o.single)&&(u[-1]||(u[-1]=new Z(o,-1,null,!0)),u[-1].render(-1))),X&&a.forEach(function(q,H){tt=typeof a[H+1]<"u"?a[H+1]+U:o.max-U,H%2==0&&q<o.max&&tt<=o.max+(p.polar?-U:U)&&(b[q]||(b[q]=new $.PlotLineOrBand(o)),ot=q+U,b[q].options={from:A?A.lin2log(ot):ot,to:A?A.lin2log(tt):tt,color:X,className:"highcharts-alternate-grid"},b[q].render(),b[q].isActive=!0)}),o._addedPlotLB||(o._addedPlotLB=!0,(D.plotLines||[]).concat(D.plotBands||[]).forEach(function(q){o.addPlotBandOrLine(q)}))}[u,B,b].forEach(function(q){var H=[],W=rt.duration;t(q,function(K,Q){K.isActive||(K.render(Q,!1,0),K.isActive=!1,H.push(Q))}),O(function(){for(var K=H.length;K--;)q[H[K]]&&!q[H[K]].isActive&&(q[H[K]].destroy(),delete q[H[K]])},q!==b&&p.hasRendered&&W?W:0)}),V&&(V[V.isPlaced?"animate":"attr"]({d:this.getLinePath(V.strokeWidth())}),V.isPlaced=!0,V[st?"show":"hide"](st)),x&&st&&(D=o.getTitlePosition(),x[x.isNew?"attr":"animate"](D),x.isNew=!1),N&&N.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,r(this,"afterRender")},R.prototype.redraw=function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(o){o.render()})),this.series.forEach(function(o){o.isDirty=!0})},R.prototype.getKeepProps=function(){return this.keepProps||R.keepProps},R.prototype.destroy=function(o){var p=this,A=p.plotLinesAndBands,D=this.eventOptions;if(r(this,"destroy",{keepEvents:o}),o||n(p),[p.ticks,p.minorTicks,p.alternateBands].forEach(function(a){w(a)}),A)for(o=A.length;o--;)A[o].destroy();for(var L in"axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(a){p[a]&&(p[a]=p[a].destroy())}),p.plotLinesAndBandsGroups)p.plotLinesAndBandsGroups[L]=p.plotLinesAndBandsGroups[L].destroy();t(p,function(a,x){-1===p.getKeepProps().indexOf(x)&&delete p[x]}),this.eventOptions=D},R.prototype.drawCrosshair=function(o,p){var a,A=this.crosshair,D=i(A&&A.snap,!0),L=this.chart,x=this.cross;if(r(this,"drawCrosshair",{e:o,point:p}),o||(o=this.cross&&this.cross.e),A&&!1!==(M(p)||!D)){if(D?M(p)&&(a=i("colorAxis"!==this.coll?p.crosshairPos:null,this.isXAxis?p.plotX:this.len-p.plotY)):a=o&&(this.horiz?o.chartX-this.pos:this.len-o.chartY+this.pos),M(a)){var u={value:p&&(this.isXAxis?p.x:i(p.stackY,p.y)),translatedValue:a};L.polar&&C(u,{isCrosshair:!0,chartX:o&&o.chartX,chartY:o&&o.chartY,point:p}),u=this.getPlotLinePath(u)||null}if(!M(u))return void this.hideCrosshair();D=this.categories&&!this.isRadial,x||(this.cross=x=L.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(D?"category ":"thin ")+(A.className||"")).attr({zIndex:i(A.zIndex,2)}).add(),L.styledMode||(x.attr({stroke:A.color||(D?T.parse("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":i(A.width,1)}).css({"pointer-events":"none"}),A.dashStyle&&x.attr({dashstyle:A.dashStyle}))),x.show().attr({d:u}),D&&!A.width&&x.attr({"stroke-width":this.transA}),this.cross.e=o}else this.hideCrosshair();r(this,"afterDrawCrosshair",{e:o,point:p})},R.prototype.hideCrosshair=function(){this.cross&&this.cross.hide(),r(this,"afterHideCrosshair")},R.prototype.hasVerticalPanning=function(){var o=this.chart.options.chart.panning;return!!(o&&o.enabled&&/y/.test(o.type))},R.prototype.validatePositiveValue=function(o){return s(o)&&0<o},R.prototype.update=function(o,p){var A=this.chart;o=e(this.userOptions,o),this.destroy(!0),this.init(A,o),A.isDirtyBox=!0,i(p,!0)&&A.redraw()},R.prototype.remove=function(o){for(var p=this.chart,A=this.coll,D=this.series,L=D.length;L--;)D[L]&&D[L].remove(!1);E(p.axes,this),E(p[A],this),p[A].forEach(function(a,x){a.options.index=a.userOptions.index=x}),this.destroy(),p.isDirtyBox=!0,i(o,!0)&&p.redraw()},R.prototype.setTitle=function(o,p){this.update({title:o},p)},R.prototype.setCategories=function(o,p){this.update({categories:o},p)},R.defaultOptions=Y.defaultXAxisOptions,R.keepProps="extKey hcEvents names series userMax userMin".split(" "),R}()}),ct(F,"Core/Axis/DateTimeAxis.js",[F["Core/Utilities.js"]],function(G){var $,Y=G.addEvent,T=G.getMagnitude,et=G.normalizeTickInterval,J=G.timeUnits;return function(Z){function z(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function j(g){"datetime"!==g.userOptions.type?this.dateTime=void 0:this.dateTime||(this.dateTime=new m(this))}var P=[];Z.compose=function(g){return-1===P.indexOf(g)&&(P.push(g),g.keepProps.push("dateTime"),g.prototype.getTimeTicks=z,Y(g,"init",j)),g};var m=function(){function g(y){this.axis=y}return g.prototype.normalizeTimeTickInterval=function(y,k){var w,v=k||[["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]],S=J[(k=v[v.length-1])[0]],M=k[1];for(w=0;w<v.length&&(S=J[(k=v[w])[0]],M=k[1],!(v[w+1]&&y<=(S*M[M.length-1]+J[v[w+1][0]])/2));w++);return S===J.year&&y<5*S&&(M=[1,2,5]),{unitRange:S,count:y=et(y/S,M,"year"===k[0]?Math.max(T(y/S),1):1),unitName:k[0]}},g.prototype.getXDateFormat=function(y,k){var v=this.axis,S=v.chart.time;return v.closestPointRange?S.getDateFormat(v.closestPointRange,y,v.options.startOfWeek,k)||S.resolveDTLFormat(k.year).main:S.resolveDTLFormat(k.day).main},g}();Z.Additions=m}($||($={})),$}),ct(F,"Core/Axis/LogarithmicAxis.js",[F["Core/Utilities.js"]],function(G){var J,Y=G.addEvent,T=G.normalizeTickInterval,et=G.pick;return function($){function Z(m){var g=this.logarithmic;"logarithmic"!==m.userOptions.type?this.logarithmic=void 0:g||(this.logarithmic=new P(this))}function z(){var m=this.logarithmic;m&&(this.lin2val=function(g){return m.lin2log(g)},this.val2lin=function(g){return m.log2lin(g)})}var j=[];$.compose=function(m){return-1===j.indexOf(m)&&(j.push(m),m.keepProps.push("logarithmic"),Y(m,"init",Z),Y(m,"afterInit",z)),m};var P=function(){function m(g){this.axis=g}return m.prototype.getLogTickPositions=function(g,y,k,v){var S=this.axis,M=S.len,w=S.options,E=[];if(v||(this.minorAutoInterval=void 0),.5<=g)g=Math.round(g),E=S.getLinearTickPositions(g,y,k);else if(.08<=g){var C,I=Math.floor(y),r=w=void 0;for(M=.3<g?[1,2,4]:.15<g?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];I<k+1&&!r;I++){var d=M.length;for(C=0;C<d&&!r;C++){var s=this.log2lin(this.lin2log(I)*M[C]);s>y&&(!v||w<=k)&&typeof w<"u"&&E.push(w),w>k&&(r=!0),w=s}}}else y=this.lin2log(y),k=this.lin2log(k),g=v?S.getMinorTickInterval():w.tickInterval,g=et("auto"===g?null:g,this.minorAutoInterval,w.tickPixelInterval/(v?5:1)*(k-y)/((v?M/S.tickPositions.length:M)||1)),g=T(g),E=S.getLinearTickPositions(g,y,k).map(this.log2lin),v||(this.minorAutoInterval=g/5);return v||(S.tickInterval=g),E},m.prototype.lin2log=function(g){return Math.pow(10,g)},m.prototype.log2lin=function(g){return Math.log(g)/Math.LN10},m}();$.Additions=P}(J||(J={})),J}),ct(F,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[F["Core/Utilities.js"]],function(G){var J,Y=G.erase,T=G.extend,et=G.isNumber;return function($){var z,Z=[];$.compose=function(P,m){return z||(z=P),-1===Z.indexOf(m)&&(Z.push(m),T(m.prototype,j.prototype)),m};var j=function(){function P(){}return P.prototype.getPlotBandPath=function(m,g,y){void 0===y&&(y=this.options);var k=this.getPlotLinePath({value:g,force:!0,acrossPanes:y.acrossPanes}),v=[],S=this.horiz;if(g=!et(this.min)||!et(this.max)||m<this.min&&g<this.min||m>this.max&&g>this.max,m=this.getPlotLinePath({value:m,force:!0,acrossPanes:y.acrossPanes}),y=1,m&&k){if(g){var M=m.toString()===k.toString();y=0}for(g=0;g<m.length;g+=2){var w=m[g],E=m[g+1],I=k[g],C=k[g+1];"M"!==w[0]&&"L"!==w[0]||"M"!==E[0]&&"L"!==E[0]||"M"!==I[0]&&"L"!==I[0]||"M"!==C[0]&&"L"!==C[0]||(S&&I[1]===w[1]?(I[1]+=y,C[1]+=y):S||I[2]!==w[2]||(I[2]+=y,C[2]+=y),v.push(["M",w[1],w[2]],["L",E[1],E[2]],["L",C[1],C[2]],["L",I[1],I[2]],["Z"])),v.isFlat=M}}return v},P.prototype.addPlotBand=function(m){return this.addPlotBandOrLine(m,"plotBands")},P.prototype.addPlotLine=function(m){return this.addPlotBandOrLine(m,"plotLines")},P.prototype.addPlotBandOrLine=function(m,g){var y=this,k=this.userOptions,v=new z(this,m);if(this.visible&&(v=v.render()),v){if(this._addedPlotLB||(this._addedPlotLB=!0,(k.plotLines||[]).concat(k.plotBands||[]).forEach(function(M){y.addPlotBandOrLine(M)})),g){var S=k[g]||[];S.push(m),k[g]=S}this.plotLinesAndBands.push(v)}return v},P.prototype.removePlotBandOrLine=function(m){var g=this.plotLinesAndBands,y=this.options,k=this.userOptions;if(g){for(var v=g.length;v--;)g[v].id===m&&g[v].destroy();[y.plotLines||[],k.plotLines||[],y.plotBands||[],k.plotBands||[]].forEach(function(S){for(v=S.length;v--;)(S[v]||{}).id===m&&Y(S,S[v])})}},P.prototype.removePlotBand=function(m){this.removePlotBandOrLine(m)},P.prototype.removePlotLine=function(m){this.removePlotBandOrLine(m)},P}()}(J||(J={})),J}),ct(F,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[F["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],F["Core/Utilities.js"]],function(G,Y){var T=Y.arrayMax,et=Y.arrayMin,J=Y.defined,$=Y.destroyObjectProperties,Z=Y.erase,z=Y.fireEvent,j=Y.merge,P=Y.objectEach,m=Y.pick;return function(){function g(y,k){this.axis=y,k&&(this.options=k,this.id=k.id)}return g.compose=function(y){return G.compose(g,y)},g.prototype.render=function(){z(this,"render");var y=this,k=y.axis,v=k.horiz,S=k.logarithmic,M=y.options,w=M.color,E=m(M.zIndex,0),I=M.events,C={},r=k.chart.renderer,d=M.label,s=y.label,l=M.to,e=M.from,h=M.value,t=y.svgElem,i=[],c=J(e)&&J(l);i=J(h);var n=!t,f={class:"highcharts-plot-"+(c?"band ":"line ")+(M.className||"")},O=c?"bands":"lines";if(S&&(e=S.log2lin(e),l=S.log2lin(l),h=S.log2lin(h)),k.chart.styledMode||(i?(f.stroke=w||"#999999",f["stroke-width"]=m(M.width,1),M.dashStyle&&(f.dashstyle=M.dashStyle)):c&&(f.fill=w||"#e6ebf5",M.borderWidth&&(f.stroke=M.borderColor,f["stroke-width"]=M.borderWidth))),C.zIndex=E,(S=k.plotLinesAndBandsGroups[O+="-"+E])||(k.plotLinesAndBandsGroups[O]=S=r.g("plot-"+O).attr(C).add()),n&&(y.svgElem=t=r.path().attr(f).add(S)),i)i=k.getPlotLinePath({value:h,lineWidth:t.strokeWidth(),acrossPanes:M.acrossPanes});else{if(!c)return;i=k.getPlotBandPath(e,l,M)}return!y.eventsAdded&&I&&(P(I,function(_,R){t.on(R,function(o){I[R].apply(y,[o])})}),y.eventsAdded=!0),(n||!t.d)&&i&&i.length?t.attr({d:i}):t&&(i?(t.show(),t.animate({d:i})):t.d&&(t.hide(),s&&(y.label=s=s.destroy()))),d&&(J(d.text)||J(d.formatter))&&i&&i.length&&0<k.width&&0<k.height&&!i.isFlat?(d=j({align:v&&c&&"center",x:v?!c&&4:10,verticalAlign:!v&&c&&"middle",y:v?c?16:10:c?6:-4,rotation:v&&!c&&90},d),this.renderLabel(d,i,c,E)):s&&s.hide(),y},g.prototype.renderLabel=function(y,k,v,S){var M=this.axis,w=M.chart.renderer,E=this.label;E||(this.label=E=w.text(this.getLabelText(y),0,0,y.useHTML).attr({align:y.textAlign||y.align,rotation:y.rotation,class:"highcharts-plot-"+(v?"band":"line")+"-label "+(y.className||""),zIndex:S}).add(),M.chart.styledMode||E.css(j({textOverflow:"ellipsis"},y.style))),S=k.xBounds||[k[0][1],k[1][1],v?k[2][1]:k[0][1]],k=k.yBounds||[k[0][2],k[1][2],v?k[2][2]:k[0][2]],v=et(S),w=et(k),E.align(y,!1,{x:v,y:w,width:T(S)-v,height:T(k)-w}),E.alignValue&&"left"!==E.alignValue||(y=y.clip?M.width:M.chart.chartWidth,E.css({width:(90===E.rotation?M.height-(E.alignAttr.y-M.top):y-(E.alignAttr.x-M.left))+"px"})),E.show(!0)},g.prototype.getLabelText=function(y){return J(y.formatter)?y.formatter.call(this):y.text},g.prototype.destroy=function(){Z(this.axis.plotLinesAndBands,this),delete this.axis,$(this)},g}()}),ct(F,"Core/Tooltip.js",[F["Core/FormatUtilities.js"],F["Core/Globals.js"],F["Core/Renderer/RendererUtilities.js"],F["Core/Renderer/RendererRegistry.js"],F["Core/Utilities.js"]],function(G,Y,T,et,J){var $=G.format,Z=Y.doc,z=T.distribute,j=J.clamp,P=J.css,m=J.discardElement,g=J.extend,y=J.fireEvent,k=J.isArray,v=J.isNumber,S=J.isString,M=J.merge,w=J.pick,E=J.splat,I=J.syncTimeout;return function(){function C(r,d){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=r,this.init(r,d)}return C.prototype.applyFilter=function(){var r=this.chart;r.renderer.definition({tagName:"filter",attributes:{id:"drop-shadow-"+r.index,opacity:.5},children:[{tagName:"feGaussianBlur",attributes:{in:"SourceAlpha",stdDeviation:1}},{tagName:"feOffset",attributes:{dx:1,dy:1}},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",attributes:{type:"linear",slope:.3}}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode",attributes:{in:"SourceGraphic"}}]}]})},C.prototype.bodyFormatter=function(r){return r.map(function(d){var s=d.series.tooltipOptions;return(s[(d.point.formatPrefix||"point")+"Formatter"]||d.point.tooltipFormatter).call(d.point,s[(d.point.formatPrefix||"point")+"Format"]||"")})},C.prototype.cleanSplit=function(r){this.chart.series.forEach(function(d){var s=d&&d.tt;s&&(!s.isActive||r?d.tt=s.destroy():s.isActive=!1)})},C.prototype.defaultFormatter=function(r){var d=this.points||E(this),s=[r.tooltipFooterHeaderFormatter(d[0])];return(s=s.concat(r.bodyFormatter(d))).push(r.tooltipFooterHeaderFormatter(d[0],!0)),s},C.prototype.destroy=function(){this.label&&(this.label=this.label.destroy()),this.split&&this.tt&&(this.cleanSplit(!0),this.tt=this.tt.destroy()),this.renderer&&(this.renderer=this.renderer.destroy(),m(this.container)),J.clearTimeout(this.hideTimer),J.clearTimeout(this.tooltipTimeout)},C.prototype.getAnchor=function(r,d){var s=this.chart,l=s.pointer,e=s.inverted,h=s.plotTop;if(s=s.plotLeft,(r=E(r))[0].series&&r[0].series.yAxis&&!r[0].series.yAxis.options.reversedStacks&&(r=r.slice().reverse()),this.followPointer&&d)typeof d.chartX>"u"&&(d=l.normalize(d)),r=[d.chartX-s,d.chartY-h];else if(r[0].tooltipPos)r=r[0].tooltipPos;else{var t=0,i=0;r.forEach(function(c){(c=c.pos(!0))&&(t+=c[0],i+=c[1])}),t/=r.length,i/=r.length,this.shared&&1<r.length&&d&&(e?t=d.chartX:i=d.chartY),r=[t-s,i-h]}return r.map(Math.round)},C.prototype.getClassName=function(r,d,s){var l=r.series,e=l.options;return[this.options.className,"highcharts-label",s&&"highcharts-tooltip-header",d?"highcharts-tooltip-box":"highcharts-tooltip",!s&&"highcharts-color-"+w(r.colorIndex,l.colorIndex),e&&e.className].filter(S).join(" ")},C.prototype.getLabel=function(){var h,r=this,d=this.chart.styledMode,s=this.options,l=this.split&&this.allowShared,e=s.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none"),t=this.chart.renderer;if(r.label){var i=!r.label.hasClass("highcharts-label");(l&&!i||!l&&i)&&r.destroy()}if(!this.label){if(this.outside){i=this.chart.options.chart.style;var c=et.getRendererType();this.container=h=Y.doc.createElement("div"),h.className="highcharts-tooltip-container",P(h,{position:"absolute",top:"1px",pointerEvents:e,zIndex:Math.max(this.options.style.zIndex||0,(i&&i.zIndex||0)+3)}),Y.doc.body.appendChild(h),this.renderer=t=new c(h,0,0,i,void 0,void 0,t.styledMode)}if(l?this.label=t.g("tooltip"):(this.label=t.label("",0,0,s.shape,void 0,void 0,s.useHTML,void 0,"tooltip").attr({padding:s.padding,r:s.borderRadius}),d||this.label.attr({fill:s.backgroundColor,"stroke-width":s.borderWidth}).css(s.style).css({pointerEvents:e}).shadow(s.shadow)),d&&s.shadow&&(this.applyFilter(),this.label.attr({filter:"url(#drop-shadow-"+this.chart.index+")"})),r.outside&&!r.split){var n=this.label,f=n.xSetter,O=n.ySetter;n.xSetter=function(_){f.call(n,r.distance),h.style.left=_+"px"},n.ySetter=function(_){O.call(n,r.distance),h.style.top=_+"px"}}this.label.attr({zIndex:8}).add()}return this.label},C.prototype.getPosition=function(r,d,s){var o,l=this.chart,e=this.distance,h={},t=l.inverted&&s.h||0,i=this.outside,c=i?Z.documentElement.clientWidth-2*e:l.chartWidth,n=i?Math.max(Z.body.scrollHeight,Z.documentElement.scrollHeight,Z.body.offsetHeight,Z.documentElement.offsetHeight,Z.documentElement.clientHeight):l.chartHeight,f=l.pointer.getChartPosition(),O=function(x){var u="x"===x;return[x,u?c:n,u?r:d].concat(i?[u?r*f.scaleX:d*f.scaleY,u?f.left-e+(s.plotX+l.plotLeft)*f.scaleX:f.top-e+(s.plotY+l.plotTop)*f.scaleY,0,u?c:n]:[u?r:d,u?s.plotX+l.plotLeft:s.plotY+l.plotTop,u?l.plotLeft:l.plotTop,u?l.plotLeft+l.plotWidth:l.plotTop+l.plotHeight])},_=O("y"),R=O("x");O=!!s.negative,!l.polar&&l.hoverSeries&&l.hoverSeries.yAxis&&l.hoverSeries.yAxis.reversed&&(O=!O);var p=!this.followPointer&&w(s.ttBelow,!l.inverted===O),A=function(x,u,B,b,N,X,U){var V=i?"y"===x?e*f.scaleY:e*f.scaleX:e,st=(B-b)/2,rt=b<N-e,ot=N+e+b<u,tt=N-V-B+st;if(N=N+V-st,p&&ot)h[x]=N;else if(!p&&rt)h[x]=tt;else if(rt)h[x]=Math.min(U-b,0>tt-t?tt:tt-t);else{if(!ot)return!1;h[x]=Math.max(X,N+t+B>u?N:N+t)}},D=function(x,u,B,b,N){var X;return N<e||N>u-e?X=!1:h[x]=N<B/2?1:N>u-b/2?u-b-2:N-B/2,X},L=function(x){var u=_;_=R,R=u,o=x},a=function(){!1!==A.apply(0,_)?!1!==D.apply(0,R)||o||(L(!0),a()):o?h.x=h.y=0:(L(!0),a())};return(l.inverted||1<this.len)&&L(),a(),h},C.prototype.hide=function(r){var d=this;J.clearTimeout(this.hideTimer),r=w(r,this.options.hideDelay),this.isHidden||(this.hideTimer=I(function(){d.getLabel().fadeOut(r&&void 0),d.isHidden=!0},r))},C.prototype.init=function(r,d){this.chart=r,this.options=d,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=d.split&&!r.inverted&&!r.polar,this.shared=d.shared||this.split,this.outside=w(d.outside,!(!r.scrollablePixelsX&&!r.scrollablePixelsY))},C.prototype.shouldStickOnContact=function(r){return!(this.followPointer||!this.options.stickOnContact||r&&!this.chart.pointer.inClass(r.target,"highcharts-tooltip"))},C.prototype.move=function(r,d,s,l){var e=this,h=e.now,t=!1!==e.options.animation&&!e.isHidden&&(1<Math.abs(r-h.x)||1<Math.abs(d-h.y)),i=e.followPointer||1<e.len;g(h,{x:t?(2*h.x+r)/3:r,y:t?(h.y+d)/2:d,anchorX:i?void 0:t?(2*h.anchorX+s)/3:s,anchorY:i?void 0:t?(h.anchorY+l)/2:l}),e.getLabel().attr(h),e.drawTracker(),t&&(J.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){e&&e.move(r,d,s,l)},32))},C.prototype.refresh=function(r,d){var s=this.chart,l=this.options,e=s.pointer,h=E(r),t=h[0],i=[],c=l.formatter||this.defaultFormatter,n=this.shared,f=s.styledMode,O={};if(l.enabled&&t.series){J.clearTimeout(this.hideTimer),this.allowShared=!(!k(r)&&r.series&&r.series.noSharedTooltip),this.followPointer=!this.split&&t.series.tooltipOptions.followPointer;var _=(r=this.getAnchor(r,d))[0],R=r[1];if(n&&this.allowShared?(e.applyInactiveState(h),h.forEach(function(A){A.setState("hover"),i.push(A.getLabelConfig())}),(O={x:t.category,y:t.y}).points=i):O=t.getLabelConfig(),this.len=i.length,c=c.call(O,this),this.distance=w((n=t.series).tooltipOptions.distance,16),!1===c)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(c,h);else{var o=_,p=R;if(d&&e.isDirectTouch&&(o=d.chartX-s.plotLeft,p=d.chartY-s.plotTop),!s.polar&&!1!==n.options.clip&&!h.some(function(A){return e.isDirectTouch||A.series.shouldShowTooltip(o,p)}))return void this.hide();d=this.getLabel(),l.style.width&&!f||d.css({width:s.spacingBox.width+"px"}),d.attr({text:c&&c.join?c.join(""):c}),d.addClass(this.getClassName(t),!0),f||d.attr({stroke:l.borderColor||t.color||n.color||"#666666"}),this.updatePosition({plotX:_,plotY:R,negative:t.negative,ttBelow:t.ttBelow,h:r[2]||0})}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}y(this,"refresh")}},C.prototype.renderSplit=function(r,d){function s(ot,tt,at,q,H){return void 0===H&&(H=!0),at?(tt=b?0:V,ot=j(ot-q/2,x.left,x.right-q-(l.outside?N:0))):(tt-=X,ot=j(ot=H?ot-q-D:ot+D,H?ot:x.left,x.right)),{x:ot,y:tt}}var l=this,e=l.chart,h=l.chart,t=h.chartWidth,i=h.chartHeight,c=h.plotHeight,n=h.plotLeft,f=h.plotTop,O=h.pointer,_=h.scrollablePixelsY;_=void 0===_?0:_;var o=h.scrollingContainer,p=(o=void 0===o?{scrollLeft:0,scrollTop:0}:o).scrollLeft;o=o.scrollTop;var A=h.styledMode,D=l.distance,L=l.options,a=l.options.positioner,x=l.outside&&"number"!=typeof h.scrollablePixelsX?Z.documentElement.getBoundingClientRect():{left:p,right:p+t,top:o,bottom:o+i},u=l.getLabel(),B=this.renderer||e.renderer,b=!(!e.xAxis[0]||!e.xAxis[0].opposite),N=(e=O.getChartPosition()).left;e=e.top;var X=f+o,U=0,V=c-_;S(r)&&(r=[!1,r]),r=r.slice(0,d.length+1).reduce(function(ot,tt,at){if(!1!==tt&&""!==tt){var q=(at=d[at-1]||{isHeader:!0,plotX:d[0].plotX,plotY:c,series:{}}).isHeader,H=q?l:at.series;tt=tt.toString();var W=H.tt,K=at.isHeader,Q=at.series;W||(W={padding:L.padding,r:L.borderRadius},A||(W.fill=L.backgroundColor,W["stroke-width"]=L.borderWidth),W=B.label("",0,0,L[K?"headerShape":"shape"],void 0,void 0,L.useHTML).addClass(l.getClassName(at,!0,K)).attr(W).add(u)),W.isActive=!0,W.attr({text:tt}),A||W.css(L.style).shadow(L.shadow).attr({stroke:L.borderColor||at.color||Q.color||"#333333"}),tt=(K=(H=H.tt=W).getBBox()).width+H.strokeWidth(),q&&(V+=U=K.height,b&&(X-=U)),Q=void 0===(Q=at.plotX)?0:Q,W=void 0===(W=at.plotY)?0:W;var it=at.series;if(at.isHeader){Q=n+Q;var nt=f+c/2}else{var ht=it.xAxis,pt=it.yAxis;Q=ht.pos+j(Q,-D,ht.len+D),it.shouldShowTooltip(0,pt.pos-f+W,{ignoreX:!0})&&(nt=pt.pos+W)}Q=j(Q,x.left-D,x.right+D),"number"==typeof nt?(K=K.height+1,W=a?a.call(l,tt,K,at):s(Q,nt,q,tt),ot.push({align:a?0:void 0,anchorX:Q,anchorY:nt,boxWidth:tt,point:at,rank:w(W.rank,q?1:0),size:K,target:W.y,tt:H,x:W.x})):H.isActive=!1}return ot},[]),!a&&r.some(function(ot){var tt=(l.outside?N:0)+ot.anchorX;return tt<x.left&&tt+ot.boxWidth<x.right||tt<N-x.left+ot.boxWidth&&x.right-tt>tt})&&(r=r.map(function(ot){var tt=s(ot.anchorX,ot.anchorY,ot.point.isHeader,ot.boxWidth,!1);return g(ot,{target:tt.y,x:tt.x})})),l.cleanSplit(),z(r,V);var st=N,rt=N;r.forEach(function(ot){var tt=ot.x,at=ot.boxWidth;(ot=ot.isHeader)||(l.outside&&N+tt<st&&(st=N+tt),!ot&&l.outside&&st+at>rt&&(rt=N+tt))}),r.forEach(function(ot){var tt=ot.x,at=ot.anchorX,q=ot.pos,H=ot.point.isHeader;if(q={visibility:typeof q>"u"?"hidden":"inherit",x:tt,y:(q||0)+X,anchorX:at,anchorY:ot.anchorY},l.outside&&tt<at){var W=N-st;0<W&&(H||(q.x=tt+W,q.anchorX=at+W),H&&(q.x=(rt-st)/2,q.anchorX=at+W))}ot.tt.attr(q)}),r=l.container,_=l.renderer,l.outside&&r&&_&&(h=u.getBBox(),_.setSize(h.width+h.x,h.height+h.y,!1),r.style.left=st+"px",r.style.top=e+"px")},C.prototype.drawTracker=function(){if(this.shouldStickOnContact()){var r=this.chart,d=this.label,s=this.shared?r.hoverPoints:r.hoverPoint;if(d&&s){var l={x:0,y:0,width:0,height:0};s=this.getAnchor(s);var e=d.getBBox();s[0]+=r.plotLeft-d.translateX,s[1]+=r.plotTop-d.translateY,l.x=Math.min(0,s[0]),l.y=Math.min(0,s[1]),l.width=0>s[0]?Math.max(Math.abs(s[0]),e.width-s[0]):Math.max(Math.abs(s[0]),e.width),l.height=0>s[1]?Math.max(Math.abs(s[1]),e.height-Math.abs(s[1])):Math.max(Math.abs(s[1]),e.height),this.tracker?this.tracker.attr(l):(this.tracker=d.renderer.rect(l).addClass("highcharts-tracker").add(d),r.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}else this.tracker&&this.tracker.destroy()},C.prototype.styledModeFormat=function(r){return r.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')},C.prototype.tooltipFooterHeaderFormatter=function(r,d){var s=r.series,l=s.tooltipOptions,e=s.xAxis,h=e&&e.dateTime,t=l.xDateFormat,i=l[d?"footerFormat":"headerFormat"];return y(this,"headerFormatter",e={isFooter:d,labelConfig:r},function(c){h&&!t&&v(r.key)&&(t=h.getXDateFormat(r.key,l.dateTimeLabelFormats)),h&&t&&(r.point&&r.point.tooltipDateKeys||["key"]).forEach(function(n){i=i.replace("{point."+n+"}","{point."+n+":"+t+"}")}),s.chart.styledMode&&(i=this.styledModeFormat(i)),c.text=$(i,{point:r,series:s},this.chart)}),e.text},C.prototype.update=function(r){this.destroy(),M(!0,this.chart.options.tooltip.userOptions,r),this.init(this.chart,M(!0,this.options,r))},C.prototype.updatePosition=function(r){var d=this.chart,s=this.distance,l=this.options,e=d.pointer,h=this.getLabel(),t=e.getChartPosition();e=t.left;var i=t.top,c=t.scaleX;t=t.scaleY;var n=(l.positioner||this.getPosition).call(this,h.width,h.height,r),f=(r.plotX||0)+d.plotLeft;r=(r.plotY||0)+d.plotTop,this.outside&&(l.positioner&&(n.x+=e-s,n.y+=i-s),this.renderer.setSize(h.width+(s=l.borderWidth+2*s),h.height+s,!1),(1!==c||1!==t)&&(P(this.container,{transform:"scale(".concat(c,", ").concat(t,")")}),f*=c,r*=t),f+=e-n.x,r+=i-n.y),this.move(Math.round(n.x),Math.round(n.y||0),f,r)},C}()}),ct(F,"Core/Series/Point.js",[F["Core/Renderer/HTML/AST.js"],F["Core/Animation/AnimationUtilities.js"],F["Core/Defaults.js"],F["Core/FormatUtilities.js"],F["Core/Utilities.js"]],function(G,Y,T,et,J){var $=Y.animObject,Z=T.defaultOptions,z=et.format,j=J.addEvent,P=J.defined,m=J.erase,g=J.extend,y=J.fireEvent,k=J.getNestedProperty,v=J.isArray,S=J.isFunction,M=J.isNumber,w=J.isObject,E=J.merge,I=J.objectEach,C=J.pick,r=J.syncTimeout,d=J.removeEvent,s=J.uniqueKey;return function(){function l(){this.category=void 0,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}return l.prototype.animateBeforeDestroy=function(){var e=this,h={x:e.startXPos,opacity:0},t=e.getGraphicalProps();t.singular.forEach(function(i){e[i]=e[i].animate("dataLabel"===i?{x:e[i].startXPos,y:e[i].startYPos,opacity:0}:h)}),t.plural.forEach(function(i){e[i].forEach(function(c){c.element&&c.animate(g({x:e.startXPos},c.startYPos?{x:c.startXPos,y:c.startYPos}:{}))})})},l.prototype.applyOptions=function(e,h){var t=this.series,i=t.options.pointValKey||t.pointValKey;return e=l.prototype.optionsToObject.call(this,e),g(this,e),this.options=this.options?g(this.options,e):e,e.group&&delete this.group,e.dataLabels&&delete this.dataLabels,i&&(this.y=l.prototype.getNestedProperty.call(this,i)),this.formatPrefix=(this.isNull=this.isValid&&!this.isValid())?"null":"point",this.selected&&(this.state="select"),"name"in this&&typeof h>"u"&&t.xAxis&&t.xAxis.hasNames&&(this.x=t.xAxis.nameToX(this)),typeof this.x>"u"&&t?this.x=typeof h>"u"?t.autoIncrement():h:M(e.x)&&t.options.relativeXValue&&(this.x=t.autoIncrement(e.x)),this},l.prototype.destroy=function(){function e(){for(f in(h.graphic||h.graphics||h.dataLabel||h.dataLabels)&&(d(h),h.destroyElements()),h)h[f]=null}var h=this,t=h.series,i=t.chart;t=t.options.dataSorting;var f,c=i.hoverPoints,n=$(h.series.chart.renderer.globalAnimation);h.legendItem&&i.legend.destroyItem(h),c&&(h.setState(),m(c,h),c.length||(i.hoverPoints=null)),h===i.hoverPoint&&h.onMouseOut(),t&&t.enabled?(this.animateBeforeDestroy(),r(e,n.duration)):e(),i.pointCount--},l.prototype.destroyElements=function(e){var h=this;(e=h.getGraphicalProps(e)).singular.forEach(function(t){h[t]=h[t].destroy()}),e.plural.forEach(function(t){h[t].forEach(function(i){i&&i.element&&i.destroy()}),delete h[t]})},l.prototype.firePointEvent=function(e,h,t){var i=this,c=this.series.options;(c.point.events[e]||i.options&&i.options.events&&i.options.events[e])&&i.importEvents(),"click"===e&&c.allowPointSelect&&(t=function(n){i.select&&i.select(null,n.ctrlKey||n.metaKey||n.shiftKey)}),y(i,e,h,t)},l.prototype.getClassName=function(){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",""):"")},l.prototype.getGraphicalProps=function(e){var c,h=this,t=[],i={singular:[],plural:[]};for((e=e||{graphic:1,dataLabel:1}).graphic&&t.push("graphic","shadowGroup"),e.dataLabel&&t.push("dataLabel","dataLabelPath","dataLabelUpper","connector"),c=t.length;c--;){var n=t[c];h[n]&&i.singular.push(n)}return["graphic","dataLabel","connector"].forEach(function(f){var O=f+"s";e[f]&&h[O]&&i.plural.push(O)}),i},l.prototype.getLabelConfig=function(){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}},l.prototype.getNestedProperty=function(e){if(e)return 0===e.indexOf("custom.")?k(e,this.options):this[e]},l.prototype.getZone=function(){var e=this.series,h=e.zones;e=e.zoneAxis||"y";var t,i=0;for(t=h[i];this[e]>=t.value;)t=h[++i];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=t&&t.color&&!this.options.color?t.color:this.nonZonedColor,t},l.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType},l.prototype.init=function(e,h,t){return this.series=e,this.applyOptions(h,t),this.id=P(this.id)?this.id:s(),this.resolveColor(),e.chart.pointCount++,y(this,"afterInit"),this},l.prototype.isValid=function(){return null!==this.x&&M(this.y)},l.prototype.optionsToObject=function(e){var h=this.series,t=h.options.keys,i=t||h.pointArrayMap||["y"],c=i.length,n={},f=0,O=0;if(M(e)||null===e)n[i[0]]=e;else if(v(e))for(!t&&e.length>c&&("string"==(h=typeof e[0])?n.name=e[0]:"number"===h&&(n.x=e[0]),f++);O<c;)t&&typeof e[f]>"u"||(0<i[O].indexOf(".")?l.prototype.setNestedProperty(n,e[f],i[O]):n[i[O]]=e[f]),f++,O++;else"object"==typeof e&&(n=e,e.dataLabels&&(h._hasPointLabels=!0),e.marker&&(h._hasPointMarkers=!0));return n},l.prototype.pos=function(e,h){void 0===h&&(h=this.plotY);var t=this.plotX,i=this.series,c=i.chart,n=i.xAxis;i=i.yAxis;var f=0,O=0;if(M(t)&&M(h))return e&&(f=n?n.pos:c.plotLeft,O=i?i.pos:c.plotTop),c.inverted&&n&&i?[i.len-h+O,n.len-t+f]:[t+f,h+O]},l.prototype.resolveColor=function(){var e=this.series,h=e.chart.styledMode,t=e.chart.options.chart.colorCount;if(delete this.nonZonedColor,e.options.colorByPoint){if(!h){var i=(t=e.options.colors||e.chart.options.colors)[e.colorCounter];t=t.length}h=e.colorCounter,e.colorCounter++,e.colorCounter===t&&(e.colorCounter=0)}else h||(i=e.color),h=e.colorIndex;this.colorIndex=C(this.options.colorIndex,h),this.color=C(this.options.color,i)},l.prototype.setNestedProperty=function(e,h,t){return t.split(".").reduce(function(i,c,n,f){return i[c]=f.length-1===n?h:w(i[c],!0)?i[c]:{},i[c]},e),e},l.prototype.shouldDraw=function(){return!this.isNull},l.prototype.tooltipFormatter=function(e){var h=this.series,t=h.tooltipOptions,i=C(t.valueDecimals,""),c=t.valuePrefix||"",n=t.valueSuffix||"";return h.chart.styledMode&&(e=h.chart.tooltip.styledModeFormat(e)),(h.pointArrayMap||["y"]).forEach(function(f){f="{point."+f,(c||n)&&(e=e.replace(RegExp(f+"}","g"),c+f+"}"+n)),e=e.replace(RegExp(f+"}","g"),f+":,."+i+"f}")}),z(e,{point:this,series:this.series},h.chart)},l.prototype.update=function(e,h,t,i){function c(){n.applyOptions(e);var p=O&&n.hasMockGraphic;p=null===n.y?!p:p,O&&p&&(n.graphic=O.destroy(),delete n.hasMockGraphic),w(e,!0)&&(O&&O.element&&e&&e.marker&&typeof e.marker.symbol<"u"&&(n.graphic=O.destroy()),e&&e.dataLabels&&n.dataLabel&&(n.dataLabel=n.dataLabel.destroy()),n.connector&&(n.connector=n.connector.destroy())),f.updateParallelArrays(n,o=n.index),R.data[o]=w(R.data[o],!0)||w(e,!0)?n.options:C(e,R.data[o]),f.isDirty=f.isDirtyData=!0,!f.fixedBox&&f.hasCartesianSeries&&(_.isDirtyBox=!0),"point"===R.legendType&&(_.isDirtyLegend=!0),h&&_.redraw(t)}var o,n=this,f=n.series,O=n.graphic,_=f.chart,R=f.options;h=C(h,!0),!1===i?c():n.firePointEvent("update",{options:e},c)},l.prototype.remove=function(e,h){this.series.removePoint(this.series.data.indexOf(this),e,h)},l.prototype.select=function(e,h){var t=this,i=t.series,c=i.chart;this.selectedStaging=e=C(e,!t.selected),t.firePointEvent(e?"select":"unselect",{accumulate:h},function(){t.selected=t.options.selected=e,i.options.data[i.data.indexOf(t)]=t.options,t.setState(e&&"select"),h||c.getSelectedPoints().forEach(function(n){var f=n.series;n.selected&&n!==t&&(n.selected=n.options.selected=!1,f.options.data[f.data.indexOf(n)]=n.options,n.setState(c.hoverPoints&&f.options.inactiveOtherPoints?"inactive":""),n.firePointEvent("unselect"))})}),delete this.selectedStaging},l.prototype.onMouseOver=function(e){var h=this.series.chart,t=h.pointer;e=e?t.normalize(e):t.getChartCoordinatesFromPoint(this,h.inverted),t.runPointActions(e,this)},l.prototype.onMouseOut=function(){var e=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(e.hoverPoints||[]).forEach(function(h){h.setState()}),e.hoverPoints=e.hoverPoint=null},l.prototype.importEvents=function(){if(!this.hasImportedEvents){var e=this,h=E(e.series.options.point,e.options).events;e.events=h,I(h,function(t,i){S(t)&&j(e,i,t)}),this.hasImportedEvents=!0}},l.prototype.setState=function(e,h){var D,t=this.series,i=this.state,c=t.options.states[e||"normal"]||{},n=Z.plotOptions[t.type].marker&&t.options.marker,O=n&&n.states&&n.states[e||"normal"]||{},R=this.marker||{},o=t.chart,p=n&&t.markerAttribs,A=t.halo,L=t.stateMarkerGraphic;if(!((e=e||"")===this.state&&!h||this.selected&&"select"!==e||!1===c.enabled||e&&(!1===O.enabled||n&&!1===n.enabled&&!1===O.enabled)||e&&R.states&&R.states[e]&&!1===R.states[e].enabled)){if(this.state=e,p&&(D=t.markerAttribs(this,e)),this.graphic&&!this.hasMockGraphic){if(i&&this.graphic.removeClass("highcharts-point-"+i),e&&this.graphic.addClass("highcharts-point-"+e),!o.styledMode){i=t.pointAttribs(this,e);var a=C(o.options.chart.animation,c.animation),x=i.opacity;t.options.inactiveOtherPoints&&M(x)&&((this.dataLabels||[]).forEach(function(u){u&&!u.hasClass("highcharts-data-label-hidden")&&u.animate({opacity:x},a)}),this.connector&&this.connector.animate({opacity:x},a)),this.graphic.animate(i,a)}D&&this.graphic.animate(D,C(o.options.chart.animation,O.animation,n.animation)),L&&L.hide()}else e&&O&&(n=R.symbol||t.symbol,L&&L.currentSymbol!==n&&(L=L.destroy()),D&&(L?L[h?"animate":"attr"]({x:D.x,y:D.y}):n&&(t.stateMarkerGraphic=L=o.renderer.symbol(n,D.x,D.y,D.width,D.height).add(t.markerGroup),L.currentSymbol=n)),!o.styledMode&&L&&"inactive"!==this.state&&L.attr(t.pointAttribs(this,e))),L&&(L[e&&this.isInside?"show":"hide"](),L.element.point=this,L.addClass(this.getClassName(),!0));D=(L=this.graphic||L)&&L.visibility||"inherit",(c=c.halo)&&c.size&&L&&"hidden"!==D&&!this.isCluster?(A||(t.halo=A=o.renderer.path().add(L.parentGroup)),A.show()[h?"animate":"attr"]({d:this.haloPath(c.size)}),A.attr({class:"highcharts-halo highcharts-color-"+C(this.colorIndex,t.colorIndex)+(this.className?" "+this.className:""),visibility:D,zIndex:-1}),A.point=this,o.styledMode||A.attr(g({fill:this.color||t.color,"fill-opacity":c.opacity},G.filterUserAttributes(c.attributes||{})))):A&&A.point&&A.point.haloPath&&A.animate({d:A.point.haloPath(0)},null,A.hide),y(this,"afterSetState",{state:e})}},l.prototype.haloPath=function(e){var h=this.pos();return h?this.series.chart.renderer.symbols.circle(Math.floor(h[0])-e,h[1]-e,2*e,2*e):[]},l}()}),ct(F,"Core/Pointer.js",[F["Core/Color/Color.js"],F["Core/Globals.js"],F["Core/Tooltip.js"],F["Core/Utilities.js"]],function(G,Y,T,et){var J=G.parse,$=Y.charts,Z=Y.noop,z=et.addEvent,j=et.attr,P=et.css,m=et.defined,g=et.extend,y=et.find,k=et.fireEvent,v=et.isNumber,S=et.isObject,M=et.objectEach,w=et.offset,E=et.pick,I=et.splat;return function(){function C(r,d){this.lastValidTouch={},this.pinchDown=[],this.runChartClick=!1,this.eventsToUnbind=[],this.chart=r,this.hasDragged=!1,this.options=d,this.init(r,d)}return C.prototype.applyInactiveState=function(r){var s,d=[];(r||[]).forEach(function(l){d.push(s=l.series),s.linkedParent&&d.push(s.linkedParent),s.linkedSeries&&(d=d.concat(s.linkedSeries)),s.navigatorSeries&&d.push(s.navigatorSeries)}),this.chart.series.forEach(function(l){-1===d.indexOf(l)?l.setState("inactive",!0):l.options.inactiveOtherPoints&&l.setAllPointsToState("inactive")})},C.prototype.destroy=function(){var r=this;this.eventsToUnbind.forEach(function(d){return d()}),this.eventsToUnbind=[],Y.chartCount||(C.unbindDocumentMouseUp&&(C.unbindDocumentMouseUp=C.unbindDocumentMouseUp()),C.unbindDocumentTouchEnd&&(C.unbindDocumentTouchEnd=C.unbindDocumentTouchEnd())),clearInterval(r.tooltipTimeout),M(r,function(d,s){r[s]=void 0})},C.prototype.getSelectionMarkerAttrs=function(r,d){var s=this,l={args:{chartX:r,chartY:d},attrs:{},shapeType:"rect"};return k(this,"getSelectionMarkerAttrs",l,function(e){var h=s.chart,t=s.mouseDownX;t=void 0===t?0:t;var i=s.mouseDownY;i=void 0===i?0:i;var c=s.zoomHor,n=s.zoomVert;(e=e.attrs).x=h.plotLeft,e.y=h.plotTop,e.width=c?1:h.plotWidth,e.height=n?1:h.plotHeight,c&&(h=r-t,e.width=Math.abs(h),e.x=(0<h?0:h)+t),n&&(h=d-i,e.height=Math.abs(h),e.y=(0<h?0:h)+i)}),l},C.prototype.drag=function(r){var d=this.chart,s=d.options.chart,l=d.plotLeft,e=d.plotTop,h=d.plotWidth,t=d.plotHeight,i=this.mouseDownX||0,c=this.mouseDownY||0,n=S(s.panning)?s.panning&&s.panning.enabled:s.panning,f=s.panKey&&r[s.panKey+"Key"],O=r.chartX,_=r.chartY,R=this.selectionMarker;R&&R.touch||(O<l?O=l:O>l+h&&(O=l+h),_<e?_=e:_>e+t&&(_=e+t),this.hasDragged=Math.sqrt(Math.pow(i-O,2)+Math.pow(c-_,2)),10<this.hasDragged&&(l=d.isInsidePlot(i-l,c-e,{visiblePlotOnly:!0}),O=(_=this.getSelectionMarkerAttrs(O,_)).shapeType,_=_.attrs,!d.hasCartesianSeries&&!d.mapView||!this.zoomX&&!this.zoomY||!l||f||R||(this.selectionMarker=R=d.renderer[O](),R.attr({class:"highcharts-selection-marker",zIndex:7}).add(),d.styledMode||R.attr({fill:s.selectionMarkerFill||J("#335cad").setOpacity(.25).get()})),R&&R.attr(_),l&&!R&&n&&d.pan(r,s.panning)))},C.prototype.dragStart=function(r){var d=this.chart;d.mouseIsDown=r.type,d.cancelClick=!1,d.mouseDownX=this.mouseDownX=r.chartX,d.mouseDownY=this.mouseDownY=r.chartY},C.prototype.getSelectionBox=function(r){var d={args:{marker:r},result:{}};return k(this,"getSelectionBox",d,function(s){s.result={x:r.attr?+r.attr("x"):r.x,y:r.attr?+r.attr("y"):r.y,width:r.attr?r.attr("width"):r.width,height:r.attr?r.attr("height"):r.height}}),d.result},C.prototype.drop=function(r){var d=this,s=this.chart,l=this.hasPinched;if(this.selectionMarker){var e=this.getSelectionBox(this.selectionMarker),h=e.x,t=e.y,i=e.width,c=e.height,n={originalEvent:r,xAxis:[],yAxis:[],x:h,y:t,width:i,height:c},f=!!s.mapView;(this.hasDragged||l)&&(s.axes.forEach(function(O){if(O.zoomEnabled&&m(O.min)&&(l||d[{xAxis:"zoomX",yAxis:"zoomY"}[O.coll]])&&v(h)&&v(t)&&v(i)&&v(c)){var _=O.horiz,R="touchend"===r.type?O.minPixelPadding:0,o=O.toValue((_?h:t)+R);_=O.toValue((_?h+i:t+c)-R),n[O.coll].push({axis:O,min:Math.min(o,_),max:Math.max(o,_)}),f=!0}}),f&&k(s,"selection",n,function(O){s.zoom(g(O,l?{animation:!1}:null))})),v(s.index)&&(this.selectionMarker=this.selectionMarker.destroy()),l&&this.scaleGroups()}s&&v(s.index)&&(P(s.container,{cursor:s._cursor}),s.cancelClick=10<this.hasDragged,s.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},C.prototype.findNearestKDPoint=function(r,d,s){var l;return r.forEach(function(e){var h=!(e.noSharedTooltip&&d)&&0>e.options.findNearestPointBy.indexOf("y");if(e=e.searchPoint(s,h),(h=S(e,!0)&&e.series)&&!(h=!S(l,!0))){var t=l.dist-e.dist,i=(e.series.group&&e.series.group.zIndex)-(l.series.group&&l.series.group.zIndex);h=0<(0!=(h=l.distX-e.distX)&&d?h:0!==t?t:0!==i?i:l.series.index>e.series.index?-1:1)}h&&(l=e)}),l},C.prototype.getChartCoordinatesFromPoint=function(r,d){var s=r.series,l=s.xAxis;s=s.yAxis;var e=r.shapeArgs;if(l&&s){var h=E(r.clientX,r.plotX),t=r.plotY||0;return r.isNode&&e&&v(e.x)&&v(e.y)&&(h=e.x,t=e.y),d?{chartX:s.len+s.pos-t,chartY:l.len+l.pos-h}:{chartX:h+l.pos,chartY:t+s.pos}}if(e&&e.x&&e.y)return{chartX:e.x,chartY:e.y}},C.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var r=this.chart.container,d=w(r);this.chartPosition={left:d.left,top:d.top,scaleX:1,scaleY:1};var s=r.offsetWidth;return r=r.offsetHeight,2<s&&2<r&&(this.chartPosition.scaleX=d.width/s,this.chartPosition.scaleY=d.height/r),this.chartPosition},C.prototype.getCoordinates=function(r){var d={xAxis:[],yAxis:[]};return this.chart.axes.forEach(function(s){d[s.isXAxis?"xAxis":"yAxis"].push({axis:s,value:s.toValue(r[s.horiz?"chartX":"chartY"])})}),d},C.prototype.getHoverData=function(r,d,s,l,e,h){var t=[];l=!(!l||!r);var i=function(O){return O.visible&&!(!e&&O.directTouch)&&E(O.options.enableMouseTracking,!0)},c={chartX:h?h.chartX:void 0,chartY:h?h.chartY:void 0,shared:e};k(this,"beforeGetHoverData",c);var n=d&&!d.stickyTracking?[d]:s.filter(function(O){return O.stickyTracking&&(c.filter||i)(O)}),f=l||!h?r:this.findNearestKDPoint(n,e,h);return d=f&&f.series,f&&(e&&!d.noSharedTooltip?(n=s.filter(function(O){return c.filter?c.filter(O):i(O)&&!O.noSharedTooltip})).forEach(function(O){var _=y(O.points,function(R){return R.x===f.x&&!R.isNull});S(_)&&(O.boosted&&O.boost&&(_=O.boost.getPoint(_)),t.push(_))}):t.push(f)),k(this,"afterGetHoverData",c={hoverPoint:f}),{hoverPoint:c.hoverPoint,hoverSeries:d,hoverPoints:t}},C.prototype.getPointFromEvent=function(r){r=r.target;for(var d;r&&!d;)d=r.point,r=r.parentNode;return d},C.prototype.onTrackerMouseOut=function(r){r=r.relatedTarget||r.toElement;var d=this.chart.hoverSeries;this.isDirectTouch=!1,!d||!r||d.stickyTracking||this.inClass(r,"highcharts-tooltip")||this.inClass(r,"highcharts-series-"+d.index)&&this.inClass(r,"highcharts-tracker")||d.onMouseOut()},C.prototype.inClass=function(r,d){for(var s;r;){if(s=j(r,"class")){if(-1!==s.indexOf(d))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}r=r.parentElement}},C.prototype.init=function(r,d){this.options=d,this.chart=r,this.runChartClick=!(!d.chart.events||!d.chart.events.click),this.pinchDown=[],this.lastValidTouch={},T&&(r.tooltip=new T(r,d.tooltip)),this.setDOMEvents()},C.prototype.normalize=function(r,d){var s=r.touches,l=s?s.length?s.item(0):E(s.changedTouches,r.changedTouches)[0]:r;return d||(d=this.getChartPosition()),s=l.pageX-d.left,l=l.pageY-d.top,s/=d.scaleX,l/=d.scaleY,g(r,{chartX:Math.round(s),chartY:Math.round(l)})},C.prototype.onContainerClick=function(r){var d=this.chart,s=d.hoverPoint;r=this.normalize(r);var l=d.plotLeft,e=d.plotTop;d.cancelClick||(s&&this.inClass(r.target,"highcharts-tracker")?(k(s.series,"click",g(r,{point:s})),d.hoverPoint&&s.firePointEvent("click",r)):(g(r,this.getCoordinates(r)),d.isInsidePlot(r.chartX-l,r.chartY-e,{visiblePlotOnly:!0})&&k(d,"click",r)))},C.prototype.onContainerMouseDown=function(r){var d=1==(1&(r.buttons||r.button));r=this.normalize(r),Y.isFirefox&&0!==r.button&&this.onContainerMouseMove(r),(typeof r.button>"u"||d)&&(this.zoomOption(r),d&&r.preventDefault&&r.preventDefault(),this.dragStart(r))},C.prototype.onContainerMouseLeave=function(r){var d=$[E(C.hoverChartIndex,-1)],s=this.chart.tooltip;r=this.normalize(r),d&&(r.relatedTarget||r.toElement)&&(d.pointer.reset(),d.pointer.chartPosition=void 0),s&&!s.isHidden&&this.reset()},C.prototype.onContainerMouseEnter=function(r){delete this.chartPosition},C.prototype.onContainerMouseMove=function(r){var d=this.chart,s=d.tooltip;r=this.normalize(r),this.setHoverChartIndex(),r.preventDefault||(r.returnValue=!1),("mousedown"===d.mouseIsDown||this.touchSelect(r))&&this.drag(r),d.openMenu||!this.inClass(r.target,"highcharts-tracker")&&!d.isInsidePlot(r.chartX-d.plotLeft,r.chartY-d.plotTop,{visiblePlotOnly:!0})||s&&s.shouldStickOnContact(r)||(this.inClass(r.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(r))},C.prototype.onDocumentTouchEnd=function(r){var d=$[E(C.hoverChartIndex,-1)];d&&d.pointer.drop(r)},C.prototype.onContainerTouchMove=function(r){this.touchSelect(r)?this.onContainerMouseMove(r):this.touch(r)},C.prototype.onContainerTouchStart=function(r){this.touchSelect(r)?this.onContainerMouseDown(r):(this.zoomOption(r),this.touch(r,!0))},C.prototype.onDocumentMouseMove=function(r){var d=this.chart,s=d.tooltip,l=this.chartPosition;r=this.normalize(r,l),!l||d.isInsidePlot(r.chartX-d.plotLeft,r.chartY-d.plotTop,{visiblePlotOnly:!0})||s&&s.shouldStickOnContact(r)||this.inClass(r.target,"highcharts-tracker")||this.reset()},C.prototype.onDocumentMouseUp=function(r){var d=$[E(C.hoverChartIndex,-1)];d&&d.pointer.drop(r)},C.prototype.pinch=function(r){var d=this,s=d.chart,l=d.pinchDown,e=r.touches||[],h=e.length,t=d.lastValidTouch,i=d.hasZoom,c={},n=1===h&&(d.inClass(r.target,"highcharts-tracker")&&s.runTrackerClick||d.runChartClick),f={},O=d.chart.tooltip;O=1===h&&E(O&&O.options.followTouchMove,!0);var _=d.selectionMarker;1<h?d.initiated=!0:O&&(d.initiated=!1),i&&d.initiated&&!n&&!1!==r.cancelable&&r.preventDefault(),[].map.call(e,function(R){return d.normalize(R)}),"touchstart"===r.type?([].forEach.call(e,function(R,o){l[o]={chartX:R.chartX,chartY:R.chartY}}),t.x=[l[0].chartX,l[1]&&l[1].chartX],t.y=[l[0].chartY,l[1]&&l[1].chartY],s.axes.forEach(function(R){if(R.zoomEnabled){var o=s.bounds[R.horiz?"h":"v"],p=R.minPixelPadding,A=R.toPixels(Math.min(E(R.options.min,R.dataMin),R.dataMin)),D=R.toPixels(Math.max(E(R.options.max,R.dataMax),R.dataMax)),L=Math.max(A,D);o.min=Math.min(R.pos,Math.min(A,D)-p),o.max=Math.max(R.pos+R.len,L+p)}}),d.res=!0):O?this.runPointActions(d.normalize(r)):l.length&&(k(s,"touchpan",{originalEvent:r},function(){_||(d.selectionMarker=_=g({destroy:Z,touch:!0},s.plotBox)),d.pinchTranslate(l,e,c,_,f,t),d.hasPinched=i,d.scaleGroups(c,f)}),d.res&&(d.res=!1,this.reset(!1,0)))},C.prototype.pinchTranslate=function(r,d,s,l,e,h){this.zoomHor&&this.pinchTranslateDirection(!0,r,d,s,l,e,h),this.zoomVert&&this.pinchTranslateDirection(!1,r,d,s,l,e,h)},C.prototype.pinchTranslateDirection=function(r,d,s,l,e,h,t,i){var c=this.chart,n=r?"x":"y",f=r?"X":"Y",O="chart"+f,_=r?"width":"height",R=c["plot"+(r?"Left":"Top")],o=c.inverted,p=c.bounds[r?"h":"v"],A=1===d.length,D=d[0][O],L=!A&&d[1][O];d=function(){"number"==typeof b&&20<Math.abs(D-L)&&(u=i||Math.abs(B-b)/Math.abs(D-L)),x=(R-B)/u+D,a=c["plot"+(r?"Width":"Height")]/u};var a,x,u=i||1,B=s[0][O],b=!A&&s[1][O];if(d(),(s=x)<p.min){s=p.min;var N=!0}else s+a>p.max&&(s=p.max-a,N=!0);N?(B-=.8*(B-t[n][0]),"number"==typeof b&&(b-=.8*(b-t[n][1])),d()):t[n]=[B,b],o||(h[n]=x-R,h[_]=a),h=o?1/u:u,e[_]=a,e[n]=s,l[o?r?"scaleY":"scaleX":"scale"+f]=u,l["translate"+f]=h*R+(B-h*D)},C.prototype.reset=function(r,d){var s=this.chart,l=s.hoverSeries,e=s.hoverPoint,h=s.hoverPoints,t=s.tooltip,i=t&&t.shared?h:e;r&&i&&I(i).forEach(function(c){c.series.isCartesian&&typeof c.plotX>"u"&&(r=!1)}),r?t&&i&&I(i).length&&(t.refresh(i),t.shared&&h?h.forEach(function(c){c.setState(c.state,!0),c.series.isCartesian&&(c.series.xAxis.crosshair&&c.series.xAxis.drawCrosshair(null,c),c.series.yAxis.crosshair&&c.series.yAxis.drawCrosshair(null,c))}):e&&(e.setState(e.state,!0),s.axes.forEach(function(c){c.crosshair&&e.series[c.coll]===c&&c.drawCrosshair(null,e)}))):(e&&e.onMouseOut(),h&&h.forEach(function(c){c.setState()}),l&&l.onMouseOut(),t&&t.hide(d),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),s.axes.forEach(function(c){c.hideCrosshair()}),this.hoverX=s.hoverPoints=s.hoverPoint=null)},C.prototype.runPointActions=function(r,d,s){var l=this.chart,e=l.tooltip&&l.tooltip.options.enabled?l.tooltip:void 0,h=!!e&&e.shared,t=d||l.hoverPoint,i=t&&t.series||l.hoverSeries;d=this.getHoverData(t,i,l.series,(!r||"touchmove"!==r.type)&&(!!d||i&&i.directTouch&&this.isDirectTouch),h,r),t=d.hoverPoint;var c=d.hoverPoints;d=(i=d.hoverSeries)&&i.tooltipOptions.followPointer&&!i.tooltipOptions.split;var n=h&&i&&!i.noSharedTooltip;if(t&&(s||t!==l.hoverPoint||e&&e.isHidden)){if((l.hoverPoints||[]).forEach(function(f){-1===c.indexOf(f)&&f.setState()}),l.hoverSeries!==i&&i.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(f){f.setState("hover")}),l.hoverPoint&&l.hoverPoint.firePointEvent("mouseOut"),!t.series)return;l.hoverPoints=c,l.hoverPoint=t,t.firePointEvent("mouseOver",void 0,function(){e&&t&&e.refresh(n?c:t,r)})}else d&&e&&!e.isHidden&&(s=e.getAnchor([{}],r),l.isInsidePlot(s[0],s[1],{visiblePlotOnly:!0})&&e.updatePosition({plotX:s[0],plotY:s[1]}));this.unDocMouseMove||(this.unDocMouseMove=z(l.container.ownerDocument,"mousemove",function(f){var O=$[C.hoverChartIndex];O&&O.pointer.onDocumentMouseMove(f)}),this.eventsToUnbind.push(this.unDocMouseMove)),l.axes.forEach(function(f){var _,O=E((f.crosshair||{}).snap,!0);O&&((_=l.hoverPoint)&&_.series[f.coll]===f||(_=y(c,function(R){return R.series&&R.series[f.coll]===f}))),_||!O?f.drawCrosshair(r,_):f.hideCrosshair()})},C.prototype.scaleGroups=function(r,d){var s=this.chart;s.series.forEach(function(l){var e=r||l.getPlotBox();l.group&&(l.xAxis&&l.xAxis.zoomEnabled||s.mapView)&&(l.group.attr(e),l.markerGroup&&(l.markerGroup.attr(e),l.markerGroup.clip(d?s.clipRect:null)),l.dataLabelsGroup&&l.dataLabelsGroup.attr(e))}),s.clipRect.attr(d||s.clipBox)},C.prototype.setDOMEvents=function(){var r=this,d=this.chart.container,s=d.ownerDocument;d.onmousedown=this.onContainerMouseDown.bind(this),d.onmousemove=this.onContainerMouseMove.bind(this),d.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(z(d,"mouseenter",this.onContainerMouseEnter.bind(this))),this.eventsToUnbind.push(z(d,"mouseleave",this.onContainerMouseLeave.bind(this))),C.unbindDocumentMouseUp||(C.unbindDocumentMouseUp=z(s,"mouseup",this.onDocumentMouseUp.bind(this)));for(var l=this.chart.renderTo.parentElement;l&&"BODY"!==l.tagName;)this.eventsToUnbind.push(z(l,"scroll",function(){delete r.chartPosition})),l=l.parentElement;Y.hasTouch&&(this.eventsToUnbind.push(z(d,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(z(d,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),C.unbindDocumentTouchEnd||(C.unbindDocumentTouchEnd=z(s,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))},C.prototype.setHoverChartIndex=function(){var r=this.chart,d=Y.charts[E(C.hoverChartIndex,-1)];d&&d!==r&&d.pointer.onContainerMouseLeave({relatedTarget:r.container}),d&&d.mouseIsDown||(C.hoverChartIndex=r.index)},C.prototype.touch=function(r,d){var s=this.chart;if(this.setHoverChartIndex(),1===r.touches.length)if(r=this.normalize(r),s.isInsidePlot(r.chartX-s.plotLeft,r.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu){if(d&&this.runPointActions(r),"touchmove"===r.type)var e=!!(d=this.pinchDown)[0]&&4<=Math.sqrt(Math.pow(d[0].chartX-r.chartX,2)+Math.pow(d[0].chartY-r.chartY,2));E(e,!0)&&this.pinch(r)}else d&&this.reset();else 2===r.touches.length&&this.pinch(r)},C.prototype.touchSelect=function(r){return!(!this.chart.options.chart.zooming.singleTouch||!r.touches||1!==r.touches.length)},C.prototype.zoomOption=function(r){var d=this.chart,s=d.options.chart;d=d.inverted;var l=s.zooming.type||"";/touch/.test(r.type)&&(l=E(s.zooming.pinchType,l)),this.zoomX=r=/x/.test(l),this.zoomY=s=/y/.test(l),this.zoomHor=r&&!d||s&&d,this.zoomVert=s&&!d||r&&d,this.hasZoom=r||s},C}()}),ct(F,"Core/MSPointer.js",[F["Core/Globals.js"],F["Core/Pointer.js"],F["Core/Utilities.js"]],function(G,Y,T){function et(){var w=[];return w.item=function(E){return this[E]},y(S,function(E){w.push({pageX:E.pageX,pageY:E.pageY,target:E.target})}),w}function J(w,E,I,C){var r=Z[Y.hoverChartIndex||NaN];"touch"!==w.pointerType&&w.pointerType!==w.MSPOINTER_TYPE_TOUCH||!r||(r=r.pointer,C(w),r[E]({type:I,target:w.currentTarget,preventDefault:j,touches:et()}))}var w,$=this&&this.__extends||(w=function(E,I){return(w=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(C,r){C.__proto__=r}||function(C,r){for(var d in r)r.hasOwnProperty(d)&&(C[d]=r[d])})(E,I)},function(E,I){function C(){this.constructor=E}w(E,I),E.prototype=null===I?Object.create(I):(C.prototype=I.prototype,new C)}),Z=G.charts,z=G.doc,j=G.noop,P=G.win,m=T.addEvent,g=T.css,y=T.objectEach,k=T.pick,v=T.removeEvent,S={},M=!!P.PointerEvent;return function(w){function E(){return null!==w&&w.apply(this,arguments)||this}return $(E,w),E.isRequired=function(){return!(G.hasTouch||!P.PointerEvent&&!P.MSPointerEvent)},E.prototype.batchMSEvents=function(I){I(this.chart.container,M?"pointerdown":"MSPointerDown",this.onContainerPointerDown),I(this.chart.container,M?"pointermove":"MSPointerMove",this.onContainerPointerMove),I(z,M?"pointerup":"MSPointerUp",this.onDocumentPointerUp)},E.prototype.destroy=function(){this.batchMSEvents(v),w.prototype.destroy.call(this)},E.prototype.init=function(I,C){w.prototype.init.call(this,I,C),this.hasZoom&&g(I.container,{"-ms-touch-action":"none","touch-action":"none"})},E.prototype.onContainerPointerDown=function(I){J(I,"onContainerTouchStart","touchstart",function(C){S[C.pointerId]={pageX:C.pageX,pageY:C.pageY,target:C.currentTarget}})},E.prototype.onContainerPointerMove=function(I){J(I,"onContainerTouchMove","touchmove",function(C){S[C.pointerId]={pageX:C.pageX,pageY:C.pageY},S[C.pointerId].target||(S[C.pointerId].target=C.currentTarget)})},E.prototype.onDocumentPointerUp=function(I){J(I,"onDocumentTouchEnd","touchend",function(C){delete S[C.pointerId]})},E.prototype.setDOMEvents=function(){var I=this.chart.tooltip;w.prototype.setDOMEvents.call(this),(this.hasZoom||k(I&&I.options.followTouchMove,!0))&&this.batchMSEvents(m)},E}(Y)}),ct(F,"Core/Legend/Legend.js",[F["Core/Animation/AnimationUtilities.js"],F["Core/FormatUtilities.js"],F["Core/Globals.js"],F["Core/Series/Point.js"],F["Core/Renderer/RendererUtilities.js"],F["Core/Utilities.js"]],function(G,Y,T,et,J,$){var Z=G.animObject,z=G.setAnimation,j=Y.format,P=T.marginNames,m=J.distribute,g=$.addEvent,y=$.createElement,k=$.css,v=$.defined,S=$.discardElement,M=$.find,w=$.fireEvent,E=$.isNumber,I=$.merge,C=$.pick,r=$.relativeLength,d=$.stableSort,s=$.syncTimeout;return function(){function l(e,h){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=e,this.init(e,h)}return l.prototype.init=function(e,h){this.chart=e,this.setOptions(h),h.enabled&&(this.render(),g(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=g(this.chart,"render",function(){this.legend.proximatePositions(),this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},l.prototype.setOptions=function(e){var h=C(e.padding,8);this.options=e,this.chart.styledMode||(this.itemStyle=e.itemStyle,this.itemHiddenStyle=I(this.itemStyle,e.itemHiddenStyle)),this.itemMarginTop=e.itemMarginTop||0,this.itemMarginBottom=e.itemMarginBottom||0,this.padding=h,this.initialItemY=h-5,this.symbolWidth=C(e.symbolWidth,16),this.pages=[],this.proximate="proximate"===e.layout&&!this.chart.inverted,this.baseline=void 0},l.prototype.update=function(e,h){var t=this.chart;this.setOptions(I(!0,this.options,e)),this.destroy(),t.isDirtyLegend=t.isDirtyBox=!0,C(h,!0)&&t.redraw(),w(this,"afterUpdate")},l.prototype.colorizeItem=function(e,h){var t=e.legendItem||{},i=t.group,c=t.label,n=t.line;if(t=t.symbol,i&&i[h?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){var f=this.options;i=this.itemHiddenStyle.color,f=h?f.itemStyle.color:i;var O=h&&e.color||i,_=e.options&&e.options.marker,R={fill:O};c&&c.css({fill:f,color:f}),n&&n.attr({stroke:O}),t&&(_&&t.isMarker&&(R=e.pointAttribs(),h||(R.stroke=R.fill=i)),t.attr(R))}w(this,"afterColorizeItem",{item:e,visible:h})},l.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()},l.prototype.positionItem=function(e){var h=this,t=e.legendItem||{},i=t.group,c=t.x;c=void 0===c?0:c,t=void 0===(t=t.y)?0:t;var n=this.options,f=n.symbolPadding,O=!n.rtl;n=e.checkbox,i&&i.element&&(f={translateX:O?c:this.legendWidth-c-2*f-4,translateY:t},i[v(i.translateY)?"animate":"attr"](f,void 0,function(){w(h,"afterPositionItem",{item:e})})),n&&(n.x=c,n.y=t)},l.prototype.destroyItem=function(e){for(var h=e.checkbox,t=e.legendItem||{},i=0,c=["group","label","line","symbol"];i<c.length;i++){var n=c[i];t[n]&&(t[n]=t[n].destroy())}h&&S(h),e.legendItem=void 0},l.prototype.destroy=function(){for(var e=0,h=this.getAllItems();e<h.length;e++)this.destroyItem(h[e]);for(e=0,h="clipRect up down pager nav box title group".split(" ");e<h.length;e++){var t=h[e];this[t]&&(this[t]=this[t].destroy())}this.display=null},l.prototype.positionCheckboxes=function(){var e=this.group&&this.group.alignAttr,h=this.clipHeight||this.legendHeight,t=this.titleHeight;if(e){var i=e.translateY;this.allItems.forEach(function(c){var n=c.checkbox;if(n){var f=i+t+n.y+(this.scrollOffset||0)+3;k(n,{left:e.translateX+c.checkboxOffset+n.x-20+"px",top:f+"px",display:this.proximate||f>i-6&&f<i+h-6?"":"none"})}},this)}},l.prototype.renderTitle=function(){var e=this.options,h=this.padding,t=e.title,i=0;t.text&&(this.title||(this.title=this.chart.renderer.label(t.text,h-3,h-4,void 0,void 0,void 0,e.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(t.style),this.title.add(this.group)),t.width||this.title.css({width:this.maxLegendWidth+"px"}),i=(e=this.title.getBBox()).height,this.offsetWidth=e.width,this.contentGroup.attr({translateY:i})),this.titleHeight=i},l.prototype.setText=function(e){var h=this.options;e.legendItem.label.attr({text:h.labelFormat?j(h.labelFormat,e,this.chart):h.labelFormatter.call(e)})},l.prototype.renderItem=function(e){var h=e.legendItem=e.legendItem||{},t=this.chart,i=t.renderer,c=this.options,n=this.symbolWidth,f=c.symbolPadding||0,O=this.itemStyle,_=this.itemHiddenStyle,R="horizontal"===c.layout?C(c.itemDistance,20):0,o=!c.rtl,p=!e.series,A=!p&&e.series.drawLegendSymbol?e.series:e,D=A.options,L=this.createCheckboxForItem&&D&&D.showCheckbox,a=c.useHTML,x=e.options.className,u=h.label;D=n+f+R+(L?20:0),u||(h.group=i.g("legend-item").addClass("highcharts-"+A.type+"-series highcharts-color-"+e.colorIndex+(x?" "+x:"")+(p?" highcharts-series-"+e.index:"")).attr({zIndex:1}).add(this.scrollGroup),h.label=u=i.text("",o?n+f:-f,this.baseline||0,a),t.styledMode||u.css(I(e.visible?O:_)),u.attr({align:o?"left":"right",zIndex:2}).add(h.group),this.baseline||(this.fontMetrics=i.fontMetrics(t.styledMode?12:O.fontSize,u),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,u.attr("y",this.baseline),this.symbolHeight=c.symbolHeight||this.fontMetrics.f,c.squareSymbol&&(this.symbolWidth=C(c.symbolWidth,Math.max(this.symbolHeight,16)),D=this.symbolWidth+f+R+(L?20:0),o&&u.attr("x",this.symbolWidth+f))),A.drawLegendSymbol(this,e),this.setItemEvents&&this.setItemEvents(e,u,a)),L&&!e.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(e),this.colorizeItem(e,e.visible),!t.styledMode&&O.width||u.css({width:(c.itemWidth||this.widthOption||t.spacingBox.width)-D+"px"}),this.setText(e),t=u.getBBox(),i=this.fontMetrics&&this.fontMetrics.h||0,e.itemWidth=e.checkboxOffset=c.itemWidth||h.labelWidth||t.width+D,this.maxItemWidth=Math.max(this.maxItemWidth,e.itemWidth),this.totalItemWidth+=e.itemWidth,this.itemHeight=e.itemHeight=Math.round(h.labelHeight||(t.height>1.5*i?t.height:i))},l.prototype.layoutItem=function(e){var h=this.options,t=this.padding,i="horizontal"===h.layout,c=e.itemHeight,n=this.itemMarginBottom,f=this.itemMarginTop,O=i?C(h.itemDistance,20):0,_=this.maxLegendWidth;h=h.alignColumns&&this.totalItemWidth>_?this.maxItemWidth:e.itemWidth;var R=e.legendItem||{};i&&this.itemX-t+h>_&&(this.itemX=t,this.lastLineHeight&&(this.itemY+=f+this.lastLineHeight+n),this.lastLineHeight=0),this.lastItemY=f+this.itemY+n,this.lastLineHeight=Math.max(c,this.lastLineHeight),R.x=this.itemX,R.y=this.itemY,i?this.itemX+=h:(this.itemY+=f+c+n,this.lastLineHeight=c),this.offsetWidth=this.widthOption||Math.max((i?this.itemX-t-(e.checkbox?0:O):h)+t,this.offsetWidth)},l.prototype.getAllItems=function(){var e=[];return this.chart.series.forEach(function(h){var t=h&&h.options;h&&C(t.showInLegend,!v(t.linkedTo)&&void 0,!0)&&(e=e.concat((h.legendItem||{}).labels||("point"===t.legendType?h.data:h)))}),w(this,"afterGetAllItems",{allItems:e}),e},l.prototype.getAlignment=function(){var e=this.options;return this.proximate?e.align.charAt(0)+"tv":e.floating?"":e.align.charAt(0)+e.verticalAlign.charAt(0)+e.layout.charAt(0)},l.prototype.adjustMargins=function(e,h){var t=this.chart,i=this.options,c=this.getAlignment();c&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(n,f){n.test(c)&&!v(e[f])&&(t[P[f]]=Math.max(t[P[f]],t.legend[(f+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][f]*i[f%2?"x":"y"]+C(i.margin,12)+h[f]+(t.titleOffset[f]||0)))})},l.prototype.proximatePositions=function(){var e=this.chart,h=[],t="left"===this.options.align;this.allItems.forEach(function(O){var _,R=t;if(O.yAxis){O.xAxis.options.reversed&&(R=!R),O.points&&(_=M(R?O.points:O.points.slice(0).reverse(),function(p){return E(p.plotY)})),R=this.itemMarginTop+O.legendItem.label.getBBox().height+this.itemMarginBottom;var o=O.yAxis.top-e.plotTop;O.visible?(_=_?_.plotY:O.yAxis.height,_+=o-.3*R):_=o+O.yAxis.height,h.push({target:_,size:R,item:O})}},this);for(var i,c=0,n=m(h,e.plotHeight);c<n.length;c++){var f=n[c];i=f.item.legendItem||{},E(f.pos)&&(i.y=e.plotTop-e.spacing[0]+f.pos)}},l.prototype.render=function(){var e=this.chart,h=e.renderer,t=this.options,i=this.padding,c=this.getAllItems(),n=this.group,f=this.box;this.itemX=i,this.itemY=this.initialItemY,this.lastItemY=this.offsetWidth=0,this.widthOption=r(t.width,e.spacingBox.width-i);var O=e.spacingBox.width-2*i-t.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(O/=2),this.maxLegendWidth=this.widthOption||O,n||(this.group=n=h.g("legend").addClass(t.className||"").attr({zIndex:7}).add(),this.contentGroup=h.g().attr({zIndex:1}).add(n),this.scrollGroup=h.g().add(this.contentGroup)),this.renderTitle(),d(c,function(R,o){return(R.options&&R.options.legendIndex||0)-(o.options&&o.options.legendIndex||0)}),t.reversed&&c.reverse(),this.allItems=c,this.display=O=!!c.length,this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0,c.forEach(this.renderItem,this),c.forEach(this.layoutItem,this),c=(this.widthOption||this.offsetWidth)+i;var _=this.lastItemY+this.lastLineHeight+this.titleHeight;_=this.handleOverflow(_),_+=i,f||(this.box=f=h.rect().addClass("highcharts-legend-box").attr({r:t.borderRadius}).add(n)),e.styledMode||f.attr({stroke:t.borderColor,"stroke-width":t.borderWidth||0,fill:t.backgroundColor||"none"}).shadow(t.shadow),0<c&&0<_&&f[f.placed?"animate":"attr"](f.crisp.call({},{x:0,y:0,width:c,height:_},f.strokeWidth())),n[O?"show":"hide"](),e.styledMode&&"none"===n.getStyle("display")&&(c=_=0),this.legendWidth=c,this.legendHeight=_,O&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")},l.prototype.align=function(e){void 0===e&&(e=this.chart.spacingBox);var h=this.chart,t=this.options,i=e.y;/(lth|ct|rth)/.test(this.getAlignment())&&0<h.titleOffset[0]?i+=h.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<h.titleOffset[2]&&(i-=h.titleOffset[2]),i!==e.y&&(e=I(e,{y:i})),h.hasRendered||(this.group.placed=!1),this.group.align(I(t,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":t.verticalAlign}),!0,e)},l.prototype.handleOverflow=function(e){var x,u,B,h=this,t=this.chart,i=t.renderer,c=this.options,n=c.y,f="top"===c.verticalAlign,O=this.padding,_=c.maxHeight,R=c.navigation,o=C(R.animation,!0),p=R.arrowSize||12,A=this.pages,D=this.allItems,L=function(X){"number"==typeof X?N.attr({height:X}):N&&(h.clipRect=N.destroy(),h.contentGroup.clip()),h.contentGroup.div&&(h.contentGroup.div.style.clip=X?"rect("+O+"px,9999px,"+(O+X)+"px,0)":"auto")},a=function(X){return h[X]=i.circle(0,0,1.3*p).translate(p/2,p/2).add(b),t.styledMode||h[X].attr("fill","rgba(0,0,0,0.0001)"),h[X]};n=t.spacingBox.height+(f?-n:n)-O;var b=this.nav,N=this.clipRect;return"horizontal"!==c.layout||"middle"===c.verticalAlign||c.floating||(n/=2),_&&(n=Math.min(n,_)),A.length=0,e&&0<n&&e>n&&!1!==R.enabled?(this.clipHeight=x=Math.max(n-20-this.titleHeight-O,0),this.currentPage=C(this.currentPage,1),this.fullHeight=e,D.forEach(function(X,U){X=(B=X.legendItem||{}).y||0;var V=Math.round(B.label.getBBox().height),st=A.length;(!st||X-A[st-1]>x&&(u||X)!==A[st-1])&&(A.push(u||X),st++),B.pageIx=st-1,u&&((D[U-1].legendItem||{}).pageIx=st-1),U===D.length-1&&X+V-A[st-1]>x&&V<=x&&(A.push(X),B.pageIx=st),X!==u&&(u=X)}),N||(N=h.clipRect=i.clipRect(0,O,9999,0),h.contentGroup.clip(N)),L(x),b||(this.nav=b=i.g().attr({zIndex:1}).add(this.group),this.up=i.symbol("triangle",0,0,p,p).add(b),a("upTracker").on("click",function(){h.scroll(-1,o)}),this.pager=i.text("",15,10).addClass("highcharts-legend-navigation"),!t.styledMode&&R.style&&this.pager.css(R.style),this.pager.add(b),this.down=i.symbol("triangle-down",0,0,p,p).add(b),a("downTracker").on("click",function(){h.scroll(1,o)})),h.scroll(0),e=n):b&&(L(),this.nav=b.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),e},l.prototype.scroll=function(e,h){var t=this,i=this.chart,c=this.pages,n=c.length,f=this.clipHeight,O=this.options.navigation,_=this.pager,R=this.padding,o=this.currentPage+e;o>n&&(o=n),0<o&&(typeof h<"u"&&z(h,i),this.nav.attr({translateX:R,translateY:f+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(p){p.attr({class:1===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),_.attr({text:o+"/"+n}),[this.down,this.downTracker].forEach(function(p){p.attr({x:18+this.pager.getBBox().width,class:o===n?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===o?O.inactiveColor:O.activeColor}),this.upTracker.css({cursor:1===o?"default":"pointer"}),this.down.attr({fill:o===n?O.inactiveColor:O.activeColor}),this.downTracker.css({cursor:o===n?"default":"pointer"})),this.scrollOffset=-c[o-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=o,this.positionCheckboxes(),e=Z(C(h,i.renderer.globalAnimation,!0)),s(function(){w(t,"afterScroll",{currentPage:o})},e.duration))},l.prototype.setItemEvents=function(e,h,t){var i=this,c=e.legendItem||{},n=i.chart.renderer.boxWrapper,f=e instanceof et,O="highcharts-legend-"+(f?"point":"series")+"-active",_=i.chart.styledMode,R=function(p){i.allItems.forEach(function(A){e!==A&&[A].concat(A.linkedSeries||[]).forEach(function(D){D.setState(p,!f)})})},o=0;for(t=t?[h,c.symbol]:[c.group];o<t.length;o++)(c=t[o])&&c.on("mouseover",function(){e.visible&&R("inactive"),e.setState("hover"),e.visible&&n.addClass(O),_||h.css(i.options.itemHoverStyle)}).on("mouseout",function(){i.chart.styledMode||h.css(I(e.visible?i.itemStyle:i.itemHiddenStyle)),R(""),n.removeClass(O),e.setState()}).on("click",function(p){var A=function(){e.setVisible&&e.setVisible(),R(e.visible?"inactive":"")};n.removeClass(O),p={browserEvent:p},e.firePointEvent?e.firePointEvent("legendItemClick",p,A):w(e,"legendItemClick",p,A)})},l.prototype.createCheckboxForItem=function(e){e.checkbox=y("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:e.selected,defaultChecked:e.selected},this.options.itemCheckboxStyle,this.chart.container),g(e.checkbox,"click",function(h){w(e.series||e,"checkboxClick",{checked:h.target.checked,item:e},function(){e.select()})})},l}()}),ct(F,"Core/Series/SeriesRegistry.js",[F["Core/Globals.js"],F["Core/Defaults.js"],F["Core/Series/Point.js"],F["Core/Utilities.js"]],function(G,Y,T,et){var z,J=Y.defaultOptions,$=et.extendClass,Z=et.merge;return function(j){function P(m,g){var y=J.plotOptions||{},k=g.defaultOptions,v=g.prototype;v.type=m,v.pointClass||(v.pointClass=T),k&&(y[m]=k),j.seriesTypes[m]=g}j.seriesTypes=G.seriesTypes,j.registerSeriesType=P,j.seriesType=function(m,g,y,k,v){var S=J.plotOptions||{};return S[m]=Z(S[g=g||""],y),P(m,$(j.seriesTypes[g]||function(){},k)),j.seriesTypes[m].prototype.type=m,v&&(j.seriesTypes[m].prototype.pointClass=$(T,v)),j.seriesTypes[m]}}(z||(z={})),z}),ct(F,"Core/Chart/Chart.js",[F["Core/Animation/AnimationUtilities.js"],F["Core/Axis/Axis.js"],F["Core/Defaults.js"],F["Core/FormatUtilities.js"],F["Core/Foundation.js"],F["Core/Globals.js"],F["Core/Legend/Legend.js"],F["Core/MSPointer.js"],F["Core/Pointer.js"],F["Core/Renderer/RendererRegistry.js"],F["Core/Series/SeriesRegistry.js"],F["Core/Renderer/SVG/SVGRenderer.js"],F["Core/Time.js"],F["Core/Utilities.js"],F["Core/Renderer/HTML/AST.js"]],function(G,Y,T,et,J,$,Z,z,j,P,m,g,y,k,v){var S=G.animate,M=G.animObject,w=G.setAnimation,E=T.defaultOptions,I=T.defaultTime,C=et.numberFormat,r=J.registerEventOptions,d=$.charts,s=$.doc,l=$.marginNames,e=$.svg,h=$.win,t=m.seriesTypes,i=k.addEvent,c=k.attr,n=k.cleanRecursively,f=k.createElement,O=k.css,_=k.defined,R=k.discardElement,o=k.erase,p=k.error,A=k.extend,D=k.find,L=k.fireEvent,a=k.getStyle,x=k.isArray,u=k.isNumber,B=k.isObject,b=k.isString,N=k.merge,X=k.objectEach,U=k.pick,V=k.pInt,st=k.relativeLength,rt=k.removeEvent,ot=k.splat,tt=k.syncTimeout,at=k.uniqueKey;return G=function(){function q(H,W,K){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.legend=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.yAxis=this.xAxis=this.userOptions=this.titleOffset=this.time=this.symbolCounter=this.spacingBox=this.spacing=void 0,this.getArgs(H,W,K)}return q.chart=function(H,W,K){return new q(H,W,K)},q.prototype.getArgs=function(H,W,K){b(H)||H.nodeName?(this.renderTo=H,this.init(W,K)):this.init(H,W)},q.prototype.init=function(H,W){var K=H.plotOptions||{};L(this,"init",{args:arguments},function(){var Q=N(E,H),it=Q.chart;X(Q.plotOptions,function(ht,pt){B(ht)&&(ht.tooltip=K[pt]&&N(K[pt].tooltip)||void 0)}),Q.tooltip.userOptions=H.chart&&H.chart.forExport&&H.tooltip.userOptions||H.tooltip,this.userOptions=H,this.margin=[],this.spacing=[],this.bounds={h:{},v:{}},this.labelCollectors=[],this.callback=W,this.isResizing=0;var nt=it.zooming=it.zooming||{};H.chart&&!H.chart.zooming&&(nt.resetButton=it.resetZoomButton),nt.key=U(nt.key,it.zoomKey),nt.pinchType=U(nt.pinchType,it.pinchType),nt.singleTouch=U(nt.singleTouch,it.zoomBySingleTouch),nt.type=U(nt.type,it.zoomType),this.options=Q,this.axes=[],this.series=[],this.time=H.time&&Object.keys(H.time).length?new y(H.time):$.time,this.numberFormatter=it.numberFormatter||C,this.styledMode=it.styledMode,this.hasCartesianSeries=it.showAxes,this.index=d.length,d.push(this),$.chartCount++,r(this,it),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,L(this,"afterInit"),this.firstRender()})},q.prototype.initSeries=function(H){var W=this.options.chart,K=t[W=H.type||W.type||W.defaultSeriesType];return K||p(17,!0,this,{missingModuleFor:W}),"function"==typeof(W=new K).init&&W.init(this,H),W},q.prototype.setSeriesData=function(){this.getSeriesOrderByLinks().forEach(function(H){H.points||H.data||!H.enabledDataSorting||H.setData(H.options.data,!1)})},q.prototype.getSeriesOrderByLinks=function(){return this.series.concat().sort(function(H,W){return H.linkedSeries.length||W.linkedSeries.length?W.linkedSeries.length-H.linkedSeries.length:0})},q.prototype.orderSeries=function(H){var W=this.series;H=H||0;for(var K=W.length;H<K;++H)W[H]&&(W[H].index=H,W[H].name=W[H].getName())},q.prototype.isInsidePlot=function(H,W,K){void 0===K&&(K={});var Q=this.inverted,it=this.plotBox,nt=this.plotLeft,ht=this.plotTop,pt=this.scrollablePlotBox,ft=0,lt=0;K.visiblePlotOnly&&this.scrollingContainer&&(ft=(lt=this.scrollingContainer).scrollLeft,lt=lt.scrollTop);var dt=K.series;if(it=K.visiblePlotOnly&&pt||it,H={x:pt=K.inverted?W:H,y:W=K.inverted?H:W,isInsidePlot:!0,options:K},!K.ignoreX){var yt=dt&&(Q&&!this.polar?dt.yAxis:dt.xAxis)||{pos:nt,len:1/0};(pt=K.paneCoordinates?yt.pos+pt:nt+pt)>=Math.max(ft+nt,yt.pos)&&pt<=Math.min(ft+nt+it.width,yt.pos+yt.len)||(H.isInsidePlot=!1)}return!K.ignoreY&&H.isInsidePlot&&(Q=K.axis&&!K.axis.isXAxis&&K.axis||dt&&(Q?dt.xAxis:dt.yAxis)||{pos:ht,len:1/0},(K=K.paneCoordinates?Q.pos+W:ht+W)>=Math.max(lt+ht,Q.pos)&&K<=Math.min(lt+ht+it.height,Q.pos+Q.len)||(H.isInsidePlot=!1)),L(this,"afterIsInsidePlot",H),H.isInsidePlot},q.prototype.redraw=function(H){L(this,"beforeRedraw");var W=this.hasCartesianSeries?this.axes:this.colorAxis||[],K=this.series,Q=this.pointer,it=this.legend,nt=this.userOptions.legend,ht=this.renderer,pt=ht.isHidden(),ft=[],lt=this.isDirtyBox,dt=this.isDirtyLegend;for(this.setResponsive&&this.setResponsive(!1),w(!!this.hasRendered&&H,this),pt&&this.temporaryDisplay(),this.layOutTitles(),H=K.length;H--;){var yt=K[H];if(yt.options.stacking||yt.options.centerInCategory){var gt=!0;if(yt.isDirty){var mt=!0;break}}}if(mt)for(H=K.length;H--;)(yt=K[H]).options.stacking&&(yt.isDirty=!0);K.forEach(function(ut){ut.isDirty&&("point"===ut.options.legendType?("function"==typeof ut.updateTotals&&ut.updateTotals(),dt=!0):nt&&(nt.labelFormatter||nt.labelFormat)&&(dt=!0)),ut.isDirtyData&&L(ut,"updatedData")}),dt&&it&&it.options.enabled&&(it.render(),this.isDirtyLegend=!1),gt&&this.getStacks(),W.forEach(function(ut){ut.updateNames(),ut.setScale()}),this.getMargins(),W.forEach(function(ut){ut.isDirty&&(lt=!0)}),W.forEach(function(ut){var Ct=ut.min+","+ut.max;ut.extKey!==Ct&&(ut.extKey=Ct,ft.push(function(){L(ut,"afterSetExtremes",A(ut.eventArgs,ut.getExtremes())),delete ut.eventArgs})),(lt||gt)&&ut.redraw()}),lt&&this.drawChartBox(),L(this,"predraw"),K.forEach(function(ut){(lt||ut.isDirty)&&ut.visible&&ut.redraw(),ut.isDirtyData=!1}),Q&&Q.reset(!0),ht.draw(),L(this,"redraw"),L(this,"render"),pt&&this.temporaryDisplay(!0),ft.forEach(function(ut){ut.call()})},q.prototype.get=function(H){function W(nt){return nt.id===H||nt.options&&nt.options.id===H}for(var K=this.series,Q=D(this.axes,W)||D(this.series,W),it=0;!Q&&it<K.length;it++)Q=D(K[it].points||[],W);return Q},q.prototype.getAxes=function(){var H=this,W=this.options,K=W.xAxis=ot(W.xAxis||{});W=W.yAxis=ot(W.yAxis||{}),L(this,"getAxes"),K.forEach(function(Q,it){Q.index=it,Q.isX=!0}),W.forEach(function(Q,it){Q.index=it}),K.concat(W).forEach(function(Q){new Y(H,Q)}),L(this,"afterGetAxes")},q.prototype.getSelectedPoints=function(){return this.series.reduce(function(H,W){return W.getPointsCollection().forEach(function(K){U(K.selectedStaging,K.selected)&&H.push(K)}),H},[])},q.prototype.getSelectedSeries=function(){return this.series.filter(function(H){return H.selected})},q.prototype.setTitle=function(H,W,K){this.applyDescription("title",H),this.applyDescription("subtitle",W),this.applyDescription("caption",void 0),this.layOutTitles(K)},q.prototype.applyDescription=function(H,W){var K=this,Q="title"===H?{color:"#333333",fontSize:this.options.isStock?"16px":"18px"}:{color:"#666666"};Q=this.options[H]=N(!this.styledMode&&{style:Q},this.options[H],W);var it=this[H];it&&W&&(this[H]=it=it.destroy()),Q&&!it&&((it=this.renderer.text(Q.text,0,0,Q.useHTML).attr({align:Q.align,class:"highcharts-"+H,zIndex:Q.zIndex||4}).add()).update=function(nt){K[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[H]](nt)},this.styledMode||it.css(Q.style),this[H]=it)},q.prototype.layOutTitles=function(H){var W=[0,0,0],K=this.renderer,Q=this.spacingBox;["title","subtitle","caption"].forEach(function(nt){var lt,ht=this[nt],pt=this.options[nt],ft=pt.verticalAlign||"top";if(nt="title"===nt?"top"===ft?-3:0:"top"===ft?W[0]+2:0,ht){this.styledMode||(lt=pt.style&&pt.style.fontSize),lt=K.fontMetrics(lt,ht).b,ht.css({width:(pt.width||Q.width+(pt.widthAdjust||0))+"px"});var dt=Math.round(ht.getBBox(pt.useHTML).height);ht.align(A({y:"bottom"===ft?lt:nt+lt,height:dt},pt),!1,"spacingBox"),pt.floating||("top"===ft?W[0]=Math.ceil(W[0]+dt):"bottom"===ft&&(W[2]=Math.ceil(W[2]+dt)))}},this),W[0]&&"top"===(this.options.title.verticalAlign||"top")&&(W[0]+=this.options.title.margin),W[2]&&"bottom"===this.options.caption.verticalAlign&&(W[2]+=this.options.caption.margin);var it=!this.titleOffset||this.titleOffset.join(",")!==W.join(",");this.titleOffset=W,L(this,"afterLayOutTitles"),!this.isDirtyBox&&it&&(this.isDirtyBox=this.isDirtyLegend=it,this.hasRendered&&U(H,!0)&&this.isDirtyBox&&this.redraw())},q.prototype.getChartSize=function(){var H=this.options.chart,W=H.width;H=H.height;var K=this.renderTo;_(W)||(this.containerWidth=a(K,"width")),_(H)||(this.containerHeight=a(K,"height")),this.chartWidth=Math.max(0,W||this.containerWidth||600),this.chartHeight=Math.max(0,st(H,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},q.prototype.temporaryDisplay=function(H){var W=this.renderTo;if(H)for(;W&&W.style;)W.hcOrigStyle&&(O(W,W.hcOrigStyle),delete W.hcOrigStyle),W.hcOrigDetached&&(s.body.removeChild(W),W.hcOrigDetached=!1),W=W.parentNode;else for(;W&&W.style&&(s.body.contains(W)||W.parentNode||(W.hcOrigDetached=!0,s.body.appendChild(W)),("none"===a(W,"display",!1)||W.hcOricDetached)&&(W.hcOrigStyle={display:W.style.display,height:W.style.height,overflow:W.style.overflow},H={display:"block",overflow:"hidden"},W!==this.renderTo&&(H.height=0),O(W,H),W.offsetWidth||W.style.setProperty("display","block","important")),(W=W.parentNode)!==s.body););},q.prototype.setClassName=function(H){this.container.className="highcharts-container "+(H||"")},q.prototype.getContainer=function(){var Q,H=this.options,W=H.chart,K=at(),it=this.renderTo;it||(this.renderTo=it=W.renderTo),b(it)&&(this.renderTo=it=s.getElementById(it)),it||p(13,!0,this);var nt=V(c(it,"data-highcharts-chart"));u(nt)&&d[nt]&&d[nt].hasRendered&&d[nt].destroy(),c(it,"data-highcharts-chart",this.index),it.innerHTML=v.emptyHTML,W.skipClone||it.offsetWidth||this.temporaryDisplay(),this.getChartSize(),nt=this.chartWidth;var ht=this.chartHeight;if(O(it,{overflow:"hidden"}),this.styledMode||(Q=A({position:"relative",overflow:"hidden",width:nt+"px",height:ht+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},W.style||{})),this.container=K=f("div",{id:K},Q,it),this._cursor=K.style.cursor,this.renderer=new(W.renderer||!e?P.getRendererType(W.renderer):g)(K,nt,ht,void 0,W.forExport,H.exporting&&H.exporting.allowHTML,this.styledMode),w(void 0,this),this.setClassName(W.className),this.styledMode)for(var pt in H.defs)this.renderer.definition(H.defs[pt]);else this.renderer.setStyle(W.style);this.renderer.chartIndex=this.index,L(this,"afterGetContainer")},q.prototype.getMargins=function(H){var W=this.spacing,K=this.margin,Q=this.titleOffset;this.resetMargins(),Q[0]&&!_(K[0])&&(this.plotTop=Math.max(this.plotTop,Q[0]+W[0])),Q[2]&&!_(K[2])&&(this.marginBottom=Math.max(this.marginBottom,Q[2]+W[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(K,W),L(this,"getMargins"),H||this.getAxisMargins()},q.prototype.getAxisMargins=function(){var H=this,W=H.axisOffset=[0,0,0,0],K=H.colorAxis,Q=H.margin,it=function(nt){nt.forEach(function(ht){ht.visible&&ht.getOffset()})};H.hasCartesianSeries?it(H.axes):K&&K.length&&it(K),l.forEach(function(nt,ht){_(Q[ht])||(H[nt]+=W[ht])}),H.setChartSize()},q.prototype.reflow=function(H){var W=this,K=W.options.chart,Q=W.renderTo,it=_(K.width)&&_(K.height),nt=K.width||a(Q,"width");K=K.height||a(Q,"height"),Q=H?H.target:h,delete W.pointer.chartPosition,!it&&!W.isPrinting&&nt&&K&&(Q===h||Q===s)&&((nt!==W.containerWidth||K!==W.containerHeight)&&(k.clearTimeout(W.reflowTimeout),W.reflowTimeout=tt(function(){W.container&&W.setSize(void 0,void 0,!1)},H?100:0)),W.containerWidth=nt,W.containerHeight=K)},q.prototype.setReflow=function(H){var W=this;!1===H||this.unbindReflow?!1===H&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=i(h,"resize",function(K){W.options&&W.reflow(K)}),i(this,"destroy",this.unbindReflow))},q.prototype.setSize=function(H,W,K){var Q=this,it=Q.renderer;Q.isResizing+=1,w(K,Q),K=it.globalAnimation,Q.oldChartHeight=Q.chartHeight,Q.oldChartWidth=Q.chartWidth,typeof H<"u"&&(Q.options.chart.width=H),typeof W<"u"&&(Q.options.chart.height=W),Q.getChartSize(),Q.styledMode||(K?S:O)(Q.container,{width:Q.chartWidth+"px",height:Q.chartHeight+"px"},K),Q.setChartSize(!0),it.setSize(Q.chartWidth,Q.chartHeight,K),Q.axes.forEach(function(nt){nt.isDirty=!0,nt.setScale()}),Q.isDirtyLegend=!0,Q.isDirtyBox=!0,Q.layOutTitles(),Q.getMargins(),Q.redraw(K),Q.oldChartHeight=null,L(Q,"resize"),tt(function(){Q&&L(Q,"endResize",null,function(){--Q.isResizing})},M(K).duration)},q.prototype.setChartSize=function(H){var ft,lt,dt,yt,W=this.inverted,K=this.renderer,Q=this.chartWidth,it=this.chartHeight,nt=this.options.chart,ht=this.spacing,pt=this.clipOffset;this.plotLeft=ft=Math.round(this.plotLeft),this.plotTop=lt=Math.round(this.plotTop),this.plotWidth=dt=Math.max(0,Math.round(Q-ft-this.marginRight)),this.plotHeight=yt=Math.max(0,Math.round(it-lt-this.marginBottom)),this.plotSizeX=W?yt:dt,this.plotSizeY=W?dt:yt,this.plotBorderWidth=nt.plotBorderWidth||0,this.spacingBox=K.spacingBox={x:ht[3],y:ht[0],width:Q-ht[3]-ht[1],height:it-ht[0]-ht[2]},this.plotBox=K.plotBox={x:ft,y:lt,width:dt,height:yt},W=2*Math.floor(this.plotBorderWidth/2),Q=Math.ceil(Math.max(W,pt[3])/2),it=Math.ceil(Math.max(W,pt[0])/2),this.clipBox={x:Q,y:it,width:Math.floor(this.plotSizeX-Math.max(W,pt[1])/2-Q),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(W,pt[2])/2-it))},H||(this.axes.forEach(function(gt){gt.setAxisSize(),gt.setAxisTranslation()}),K.alignElements()),L(this,"afterSetChartSize",{skipAxes:H})},q.prototype.resetMargins=function(){L(this,"resetMargins");var H=this,W=H.options.chart;["margin","spacing"].forEach(function(K){var Q=W[K],it=B(Q)?Q:[Q,Q,Q,Q];["Top","Right","Bottom","Left"].forEach(function(nt,ht){H[K][ht]=U(W[K+nt],it[ht])})}),l.forEach(function(K,Q){H[K]=U(H.margin[Q],H.spacing[Q])}),H.axisOffset=[0,0,0,0],H.clipOffset=[0,0,0,0]},q.prototype.drawChartBox=function(){var kt,H=this.options.chart,W=this.renderer,K=this.chartWidth,Q=this.chartHeight,it=this.styledMode,nt=this.plotBGImage,ht=H.backgroundColor,pt=H.plotBackgroundColor,ft=H.plotBackgroundImage,lt=this.plotLeft,dt=this.plotTop,yt=this.plotWidth,gt=this.plotHeight,mt=this.plotBox,ut=this.clipRect,Ct=this.clipBox,xt=this.chartBackground,vt=this.plotBackground,Pt=this.plotBorder,Mt="animate";if(xt||(this.chartBackground=xt=W.rect().addClass("highcharts-background").add(),Mt="attr"),it)var wt=kt=xt.strokeWidth();else kt=(wt=H.borderWidth||0)+(H.shadow?8:0),ht={fill:ht||"none"},(wt||xt["stroke-width"])&&(ht.stroke=H.borderColor,ht["stroke-width"]=wt),xt.attr(ht).shadow(H.shadow);xt[Mt]({x:kt/2,y:kt/2,width:K-kt-wt%2,height:Q-kt-wt%2,r:H.borderRadius}),Mt="animate",vt||(Mt="attr",this.plotBackground=vt=W.rect().addClass("highcharts-plot-background").add()),vt[Mt](mt),it||(vt.attr({fill:pt||"none"}).shadow(H.plotShadow),ft&&(nt?(ft!==nt.attr("href")&&nt.attr("href",ft),nt.animate(mt)):this.plotBGImage=W.image(ft,lt,dt,yt,gt).add())),ut?ut.animate({width:Ct.width,height:Ct.height}):this.clipRect=W.clipRect(Ct),Mt="animate",Pt||(Mt="attr",this.plotBorder=Pt=W.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),it||Pt.attr({stroke:H.plotBorderColor,"stroke-width":H.plotBorderWidth||0,fill:"none"}),Pt[Mt](Pt.crisp({x:lt,y:dt,width:yt,height:gt},-Pt.strokeWidth())),this.isDirtyBox=!1,L(this,"afterDrawChartBox")},q.prototype.propFromSeries=function(){var Q,it,nt,H=this,W=H.options.chart,K=H.options.series;["inverted","angular","polar"].forEach(function(ht){for(it=t[W.type||W.defaultSeriesType],nt=W[ht]||it&&it.prototype[ht],Q=K&&K.length;!nt&&Q--;)(it=t[K[Q].type])&&it.prototype[ht]&&(nt=!0);H[ht]=nt})},q.prototype.linkSeries=function(){var H=this,W=H.series;W.forEach(function(K){K.linkedSeries.length=0}),W.forEach(function(K){var Q=K.options.linkedTo;b(Q)&&(Q=":previous"===Q?H.series[K.index-1]:H.get(Q))&&Q.linkedParent!==K&&(Q.linkedSeries.push(K),K.linkedParent=Q,Q.enabledDataSorting&&K.setDataSortingOptions(),K.visible=U(K.options.visible,Q.options.visible,K.visible))}),L(this,"afterLinkSeries")},q.prototype.renderSeries=function(){this.series.forEach(function(H){H.translate(),H.render()})},q.prototype.renderLabels=function(){var H=this,W=H.options.labels;W.items&&W.items.forEach(function(K){var Q=A(W.style,K.style),it=V(Q.left)+H.plotLeft,nt=V(Q.top)+H.plotTop+12;delete Q.left,delete Q.top,H.renderer.text(K.html,it,nt).attr({zIndex:2}).css(Q).add()})},q.prototype.render=function(){var H=this.axes,W=this.colorAxis,K=this.renderer,Q=this.options,it=function(lt){lt.forEach(function(dt){dt.visible&&dt.render()})},nt=0;this.setTitle(),this.legend=new Z(this,Q.legend),this.getStacks&&this.getStacks(),this.getMargins(!0),this.setChartSize(),Q=this.plotWidth,H.some(function(lt){if(lt.horiz&<.visible&<.options.labels.enabled&<.series.length)return nt=21,!0});var ht=this.plotHeight=Math.max(this.plotHeight-nt,0);H.forEach(function(lt){lt.setScale()}),this.getAxisMargins();var pt=1.1<Q/this.plotWidth,ft=1.05<ht/this.plotHeight;(pt||ft)&&(H.forEach(function(lt){(lt.horiz&&pt||!lt.horiz&&ft)&<.setTickInterval(!0)}),this.getMargins()),this.drawChartBox(),this.hasCartesianSeries?it(H):W&&W.length&&it(W),this.seriesGroup||(this.seriesGroup=K.g("series-group").attr({zIndex:3}).add()),this.renderSeries(),this.renderLabels(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0},q.prototype.addCredits=function(H){var W=this,K=N(!0,this.options.credits,H);K.enabled&&!this.credits&&(this.credits=this.renderer.text(K.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){K.href&&(h.location.href=K.href)}).attr({align:K.position.align,zIndex:8}),W.styledMode||this.credits.css(K.style),this.credits.add().align(K.position),this.credits.update=function(Q){W.credits=W.credits.destroy(),W.addCredits(Q)})},q.prototype.destroy=function(){var nt,H=this,W=H.axes,K=H.series,Q=H.container,it=Q&&Q.parentNode;for(L(H,"destroy"),H.renderer.forExport?o(d,H):d[H.index]=void 0,$.chartCount--,H.renderTo.removeAttribute("data-highcharts-chart"),rt(H),nt=W.length;nt--;)W[nt]=W[nt].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),nt=K.length;nt--;)K[nt]=K[nt].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(ht){var pt=H[ht];pt&&pt.destroy&&(H[ht]=pt.destroy())}),Q&&(Q.innerHTML=v.emptyHTML,rt(Q),it&&R(Q)),X(H,function(ht,pt){delete H[pt]})},q.prototype.firstRender=function(){var H=this,W=H.options;(!H.isReadyToRender||H.isReadyToRender())&&(H.getContainer(),H.resetMargins(),H.setChartSize(),H.propFromSeries(),H.getAxes(),(x(W.series)?W.series:[]).forEach(function(K){H.initSeries(K)}),H.linkSeries(),H.setSeriesData(),L(H,"beforeRender"),j&&(H.pointer=z.isRequired()?new z(H,W):new j(H,W)),H.render(),H.pointer.getChartPosition(),!H.renderer.imgCount&&!H.hasLoaded&&H.onload(),H.temporaryDisplay(!0))},q.prototype.onload=function(){this.callbacks.concat([this.callback]).forEach(function(H){H&&typeof this.index<"u"&&H.apply(this,[this])},this),L(this,"load"),L(this,"render"),_(this.index)&&this.setReflow(this.options.chart.reflow),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0},q.prototype.warnIfA11yModuleNotLoaded=function(){var H=this.options,W=this.title;H&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(W&&W.element.textContent||"").replace(/</g,"<")}),H.accessibility&&!1===H.accessibility.enabled||p('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))},q.prototype.addSeries=function(H,W,K){var it,Q=this;return H&&(W=U(W,!0),L(Q,"addSeries",{options:H},function(){it=Q.initSeries(H),Q.isDirtyLegend=!0,Q.linkSeries(),it.enabledDataSorting&&it.setData(H.data,!1),L(Q,"afterAddSeries",{series:it}),W&&Q.redraw(K)})),it},q.prototype.addAxis=function(H,W,K,Q){return this.createAxis(W?"xAxis":"yAxis",{axis:H,redraw:K,animation:Q})},q.prototype.addColorAxis=function(H,W,K){return this.createAxis("colorAxis",{axis:H,redraw:W,animation:K})},q.prototype.createAxis=function(H,W){return H=new Y(this,N(W.axis,{index:this[H].length,isX:"xAxis"===H})),U(W.redraw,!0)&&this.redraw(W.animation),H},q.prototype.showLoading=function(H){var W=this,K=W.options,Q=K.loading,it=function(){nt&&O(nt,{left:W.plotLeft+"px",top:W.plotTop+"px",width:W.plotWidth+"px",height:W.plotHeight+"px"})},nt=W.loadingDiv,ht=W.loadingSpan;nt||(W.loadingDiv=nt=f("div",{className:"highcharts-loading highcharts-loading-hidden"},null,W.container)),ht||(W.loadingSpan=ht=f("span",{className:"highcharts-loading-inner"},null,nt),i(W,"redraw",it)),nt.className="highcharts-loading",v.setElementHTML(ht,U(H,K.lang.loading,"")),W.styledMode||(O(nt,A(Q.style,{zIndex:10})),O(ht,Q.labelStyle),W.loadingShown||(O(nt,{opacity:0,display:""}),S(nt,{opacity:Q.style.opacity||.5},{duration:Q.showDuration||0}))),W.loadingShown=!0,it()},q.prototype.hideLoading=function(){var H=this.options,W=this.loadingDiv;W&&(W.className="highcharts-loading highcharts-loading-hidden",this.styledMode||S(W,{opacity:0},{duration:H.loading.hideDuration||100,complete:function(){O(W,{display:"none"})}})),this.loadingShown=!1},q.prototype.update=function(H,W,K,Q){var ft,lt,it=this,nt={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},ht=H.isResponsiveOptions,pt=[];L(it,"update",{options:H}),ht||it.setResponsive(!1,!0),H=n(H,it.options),it.userOptions=N(it.userOptions,H);var dt=H.chart;if(dt){if(N(!0,it.options.chart,dt),"className"in dt&&it.setClassName(dt.className),"reflow"in dt&&it.setReflow(dt.reflow),"inverted"in dt||"polar"in dt||"type"in dt){it.propFromSeries();var yt=!0}"alignTicks"in dt&&(yt=!0),"events"in dt&&r(this,dt),X(dt,function(gt,mt){-1!==it.propsRequireUpdateSeries.indexOf("chart."+mt)&&(ft=!0),-1!==it.propsRequireDirtyBox.indexOf(mt)&&(it.isDirtyBox=!0),-1!==it.propsRequireReflow.indexOf(mt)&&(ht?it.isDirtyBox=!0:lt=!0)}),!it.styledMode&&dt.style&&it.renderer.setStyle(it.options.chart.style||{})}!it.styledMode&&H.colors&&(this.options.colors=H.colors),H.time&&(this.time===I&&(this.time=new y(H.time)),N(!0,it.options.time,H.time)),X(H,function(gt,mt){it[mt]&&"function"==typeof it[mt].update?it[mt].update(gt,!1):"function"==typeof it[nt[mt]]?it[nt[mt]](gt):"colors"!==mt&&-1===it.collectionsWithUpdate.indexOf(mt)&&N(!0,it.options[mt],H[mt]),"chart"!==mt&&-1!==it.propsRequireUpdateSeries.indexOf(mt)&&(ft=!0)}),this.collectionsWithUpdate.forEach(function(gt){if(H[gt]){var mt=[];it[gt].forEach(function(ut,Ct){ut.options.isInternal||mt.push(U(ut.options.index,Ct))}),ot(H[gt]).forEach(function(ut,Ct){var vt,xt=_(ut.id);xt&&(vt=it.get(ut.id)),!vt&&it[gt]&&(vt=it[gt][mt?mt[Ct]:Ct])&&xt&&_(vt.options.id)&&(vt=void 0),vt&&vt.coll===gt&&(vt.update(ut,!1),K&&(vt.touched=!0)),!vt&&K&&it.collectionsWithInit[gt]&&(it.collectionsWithInit[gt][0].apply(it,[ut].concat(it.collectionsWithInit[gt][1]||[]).concat([!1])).touched=!0)}),K&&it[gt].forEach(function(ut){ut.touched||ut.options.isInternal?delete ut.touched:pt.push(ut)})}}),pt.forEach(function(gt){gt.chart&>.remove&>.remove(!1)}),yt&&it.axes.forEach(function(gt){gt.update({},!1)}),ft&&it.getSeriesOrderByLinks().forEach(function(gt){gt.chart&>.update({},!1)},this),yt=dt&&dt.width,dt=dt&&(b(dt.height)?st(dt.height,yt||it.chartWidth):dt.height),lt||u(yt)&&yt!==it.chartWidth||u(dt)&&dt!==it.chartHeight?it.setSize(yt,dt,Q):U(W,!0)&&it.redraw(Q),L(it,"afterUpdate",{options:H,redraw:W,animation:Q})},q.prototype.setSubtitle=function(H,W){this.applyDescription("subtitle",H),this.layOutTitles(W)},q.prototype.setCaption=function(H,W){this.applyDescription("caption",H),this.layOutTitles(W)},q.prototype.showResetZoom=function(){function H(){W.zoomOut()}var W=this,K=E.lang,Q=W.options.chart.zooming.resetButton,it=Q.theme,nt="chart"===Q.relativeTo||"spacingBox"===Q.relativeTo?null:"scrollablePlotBox";L(this,"beforeShowResetZoom",null,function(){W.resetZoomButton=W.renderer.button(K.resetZoom,null,null,H,it).attr({align:Q.position.align,title:K.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(Q.position,!1,nt)}),L(this,"afterShowResetZoom")},q.prototype.zoomOut=function(){L(this,"selection",{resetSelection:!0},this.zoom)},q.prototype.zoom=function(H){var it,W=this,K=W.pointer,Q=!1;!H||H.resetSelection?(W.axes.forEach(function(ht){it=ht.zoom()}),K.initiated=!1):H.xAxis.concat(H.yAxis).forEach(function(ht){var pt=ht.axis;(K[pt.isXAxis?"zoomX":"zoomY"]&&_(K.mouseDownX)&&_(K.mouseDownY)&&W.isInsidePlot(K.mouseDownX-W.plotLeft,K.mouseDownY-W.plotTop,{axis:pt})||!_(W.inverted?K.mouseDownX:K.mouseDownY))&&(it=pt.zoom(ht.min,ht.max),pt.displayBtn&&(Q=!0))});var nt=W.resetZoomButton;Q&&!nt?W.showResetZoom():!Q&&B(nt)&&(W.resetZoomButton=nt.destroy()),it&&W.redraw(U(W.options.chart.animation,H&&H.animation,100>W.pointCount))},q.prototype.pan=function(H,W){var K=this,Q=K.hoverPoints;W="object"==typeof W?W:{enabled:W,type:"x"};var it=K.options.chart;it&&it.panning&&(it.panning=W);var ht,nt=W.type;L(this,"pan",{originalEvent:H},function(){Q&&Q.forEach(function(lt){lt.setState()});var pt=K.xAxis;"xy"===nt?pt=pt.concat(K.yAxis):"y"===nt&&(pt=K.yAxis);var ft={};pt.forEach(function(lt){if(lt.options.panningEnabled&&!lt.options.isInternal){var dt=lt.horiz,yt=H[dt?"chartX":"chartY"],gt=K[dt=dt?"mouseDownX":"mouseDownY"],mt=lt.minPointOffset||0,ut=lt.reversed&&!K.inverted||!lt.reversed&&K.inverted?-1:1,Ct=lt.getExtremes(),xt=lt.toValue(gt-yt,!0)+mt*ut,vt=lt.toValue(gt+lt.len-yt,!0)-(mt*ut||lt.isXAxis&<.pointRangePadding||0),Pt=vt<xt;ut=lt.hasVerticalPanning(),gt=Pt?vt:xt,xt=Pt?xt:vt;var kt=lt.panningState;!ut||lt.isXAxis||kt&&!kt.isDirty||lt.series.forEach(function(Mt){var wt=Mt.getProcessedData(!0);wt=Mt.getExtremes(wt.yData,!0),kt||(kt={startMin:Number.MAX_VALUE,startMax:-Number.MAX_VALUE}),u(wt.dataMin)&&u(wt.dataMax)&&(kt.startMin=Math.min(U(Mt.options.threshold,1/0),wt.dataMin,kt.startMin),kt.startMax=Math.max(U(Mt.options.threshold,-1/0),wt.dataMax,kt.startMax))}),ut=Math.min(U(kt&&kt.startMin,Ct.dataMin),mt?Ct.min:lt.toValue(lt.toPixels(Ct.min)-lt.minPixelPadding)),vt=Math.max(U(kt&&kt.startMax,Ct.dataMax),mt?Ct.max:lt.toValue(lt.toPixels(Ct.max)+lt.minPixelPadding)),lt.panningState=kt,lt.isOrdinal||(0<(mt=ut-gt)&&(xt+=mt,gt=ut),0<(mt=xt-vt)&&(xt=vt,gt-=mt),lt.series.length&>!==Ct.min&&xt!==Ct.max&>>=ut&&xt<=vt&&(lt.setExtremes(gt,xt,!1,!1,{trigger:"pan"}),!K.resetZoomButton&>!==ut&&xt!==vt&&nt.match("y")&&(K.showResetZoom(),lt.displayBtn=!1),ht=!0),ft[dt]=yt)}}),X(ft,function(lt,dt){K[dt]=lt}),ht&&K.redraw(!1),O(K.container,{cursor:"move"})})},q}(),A(G.prototype,{callbacks:[],collectionsWithInit:{xAxis:[G.prototype.addAxis,[!0]],yAxis:[G.prototype.addAxis,[!1]],series:[G.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(" ")}),G}),ct(F,"Core/Legend/LegendSymbol.js",[F["Core/Utilities.js"]],function(G){var J,$,Y=G.extend,T=G.merge,et=G.pick;return($=J||(J={})).drawLineMarker=function(Z){var z=this.legendItem=this.legendItem||{},j=this.options,P=Z.symbolWidth,m=Z.symbolHeight,g=m/2,y=this.chart.renderer,k=z.group;Z=Z.baseline-Math.round(.3*Z.fontMetrics.b);var v={},S=j.marker,M=0;this.chart.styledMode||(v={"stroke-width":Math.min(j.lineWidth||0,24)},j.dashStyle?v.dashstyle=j.dashStyle:"square"!==j.linecap&&(v["stroke-linecap"]="round")),z.line=y.path().addClass("highcharts-graph").attr(v).add(k),v["stroke-linecap"]&&(M=Math.min(z.line.strokeWidth(),P)/2),z.line.attr({d:[["M",M,Z],["L",P-M,Z]]}),S&&!1!==S.enabled&&P&&(j=Math.min(et(S.radius,g),g),0===this.symbol.indexOf("url")&&(S=T(S,{width:m,height:m}),j=0),z.symbol=z=y.symbol(this.symbol,P/2-j,Z-j,2*j,2*j,Y({context:"legend"},S)).addClass("highcharts-point").add(k),z.isMarker=!0)},$.drawRectangle=function(Z,z){var j=Z.symbolHeight,P=Z.options.squareSymbol;(z=z.legendItem||{}).symbol=this.chart.renderer.rect(P?(Z.symbolWidth-j)/2:0,Z.baseline-j+1,P?j:Z.symbolWidth,j,et(Z.options.symbolRadius,j/2)).addClass("highcharts-point").attr({zIndex:3}).add(z.group)},J}),ct(F,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},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(){return"number"!=typeof this.y?"":(0,this.series.chart.numberFormatter)(this.y,-1)},padding:5,style:{fontSize:"11px",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:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),ct(F,"Core/Series/Series.js",[F["Core/Animation/AnimationUtilities.js"],F["Core/Defaults.js"],F["Core/Foundation.js"],F["Core/Globals.js"],F["Core/Legend/LegendSymbol.js"],F["Core/Series/Point.js"],F["Core/Series/SeriesDefaults.js"],F["Core/Series/SeriesRegistry.js"],F["Core/Renderer/SVG/SVGElement.js"],F["Core/Utilities.js"]],function(G,Y,T,et,J,$,Z,z,j,P){var m=G.animObject,g=G.setAnimation,y=Y.defaultOptions,k=T.registerEventOptions,v=et.hasTouch,S=et.svg,M=et.win,w=z.seriesTypes,E=P.arrayMax,I=P.arrayMin,C=P.clamp,r=P.cleanRecursively,d=P.correctFloat,s=P.defined,l=P.erase,e=P.error,h=P.extend,t=P.find,i=P.fireEvent,c=P.getNestedProperty,n=P.isArray,f=P.isNumber,O=P.isString,_=P.merge,R=P.objectEach,o=P.pick,p=P.removeEvent,A=P.splat,D=P.syncTimeout;return G=function(){function L(){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}return L.prototype.init=function(a,x){i(this,"init",{options:x});var u=this,B=a.series;this.eventsToUnbind=[],u.chart=a,u.options=u.setOptions(x),x=u.options,u.linkedSeries=[],u.bindAxes(),h(u,{name:x.name,state:"",visible:!1!==x.visible,selected:!0===x.selected}),k(this,x);var N,b=x.events;(b&&b.click||x.point&&x.point.events&&x.point.events.click||x.allowPointSelect)&&(a.runTrackerClick=!0),u.getColor(),u.getSymbol(),u.parallelArrays.forEach(function(X){u[X+"Data"]||(u[X+"Data"]=[])}),u.isCartesian&&(a.hasCartesianSeries=!0),B.length&&(N=B[B.length-1]),u._i=o(N&&N._i,-1)+1,u.opacity=u.options.opacity,a.orderSeries(this.insert(B)),x.dataSorting&&x.dataSorting.enabled?u.setDataSortingOptions():u.points||u.data||u.setData(x.data,!1),i(this,"afterInit")},L.prototype.is=function(a){return w[a]&&this instanceof w[a]},L.prototype.insert=function(a){var u,x=this.options.index;if(f(x)){for(u=a.length;u--;)if(x>=o(a[u].options.index,a[u]._i)){a.splice(u+1,0,this);break}-1===u&&a.unshift(this),u+=1}else a.push(this);return o(u,a.length-1)},L.prototype.bindAxes=function(){var B,a=this,x=a.options,u=a.chart;i(this,"bindAxes",null,function(){(a.axisTypes||[]).forEach(function(b){var N=0;u[b].forEach(function(X){B=X.options,(x[b]===N&&!B.isInternal||typeof x[b]<"u"&&x[b]===B.id||typeof x[b]>"u"&&0===B.index)&&(a.insert(X.series),a[b]=X,X.isDirty=!0),B.isInternal||N++}),a[b]||a.optionalAxis===b||e(18,!0,u)})}),i(this,"afterBindAxes")},L.prototype.updateParallelArrays=function(a,x){var u=a.series,B=arguments,b=f(x)?function(N){var X="y"===N&&u.toYData?u.toYData(a):a[N];u[N+"Data"][x]=X}:function(N){Array.prototype[x].apply(u[N+"Data"],Array.prototype.slice.call(B,2))};u.parallelArrays.forEach(b)},L.prototype.hasData=function(){return this.visible&&typeof this.dataMax<"u"&&typeof this.dataMin<"u"||this.visible&&this.yData&&0<this.yData.length},L.prototype.autoIncrement=function(a){var X,x=this.options,u=x.pointIntervalUnit,B=x.relativeXValue,b=this.chart.time,N=this.xIncrement;return N=o(N,x.pointStart,0),this.pointInterval=X=o(this.pointInterval,x.pointInterval,1),B&&f(a)&&(X*=a),u&&(x=new b.Date(N),"day"===u?b.set("Date",x,b.get("Date",x)+X):"month"===u?b.set("Month",x,b.get("Month",x)+X):"year"===u&&b.set("FullYear",x,b.get("FullYear",x)+X),X=x.getTime()-N),B&&f(a)?N+X:(this.xIncrement=N+X,N)},L.prototype.setDataSortingOptions=function(){var a=this.options;h(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),s(a.pointRange)||(a.pointRange=1)},L.prototype.setOptions=function(a){var x=this.chart,u=x.options,B=u.plotOptions,b=x.userOptions||{};a=_(a),x=x.styledMode;var N={plotOptions:B,userOptions:a};i(this,"setOptions",N);var X=N.plotOptions[this.type],U=b.plotOptions||{};return this.userOptions=N.userOptions,b=_(X,B.series,b.plotOptions&&b.plotOptions[this.type],a),this.tooltipOptions=_(y.tooltip,y.plotOptions.series&&y.plotOptions.series.tooltip,y.plotOptions[this.type].tooltip,u.tooltip.userOptions,B.series&&B.series.tooltip,B[this.type].tooltip,a.tooltip),this.stickyTracking=o(a.stickyTracking,U[this.type]&&U[this.type].stickyTracking,U.series&&U.series.stickyTracking,!(!this.tooltipOptions.shared||this.noSharedTooltip)||b.stickyTracking),null===X.marker&&delete b.marker,this.zoneAxis=b.zoneAxis,B=this.zones=(b.zones||[]).slice(),!b.negativeColor&&!b.negativeFillColor||b.zones||(u={value:b[this.zoneAxis+"Threshold"]||b.threshold||0,className:"highcharts-negative"},x||(u.color=b.negativeColor,u.fillColor=b.negativeFillColor),B.push(u)),B.length&&s(B[B.length-1].value)&&B.push(x?{}:{color:this.color,fillColor:this.fillColor}),i(this,"afterSetOptions",{options:b}),b},L.prototype.getName=function(){return o(this.options.name,"Series "+(this.index+1))},L.prototype.getCyclic=function(a,x,u){var B=this.chart,b=this.userOptions,N=a+"Index",X=a+"Counter",U=u?u.length:o(B.options.chart[a+"Count"],B[a+"Count"]);if(!x){var V=o(b[N],b["_"+N]);s(V)||(B.series.length||(B[X]=0),b["_"+N]=V=B[X]%U,B[X]+=1),u&&(x=u[V])}typeof V<"u"&&(this[N]=V),this[a]=x},L.prototype.getColor=function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||y.plotOptions[this.type].color,this.chart.options.colors)},L.prototype.getPointsCollection=function(){return(this.hasGroupedData?this.points:this.data)||[]},L.prototype.getSymbol=function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},L.prototype.findPointIndex=function(a,x){var X,U,u=a.id,B=a.x,b=this.points,N=this.options.dataSorting;if(u)(N=this.chart.get(u))instanceof $&&(X=N);else if((this.linkedParent||this.enabledDataSorting||this.options.relativeXValue)&&(X=function(st){return!st.touched&&st.index===a.index},N&&N.matchByName?X=function(st){return!st.touched&&st.name===a.name}:this.options.relativeXValue&&(X=function(st){return!st.touched&&st.options.x===a.x}),!(X=t(b,X))))return;if(X){var V=X&&X.index;typeof V<"u"&&(U=!0)}return typeof V>"u"&&f(B)&&(V=this.xData.indexOf(B,x)),-1!==V&&typeof V<"u"&&this.cropped&&(V=V>=this.cropStart?V-this.cropStart:V),!U&&f(V)&&b[V]&&b[V].touched&&(V=void 0),V},L.prototype.updateData=function(a,x){var V,st,rt,u=this.options,B=u.dataSorting,b=this.points,N=[],X=this.requireSorting,U=a.length===b.length,ot=!0;if(this.xIncrement=null,a.forEach(function(tt,at){var q=s(tt)&&this.pointClass.prototype.optionsToObject.call({series:this},tt)||{};q.id||f(q.x)?(-1===(q=this.findPointIndex(q,rt))||typeof q>"u"?N.push(tt):b[q]&&tt!==u.data[q]?(b[q].update(tt,!1,null,!1),b[q].touched=!0,X&&(rt=q+1)):b[q]&&(b[q].touched=!0),(!U||at!==q||B&&B.enabled||this.hasDerivedData)&&(V=!0)):N.push(tt)},this),V)for(a=b.length;a--;)(st=b[a])&&!st.touched&&st.remove&&st.remove(!1,x);else!U||B&&B.enabled?ot=!1:(a.forEach(function(tt,at){tt!==b[at].y&&b[at].update&&b[at].update(tt,!1,null,!1)}),N.length=0);return b.forEach(function(tt){tt&&(tt.touched=!1)}),!!ot&&(N.forEach(function(tt){this.addPoint(tt,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=E(this.xData),this.autoIncrement()),!0)},L.prototype.setData=function(a,x,u,B){void 0===x&&(x=!0);var b=this,N=b.points,X=N&&N.length||0,U=b.options,V=b.chart,st=U.dataSorting,rt=b.xAxis,ot=U.turboThreshold,tt=this.xData,at=this.yData,q=b.pointArrayMap;q=q&&q.length;var W,H=U.keys,K=0,Q=1,it=null;if(!V.options.chart.allowMutatingData){U.data&&delete b.options.data,b.userOptions.data&&delete b.userOptions.data;var nt=_(!0,a)}if(nt=(a=nt||a||[]).length,st&&st.enabled&&(a=this.sortData(a)),V.options.chart.allowMutatingData&&!1!==B&&nt&&X&&!b.cropped&&!b.hasGroupedData&&b.visible&&!b.boosted&&(W=this.updateData(a,u)),!W){if(b.xIncrement=null,b.colorCounter=0,this.parallelArrays.forEach(function(ht){b[ht+"Data"].length=0}),ot&&nt>ot)if(it=b.getFirstValidPoint(a),f(it))for(u=0;u<nt;u++)tt[u]=this.autoIncrement(),at[u]=a[u];else if(n(it))if(q)if(it.length===q)for(u=0;u<nt;u++)tt[u]=this.autoIncrement(),at[u]=a[u];else for(u=0;u<nt;u++)tt[u]=(B=a[u])[0],at[u]=B.slice(1,q+1);else if(H&&(K=0<=(K=H.indexOf("x"))?K:0,Q=0<=(Q=H.indexOf("y"))?Q:1),1===it.length&&(Q=0),K===Q)for(u=0;u<nt;u++)tt[u]=this.autoIncrement(),at[u]=a[u][Q];else for(u=0;u<nt;u++)tt[u]=(B=a[u])[K],at[u]=B[Q];else e(12,!1,V);else for(u=0;u<nt;u++)typeof a[u]<"u"&&(b.pointClass.prototype.applyOptions.apply(B={series:b},[a[u]]),b.updateParallelArrays(B,u));for(at&&O(at[0])&&e(14,!0,V),b.data=[],b.options.data=b.userOptions.data=a,u=X;u--;)N[u]&&N[u].destroy&&N[u].destroy();rt&&(rt.minRange=rt.userMinRange),b.isDirty=V.isDirtyBox=!0,b.isDirtyData=!!N,u=!1}"point"===U.legendType&&(this.processData(),this.generatePoints()),x&&V.redraw(u)},L.prototype.sortData=function(a){var x=this,u=x.options.dataSorting.sortKey||"y",B=function(b,N){return s(N)&&b.pointClass.prototype.optionsToObject.call({series:b},N)||{}};return a.forEach(function(b,N){a[N]=B(x,b),a[N].index=N},this),a.concat().sort(function(b,N){return b=c(u,b),(N=c(u,N))<b?-1:N>b?1:0}).forEach(function(b,N){b.x=N},this),x.linkedSeries&&x.linkedSeries.forEach(function(b){var N=b.options,X=N.data;N.dataSorting&&N.dataSorting.enabled||!X||(X.forEach(function(U,V){X[V]=B(b,U),a[V]&&(X[V].x=a[V].x,X[V].index=V)}),b.setData(X,!1))}),a},L.prototype.getProcessedData=function(a){var x=this.xAxis,u=this.options,B=u.cropThreshold,b=a||this.getExtremesFromAll||u.getExtremesFromAll,N=this.isCartesian;a=x&&x.val2lin,u=!(!x||!x.logarithmic);var X=0,U=this.xData,V=this.yData,st=this.requireSorting,rt=!1,ot=U.length;if(x){var tt=(rt=x.getExtremes()).min,at=rt.max;rt=!(!x.categories||x.names.length)}if(N&&this.sorted&&!b&&(!B||ot>B||this.forceCrop))if(U[ot-1]<tt||U[0]>at)U=[],V=[];else if(this.yData&&(U[0]<tt||U[ot-1]>at)){var q=this.cropData(this.xData,this.yData,tt,at);U=q.xData,V=q.yData,X=q.start,q=!0}for(B=U.length||1;--B;)if(0<(x=u?a(U[B])-a(U[B-1]):U[B]-U[B-1])&&(typeof H>"u"||x<H))var H=x;else 0>x&&st&&!rt&&(e(15,!1,this.chart),st=!1);return{xData:U,yData:V,cropped:q,cropStart:X,closestPointRange:H}},L.prototype.processData=function(a){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!a)return!1;a=this.getProcessedData(),this.cropped=a.cropped,this.cropStart=a.cropStart,this.processedXData=a.xData,this.processedYData=a.yData,this.closestPointRange=this.basePointRange=a.closestPointRange,i(this,"afterProcessData")},L.prototype.cropData=function(a,x,u,B,b){var X,N=a.length,U=0,V=N;for(b=o(b,this.cropShoulder),X=0;X<N;X++)if(a[X]>=u){U=Math.max(0,X-b);break}for(u=X;u<N;u++)if(a[u]>B){V=u+b;break}return{xData:a.slice(U,V),yData:x.slice(U,V),start:U,end:V}},L.prototype.generatePoints=function(){var a=this.options,x=this.processedData||a.data,u=this.processedXData,B=this.processedYData,b=this.pointClass,N=u.length,X=this.cropStart||0,U=this.hasGroupedData,V=a.keys,st=[];a=a.dataGrouping&&a.dataGrouping.groupAll?X:0;var rt,ot,tt=this.data;if(!tt&&!U){var at=[];at.length=x.length,tt=this.data=at}for(V&&U&&(this.options.keys=!1),ot=0;ot<N;ot++){if(at=X+ot,U){var q=(new b).init(this,[u[ot]].concat(A(B[ot])));q.dataGroup=this.groupMap[a+ot],q.dataGroup.options&&(q.options=q.dataGroup.options,h(q,q.dataGroup.options),delete q.dataLabels)}else(q=tt[at])||typeof x[at]>"u"||(tt[at]=q=(new b).init(this,x[at],u[ot]));q&&(q.index=U?a+ot:at,st[ot]=q)}if(this.options.keys=V,tt&&(N!==(rt=tt.length)||U))for(ot=0;ot<rt;ot++)ot!==X||U||(ot+=N),tt[ot]&&(tt[ot].destroyElements(),tt[ot].plotX=void 0);this.data=tt,this.points=st,i(this,"afterGeneratePoints")},L.prototype.getXExtremes=function(a){return{min:I(a),max:E(a)}},L.prototype.getExtremes=function(a,x){var u=this.xAxis,B=this.yAxis,b=this.processedXData||this.xData,N=[],X=this.requireSorting?this.cropShoulder:0;B=!!B&&B.positiveValuesOnly;var U,V=0,st=0,rt=0,ot=(a=a||this.stackedYData||this.processedYData||[]).length;if(u){var tt=u.getExtremes();V=tt.min,st=tt.max}for(U=0;U<ot;U++){var at=b[U],q=(f(tt=a[U])||n(tt))&&(tt.length||0<tt||!B);if(at=x||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!u||(b[U+X]||at)>=V&&(b[U-X]||at)<=st,q&&at)if(q=tt.length)for(;q--;)f(tt[q])&&(N[rt++]=tt[q]);else N[rt++]=tt}return a={activeYData:N,dataMin:I(N),dataMax:E(N)},i(this,"afterGetExtremes",{dataExtremes:a}),a},L.prototype.applyExtremes=function(){var a=this.getExtremes();return this.dataMin=a.dataMin,this.dataMax=a.dataMax,a},L.prototype.getFirstValidPoint=function(a){for(var x=a.length,u=0,B=null;null===B&&u<x;)B=a[u],u++;return B},L.prototype.translate=function(){this.processedXData||this.processData(),this.generatePoints();var at,q,a=this.options,x=a.stacking,u=this.xAxis,B=u.categories,b=this.enabledDataSorting,N=this.yAxis,X=this.points,U=X.length,V=this.pointPlacementToXValue(),st=!!V,rt=a.threshold,ot=a.startFromThreshold?rt:0,tt=this.zoneAxis||"y",H=Number.MAX_VALUE;for(at=0;at<U;at++){var W=X[at],K=W.x,Q=void 0,it=void 0,nt=W.y,ht=W.low,pt=x&&N.stacking&&N.stacking.stacks[(this.negStacks&&nt<(ot?0:rt)?"-":"")+this.stackKey];if((N.positiveValuesOnly&&!N.validatePositiveValue(nt)||u.positiveValuesOnly&&!u.validatePositiveValue(K))&&(W.isNull=!0),W.plotX=q=d(C(u.translate(K,0,0,0,1,V,"flags"===this.type),-1e5,1e5)),x&&this.visible&&pt&&pt[K]){var ft=this.getStackIndicator(ft,K,this.index);!W.isNull&&ft.key&&(it=(Q=pt[K]).points[ft.key]),Q&&n(it)&&(nt=it[1],(ht=it[0])===ot&&ft.key===pt[K].base&&(ht=o(f(rt)?rt:N.min)),N.positiveValuesOnly&&s(ht)&&0>=ht&&(ht=void 0),W.total=W.stackTotal=o(Q.total),W.percentage=s(W.y)&&Q.total?W.y/Q.total*100:void 0,W.stackY=nt,this.irregularWidths||Q.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))}if(W.yBottom=s(ht)?C(N.translate(ht,0,1,0,1),-1e5,1e5):void 0,this.dataModify&&(nt=this.dataModify.modifyValue(nt,at)),W.plotY=void 0,f(nt)&&typeof(Q=N.translate(nt,!1,!0,!1,!0))<"u"&&(W.plotY=C(Q,-1e5,1e5)),W.isInside=this.isPointInside(W),W.clientX=st?d(u.translate(K,0,0,0,1,V)):q,W.negative=W[tt]<(a[tt+"Threshold"]||rt||0),W.category=o(B&&B[W.x],W.x),!W.isNull&&!1!==W.visible){typeof lt<"u"&&(H=Math.min(H,Math.abs(q-lt)));var lt=q}W.zone=this.zones.length?W.getZone():void 0,!W.graphic&&this.group&&b&&(W.isNew=!0)}this.closestPointRangePx=H,i(this,"afterTranslate")},L.prototype.getValidPoints=function(a,x,u){var B=this.chart;return(a||this.points||[]).filter(function(b){return!(x&&!B.isInsidePlot(b.plotX,b.plotY,{inverted:B.inverted}))&&!1!==b.visible&&(u||!b.isNull)})},L.prototype.getClipBox=function(){var a=this.chart,x=this.xAxis,u=this.yAxis,B=_(a.clipBox);return x&&x.len!==a.plotSizeX&&(B.width=x.len),u&&u.len!==a.plotSizeY&&(B.height=u.len),B},L.prototype.getSharedClipKey=function(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0)},L.prototype.setClip=function(){var a=this.chart,x=this.group,u=this.markerGroup,B=a.sharedClips;a=a.renderer;var b=this.getClipBox(),N=this.getSharedClipKey(),X=B[N];X?X.animate(b):B[N]=X=a.clipRect(b),x&&x.clip(!1===this.options.clip?void 0:X),u&&u.clip()},L.prototype.animate=function(a){var x=this.chart,u=this.group,B=this.markerGroup,b=x.inverted,N=m(this.options.animation),X=[this.getSharedClipKey(),N.duration,N.easing,N.defer].join(),U=x.sharedClips[X],V=x.sharedClips[X+"m"];if(a&&u)N=this.getClipBox(),U?U.attr("height",N.height):(N.width=0,b&&(N.x=x.plotHeight),U=x.renderer.clipRect(N),x.sharedClips[X]=U,V=x.renderer.clipRect({x:-99,y:-99,width:b?x.plotWidth+199:99,height:b?99:x.plotHeight+199}),x.sharedClips[X+"m"]=V),u.clip(U),B&&B.clip(V);else if(U&&!U.hasClass("highcharts-animating")){x=this.getClipBox();var st=N.step;B&&B.element.childNodes.length&&(N.step=function(rt,ot){st&&st.apply(ot,arguments),"width"===ot.prop&&V&&V.element&&V.attr(b?"height":"width",rt+99)}),U.addClass("highcharts-animating").animate(x,N)}},L.prototype.afterAnimate=function(){var a=this;this.setClip(),R(this.chart.sharedClips,function(x,u,B){x&&!a.chart.container.querySelector('[clip-path="url(#'.concat(x.id,')"]'))&&(x.destroy(),delete B[u])}),this.finishedAnimating=!0,i(this,"afterAnimate")},L.prototype.drawPoints=function(a){void 0===a&&(a=this.points);var V,st,x=this.chart,u=x.styledMode,B=this.colorAxis,b=this.options.marker,N=this[this.specialGroup||"markerGroup"],X=this.xAxis,U=o(b.enabled,!(X&&!X.isRadial)||null,this.closestPointRangePx>=b.enabledThreshold*b.radius);if(!1!==b.enabled||this._hasPointMarkers)for(V=0;V<a.length;V++){var rt=a[V],ot=(st=rt.graphic)?"animate":"attr",tt=rt.marker||{},at=!!rt.marker;if((U&&typeof tt.enabled>"u"||tt.enabled)&&!rt.isNull&&!1!==rt.visible){var q=o(tt.symbol,this.symbol,"rect"),H=this.markerAttribs(rt,rt.selected&&"select");this.enabledDataSorting&&(rt.startXPos=X.reversed?-(H.width||0):X.width);var W=!1!==rt.isInside;!st&&W&&(0<(H.width||0)||rt.hasImage)&&(rt.graphic=st=x.renderer.symbol(q,H.x,H.y,H.width,H.height,at?tt:b).add(N),this.enabledDataSorting&&x.hasRendered&&(st.attr({x:rt.startXPos}),ot="animate")),st&&"animate"===ot&&st[W?"show":"hide"](W).animate(H),st&&(tt=this.pointAttribs(rt,u||!rt.selected?void 0:"select"),u?B&&st.css({fill:tt.fill}):st[ot](tt)),st&&st.addClass(rt.getClassName(),!0)}else st&&(rt.graphic=st.destroy())}},L.prototype.markerAttribs=function(a,x){var u=this.options,B=u.marker,b=a.marker||{},N=b.symbol||B.symbol,X={},U=o(b.radius,B&&B.radius);return x&&(B=B.states[x],U=o((x=b.states&&b.states[x])&&x.radius,B&&B.radius,U&&U+(B&&B.radiusPlus||0))),a.hasImage=N&&0===N.indexOf("url"),a.hasImage&&(U=0),a=a.pos(),f(U)&&a&&(X.x=a[0]-U,X.y=a[1]-U,u.crisp&&(X.x=Math.floor(X.x))),U&&(X.width=X.height=2*U),X},L.prototype.pointAttribs=function(a,x){var u=this.options.marker,B=a&&a.options,b=B&&B.marker||{},N=B&&B.color,X=a&&a.color,U=a&&a.zone&&a.zone.color,V=this.color;return a=o(b.lineWidth,u.lineWidth),B=1,V=N||U||X||V,N=b.fillColor||u.fillColor||V,X=b.lineColor||u.lineColor||V,u=u.states[x=x||"normal"]||{},a=o((x=b.states&&b.states[x]||{}).lineWidth,u.lineWidth,a+o(x.lineWidthPlus,u.lineWidthPlus,0)),{stroke:X=x.lineColor||u.lineColor||X,"stroke-width":a,fill:N=x.fillColor||u.fillColor||N,opacity:B=o(x.opacity,u.opacity,B)}},L.prototype.destroy=function(a){var X,U,V,x=this,u=x.chart,B=/AppleWebKit\/533/.test(M.navigator.userAgent),b=x.data||[];for(i(x,"destroy",{keepEventsForUpdate:a}),this.removeEvents(a),(x.axisTypes||[]).forEach(function(st){(V=x[st])&&V.series&&(l(V.series,x),V.isDirty=V.forceRedraw=!0)}),x.legendItem&&x.chart.legend.destroyItem(x),X=b.length;X--;)(U=b[X])&&U.destroy&&U.destroy();x.clips&&x.clips.forEach(function(st){return st.destroy()}),P.clearTimeout(x.animationTimeout),R(x,function(st,rt){st instanceof j&&!st.survive&&st[B&&"group"===rt?"hide":"destroy"]()}),u.hoverSeries===x&&(u.hoverSeries=void 0),l(u.series,x),u.orderSeries(),R(x,function(st,rt){a&&"hcEvents"===rt||delete x[rt]})},L.prototype.applyZones=function(){var rt,ot,tt,at,q,H,W,K,a=this,x=this.chart,u=x.renderer,B=this.zones,b=this.clips||[],N=this.graph,X=this.area,U=Math.max(x.plotWidth,x.plotHeight),V=this[(this.zoneAxis||"y")+"Axis"],st=x.inverted,Q=!1;if(B.length&&(N||X)&&V&&typeof V.min<"u"){var it=V.reversed,nt=V.horiz;N&&!this.showLine&&N.hide(),X&&X.hide();var ht=V.getExtremes();B.forEach(function(pt,ft){rt=it?nt?x.plotWidth:0:nt?0:V.toPixels(ht.min)||0,rt=C(o(ot,rt),0,U),ot=C(Math.round(V.toPixels(o(pt.value,ht.max),!0)||0),0,U),Q&&(rt=ot=V.toPixels(ht.max)),at=Math.abs(rt-ot),q=Math.min(rt,ot),H=Math.max(rt,ot),V.isXAxis?(tt={x:st?H:q,y:0,width:at,height:U},nt||(tt.x=x.plotHeight-tt.x)):(tt={x:0,y:st?H:q,width:U,height:at},nt&&(tt.y=x.plotWidth-tt.y)),st&&u.isVML&&(tt=V.isXAxis?{x:0,y:it?q:H,height:tt.width,width:x.chartWidth}:{x:tt.y-x.plotLeft-x.spacingBox.x,y:0,width:tt.height,height:x.chartHeight}),b[ft]?b[ft].animate(tt):b[ft]=u.clipRect(tt),W=a["zone-area-"+ft],K=a["zone-graph-"+ft],N&&K&&K.clip(b[ft]),X&&W&&W.clip(b[ft]),Q=pt.value>ht.max,a.resetZones&&0===ot&&(ot=void 0)}),this.clips=b}else a.visible&&(N&&N.show(),X&&X.show())},L.prototype.plotGroup=function(a,x,u,B,b){var N=this[a],X=!N;return u={visibility:u,zIndex:B||.1},typeof this.opacity>"u"||this.chart.styledMode||"inactive"===this.state||(u.opacity=this.opacity),X&&(this[a]=N=this.chart.renderer.g().add(b)),N.addClass("highcharts-"+x+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(s(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(N.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),N.attr(u)[X?"attr":"animate"](this.getPlotBox(x)),N},L.prototype.getPlotBox=function(a){var x=this.xAxis,u=this.yAxis,B=this.chart;return a=B.inverted&&!B.polar&&x&&!1!==this.invertible&&"series"===a,B.inverted&&(x=u,u=this.xAxis),{translateX:x?x.left:B.plotLeft,translateY:u?u.top:B.plotTop,rotation:a?90:0,rotationOriginX:a?(x.len-u.len)/2:0,rotationOriginY:a?(x.len+u.len)/2:0,scaleX:a?-1:1,scaleY:1}},L.prototype.removeEvents=function(a){a||p(this),this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(x){x()}),this.eventsToUnbind.length=0)},L.prototype.render=function(){var a=this,x=a.chart,u=a.options,B=m(u.animation),b=a.visible?"inherit":"hidden",N=u.zIndex,X=a.hasRendered,U=x.seriesGroup;x=!a.finishedAnimating&&x.renderer.isSVG?B.duration:0,i(this,"render"),a.plotGroup("group","series",b,N,U),a.markerGroup=a.plotGroup("markerGroup","markers",b,N,U),!1!==u.clip&&a.setClip(),a.animate&&x&&a.animate(!0),a.drawGraph&&(a.drawGraph(),a.applyZones()),a.visible&&a.drawPoints(),a.drawDataLabels&&a.drawDataLabels(),a.redrawPoints&&a.redrawPoints(),a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker(),a.animate&&x&&a.animate(),X||(x&&B.defer&&(x+=B.defer),a.animationTimeout=D(function(){a.afterAnimate()},x||0)),a.isDirty=!1,a.hasRendered=!0,i(a,"afterRender")},L.prototype.redraw=function(){var a=this.isDirty||this.isDirtyData;this.translate(),this.render(),a&&delete this.kdTree},L.prototype.searchPoint=function(a,x){var u=this.xAxis,B=this.yAxis,b=this.chart.inverted;return this.searchKDTree({clientX:b?u.len-a.chartY+u.pos:a.chartX-u.pos,plotY:b?B.len-a.chartX+B.pos:a.chartY-B.pos},x,a)},L.prototype.buildKDTree=function(a){function x(b,N,X){var U=b&&b.length;if(U){var V=u.kdAxisArray[N%X];return b.sort(function(st,rt){return st[V]-rt[V]}),{point:b[U=Math.floor(U/2)],left:x(b.slice(0,U),N+1,X),right:x(b.slice(U+1),N+1,X)}}}this.buildingKdTree=!0;var u=this,B=-1<u.options.findNearestPointBy.indexOf("y")?2:1;delete u.kdTree,D(function(){u.kdTree=x(u.getValidPoints(null,!u.directTouch),B,B),u.buildingKdTree=!1},u.options.kdNow||a&&"touchstart"===a.type?0:1)},L.prototype.searchKDTree=function(a,x,u){var b=this,N=this.kdAxisArray[0],X=this.kdAxisArray[1],U=x?"distX":"dist";if(x=-1<b.options.findNearestPointBy.indexOf("y")?2:1,this.kdTree||this.buildingKdTree||this.buildKDTree(u),this.kdTree)return function B(V,st,rt,ot){var tt=st.point,at=b.kdAxisArray[rt%ot],q=tt,H=s(V[N])&&s(tt[N])?Math.pow(V[N]-tt[N],2):null,W=s(V[X])&&s(tt[X])?Math.pow(V[X]-tt[X],2):null;return tt.dist=s(W=(H||0)+(W||0))?Math.sqrt(W):Number.MAX_VALUE,tt.distX=s(H)?Math.sqrt(H):Number.MAX_VALUE,H=0>(at=V[at]-tt[at])?"right":"left",st[W=0>at?"left":"right"]&&(q=(W=B(V,st[W],rt+1,ot))[U]<q[U]?W:tt),st[H]&&Math.sqrt(at*at)<q[U]&&(q=(V=B(V,st[H],rt+1,ot))[U]<q[U]?V:q),q}(a,this.kdTree,x,x)},L.prototype.pointPlacementToXValue=function(){var a=this.options,x=a.pointRange,u=this.xAxis;return"between"===(a=a.pointPlacement)&&(a=u.reversed?-.5:.5),f(a)?a*(x||u.pointRange):0},L.prototype.isPointInside=function(a){var x=this.chart,u=this.xAxis,B=this.yAxis;return typeof a.plotY<"u"&&typeof a.plotX<"u"&&0<=a.plotY&&a.plotY<=(B?B.len:x.plotHeight)&&0<=a.plotX&&a.plotX<=(u?u.len:x.plotWidth)},L.prototype.drawTracker=function(){var a=this,x=a.options,u=x.trackByArea,B=[].concat(u?a.areaPath:a.graphPath),b=a.chart,N=b.pointer,X=b.renderer,U=b.options.tooltip.snap,V=a.tracker,st=function(ot){b.hoverSeries!==a&&a.onMouseOver()},rt="rgba(192,192,192,"+(S?1e-4:.002)+")";V?V.attr({d:B}):a.graph&&(a.tracker=X.path(B).attr({visibility:a.visible?"inherit":"hidden",zIndex:2}).addClass(u?"highcharts-tracker-area":"highcharts-tracker-line").add(a.group),b.styledMode||a.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:rt,fill:u?rt:"none","stroke-width":a.graph.strokeWidth()+(u?0:2*U)}),[a.tracker,a.markerGroup,a.dataLabelsGroup].forEach(function(ot){ot&&(ot.addClass("highcharts-tracker").on("mouseover",st).on("mouseout",function(tt){N.onTrackerMouseOut(tt)}),x.cursor&&!b.styledMode&&ot.css({cursor:x.cursor}),v)&&ot.on("touchstart",st)})),i(this,"afterDrawTracker")},L.prototype.addPoint=function(a,x,u,B,b){var N=this.options,X=this.data,U=this.chart,V=this.xAxis;V=V&&V.hasNames&&V.names;var ot,st=N.data,rt=this.xData;x=o(x,!0);var tt={series:this};this.pointClass.prototype.applyOptions.apply(tt,[a]);var at=tt.x,q=rt.length;if(this.requireSorting&&at<rt[q-1])for(ot=!0;q&&rt[q-1]>at;)q--;this.updateParallelArrays(tt,"splice",q,0,0),this.updateParallelArrays(tt,q),V&&tt.name&&(V[at]=tt.name),st.splice(q,0,a),(ot||this.processedData)&&(this.data.splice(q,0,null),this.processData()),"point"===N.legendType&&this.generatePoints(),u&&(X[0]&&X[0].remove?X[0].remove(!1):(X.shift(),this.updateParallelArrays(tt,"shift"),st.shift())),!1!==b&&i(this,"addPoint",{point:tt}),this.isDirtyData=this.isDirty=!0,x&&U.redraw(B)},L.prototype.removePoint=function(a,x,u){var B=this,b=B.data,N=b[a],X=B.points,U=B.chart,V=function(){X&&X.length===b.length&&X.splice(a,1),b.splice(a,1),B.options.data.splice(a,1),B.updateParallelArrays(N||{series:B},"splice",a,1),N&&N.destroy(),B.isDirty=!0,B.isDirtyData=!0,x&&U.redraw()};g(u,U),x=o(x,!0),N?N.firePointEvent("remove",null,V):V()},L.prototype.remove=function(a,x,u,B){function b(){N.destroy(B),X.isDirtyLegend=X.isDirtyBox=!0,X.linkSeries(),o(a,!0)&&X.redraw(x)}var N=this,X=N.chart;!1!==u?i(N,"remove",null,b):b()},L.prototype.update=function(a,x){a=r(a,this.userOptions),i(this,"update",{options:a});var u=this,B=u.chart,b=u.userOptions,N=u.initialType||u.type,X=B.options.plotOptions,U=w[N].prototype,V=u.finishedAnimating&&{animation:!1},st={},rt=["eventOptions","navigatorSeries","baseSeries"],ot=a.type||b.type||B.options.chart.type,tt=!(this.hasDerivedData||ot&&ot!==this.type||typeof a.pointStart<"u"||typeof a.pointInterval<"u"||typeof a.relativeXValue<"u"||a.joinBy||a.mapData||u.hasOptionChanged("dataGrouping")||u.hasOptionChanged("pointStart")||u.hasOptionChanged("pointInterval")||u.hasOptionChanged("pointIntervalUnit")||u.hasOptionChanged("keys"));if(ot=ot||N,tt&&(rt.push("data","isDirtyData","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX"),!1!==a.visible&&rt.push("area","graph"),u.parallelArrays.forEach(function(q){rt.push(q+"Data")}),a.data&&(a.dataSorting&&h(u.options.dataSorting,a.dataSorting),this.setData(a.data,!1))),a=_(b,V,{index:typeof b.index>"u"?u.index:b.index,pointStart:o(X&&X.series&&X.series.pointStart,b.pointStart,u.xData[0])},!tt&&{data:u.options.data},a),tt&&a.data&&(a.data=u.options.data),(rt=["group","markerGroup","dataLabelsGroup","transformGroup","shadowGroup"].concat(rt)).forEach(function(q){rt[q]=u[q],delete u[q]}),X=!1,w[ot]){if(X=ot!==u.type,u.remove(!1,!1,!1,!0),X)if(Object.setPrototypeOf)Object.setPrototypeOf(u,w[ot].prototype);else{for(at in V=Object.hasOwnProperty.call(u,"hcEvents")&&u.hcEvents,U)u[at]=void 0;h(u,w[ot].prototype),V?u.hcEvents=V:delete u.hcEvents}}else e(17,!0,B,{missingModuleFor:ot});if(rt.forEach(function(q){u[q]=rt[q]}),u.init(B,a),tt&&this.points){if(!1===(a=u.options).visible)st.graphic=1,st.dataLabel=1;else if(!u._hasPointLabels){var at=a.dataLabels;b=b.marker||{},!(U=a.marker)||!1!==U.enabled&&b.symbol===U.symbol&&b.height===U.height&&b.width===U.width||(st.graphic=1),at&&!1===at.enabled&&(st.dataLabel=1)}for(b=0,U=this.points;b<U.length;b++)(at=U[b])&&at.series&&(at.resolveColor(),Object.keys(st).length&&at.destroyElements(st),!1===a.showInLegend&&at.legendItem&&B.legend.destroyItem(at))}u.initialType=N,B.linkSeries(),X&&u.linkedSeries.length&&(u.isDirtyData=!0),i(this,"afterUpdate"),o(x,!0)&&B.redraw(!!tt&&void 0)},L.prototype.setName=function(a){this.name=this.options.name=this.userOptions.name=a,this.chart.isDirtyLegend=!0},L.prototype.hasOptionChanged=function(a){var x=this.options[a],u=this.chart.options.plotOptions,B=this.userOptions[a];return B?x!==B:x!==o(u&&u[this.type]&&u[this.type][a],u&&u.series&&u.series[a],x)},L.prototype.onMouseOver=function(){var a=this.chart,x=a.hoverSeries;a.pointer.setHoverChartIndex(),x&&x!==this&&x.onMouseOut(),this.options.events.mouseOver&&i(this,"mouseOver"),this.setState("hover"),a.hoverSeries=this},L.prototype.onMouseOut=function(){var a=this.options,x=this.chart,u=x.tooltip,B=x.hoverPoint;x.hoverSeries=null,B&&B.onMouseOut(),this&&a.events.mouseOut&&i(this,"mouseOut"),!u||this.stickyTracking||u.shared&&!this.noSharedTooltip||u.hide(),x.series.forEach(function(b){b.setState("",!0)})},L.prototype.setState=function(a,x){var u=this,B=u.options,b=u.graph,N=B.inactiveOtherPoints,X=B.states,U=o(X[a||"normal"]&&X[a||"normal"].animation,u.chart.options.chart.animation),V=B.lineWidth,st=0,rt=B.opacity;if(u.state!==(a=a||"")&&([u.group,u.markerGroup,u.dataLabelsGroup].forEach(function(ot){ot&&(u.state&&ot.removeClass("highcharts-series-"+u.state),a&&ot.addClass("highcharts-series-"+a))}),u.state=a,!u.chart.styledMode)){if(X[a]&&!1===X[a].enabled)return;if(a&&(V=X[a].lineWidth||V+(X[a].lineWidthPlus||0),rt=o(X[a].opacity,rt)),b&&!b.dashstyle&&f(V))for(b.animate(B={"stroke-width":V},U);u["zone-graph-"+st];)u["zone-graph-"+st].animate(B,U),st+=1;N||[u.group,u.markerGroup,u.dataLabelsGroup,u.labelBySeries].forEach(function(ot){ot&&ot.animate({opacity:rt},U)})}x&&N&&u.points&&u.setAllPointsToState(a||void 0)},L.prototype.setAllPointsToState=function(a){this.points.forEach(function(x){x.setState&&x.setState(a)})},L.prototype.setVisible=function(a,x){var u=this,B=u.chart,b=B.options.chart.ignoreHiddenSeries,X=(u.visible=a=u.options.visible=u.userOptions.visible=typeof a>"u"?!u.visible:a)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(U){u[U]&&u[U][X]()}),(B.hoverSeries===u||(B.hoverPoint&&B.hoverPoint.series)===u)&&u.onMouseOut(),u.legendItem&&B.legend.colorizeItem(u,a),u.isDirty=!0,u.options.stacking&&B.series.forEach(function(U){U.options.stacking&&U.visible&&(U.isDirty=!0)}),u.linkedSeries.forEach(function(U){U.setVisible(a,!1)}),b&&(B.isDirtyBox=!0),i(u,X),!1!==x&&B.redraw()},L.prototype.show=function(){this.setVisible(!0)},L.prototype.hide=function(){this.setVisible(!1)},L.prototype.select=function(a){this.selected=a=this.options.selected=typeof a>"u"?!this.selected:a,this.checkbox&&(this.checkbox.checked=a),i(this,a?"select":"unselect")},L.prototype.shouldShowTooltip=function(a,x,u){return void 0===u&&(u={}),u.series=this,u.visiblePlotOnly=!0,this.chart.isInsidePlot(a,x,u)},L.defaultOptions=Z,L.types=z.seriesTypes,L.registerType=z.registerSeriesType,L}(),h(G.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,drawLegendSymbol:J.drawLineMarker,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:$,requireSorting:!0,sorted:!0}),z.series=G,G}),ct(F,"Extensions/ScrollablePlotArea.js",[F["Core/Animation/AnimationUtilities.js"],F["Core/Axis/Axis.js"],F["Core/Chart/Chart.js"],F["Core/Series/Series.js"],F["Core/Renderer/RendererRegistry.js"],F["Core/Utilities.js"]],function(G,Y,T,et,J,$){var Z=G.stop,z=$.addEvent,j=$.createElement,P=$.defined,m=$.merge,g=$.pick;z(T,"afterSetChartSize",function(y){var k=this.options.chart.scrollablePlotArea,v=k&&k.minWidth;if(k=k&&k.minHeight,!this.renderer.forExport){if(v){if(this.scrollablePixelsX=v=Math.max(0,v-this.chartWidth)){this.scrollablePlotBox=this.renderer.scrollablePlotBox=m(this.plotBox),this.plotBox.width=this.plotWidth+=v,this.inverted?this.clipBox.height+=v:this.clipBox.width+=v;var S={1:{name:"right",value:v}}}}else k&&(this.scrollablePixelsY=v=Math.max(0,k-this.chartHeight),P(v)&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=m(this.plotBox),this.plotBox.height=this.plotHeight+=v,this.inverted?this.clipBox.width+=v:this.clipBox.height+=v,S={2:{name:"bottom",value:v}}));S&&!y.skipAxes&&this.axes.forEach(function(M){S[M.side]?M.getPlotLinePath=function(){var w=S[M.side].name,E=this[w];this[w]=E-S[M.side].value;var I=Y.prototype.getPlotLinePath.apply(this,arguments);return this[w]=E,I}:(M.setAxisSize(),M.setAxisTranslation())})}}),z(T,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()}),T.prototype.setUpScrolling=function(){var v,y=this,k={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(k.overflowX="auto"),this.scrollablePixelsY&&(k.overflowY="auto"),this.scrollingParent=j("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo),this.scrollingContainer=j("div",{className:"highcharts-scrolling"},k,this.scrollingParent),z(this.scrollingContainer,"scroll",function(){y.pointer&&(delete y.pointer.chartPosition,y.hoverPoint&&(v=y.hoverPoint),y.pointer.runPointActions(void 0,v,!0))}),this.innerContainer=j("div",{className:"highcharts-inner-container"},null,this.scrollingContainer),this.innerContainer.appendChild(this.container),this.setUpScrolling=null},T.prototype.moveFixedElements=function(){var S,y=this.container,k=this.fixedRenderer,v=".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(" ");this.scrollablePixelsX&&!this.inverted?S=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted||this.scrollablePixelsY&&!this.inverted?S=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(S=".highcharts-yaxis"),S&&v.push(S+":not(.highcharts-radial-axis)",S+"-labels:not(.highcharts-radial-axis-labels)"),v.forEach(function(M){[].forEach.call(y.querySelectorAll(M),function(w){(w.namespaceURI===k.SVG_NS?k.box:k.box.parentNode).appendChild(w),w.style.pointerEvents="auto"})})},T.prototype.applyFixed=function(){var y=!this.fixedDiv,k=this.options.chart,v=k.scrollablePlotArea,S=J.getRendererType();y?(this.fixedDiv=j("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(k.style&&k.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=k=new S(this.fixedDiv,this.chartWidth,this.chartHeight,this.options.chart.style),this.scrollableMask=k.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":g(v.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),z(this,"afterShowResetZoom",this.moveFixedElements),z(this,"afterApplyDrilldown",this.moveFixedElements),z(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight),(this.scrollableDirty||y)&&(this.scrollableDirty=!1,this.moveFixedElements()),k=this.chartWidth+(this.scrollablePixelsX||0),S=this.chartHeight+(this.scrollablePixelsY||0),Z(this.container),this.container.style.width=k+"px",this.container.style.height=S+"px",this.renderer.boxWrapper.attr({width:k,height:S,viewBox:[0,0,k,S].join(" ")}),this.chartBackground.attr({width:k,height:S}),this.scrollingContainer.style.height=this.chartHeight+"px",y&&(v.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*v.scrollPositionX),v.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*v.scrollPositionY)),y=this.plotTop-(S=this.axisOffset)[0]-1,v=this.plotLeft-S[3]-1,k=this.plotTop+this.plotHeight+S[2]+1,S=this.plotLeft+this.plotWidth+S[1]+1;var M=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),w=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);y=this.scrollablePixelsX?[["M",0,y],["L",this.plotLeft-1,y],["L",this.plotLeft-1,k],["L",0,k],["Z"],["M",M,y],["L",this.chartWidth,y],["L",this.chartWidth,k],["L",M,k],["Z"]]:this.scrollablePixelsY?[["M",v,0],["L",v,this.plotTop-1],["L",S,this.plotTop-1],["L",S,0],["Z"],["M",v,w],["L",v,this.chartHeight],["L",S,this.chartHeight],["L",S,w],["Z"]]:[["M",0,0]],"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:y})},z(Y,"afterInit",function(){this.chart.scrollableDirty=!0}),z(et,"show",function(){this.chart.scrollableDirty=!0})}),ct(F,"Core/Axis/Stacking/StackItem.js",[F["Core/FormatUtilities.js"],F["Core/Series/SeriesRegistry.js"],F["Core/Utilities.js"]],function(G,Y,T){var et=G.format,J=Y.series,$=T.destroyObjectProperties,Z=T.pick,z=T.isNumber;return function(){function j(P,m,g,y,k){var v=P.chart.inverted,S=P.reversed;this.axis=P,P=this.isNegative=!!g!=!!S,this.options=m=m||{},this.x=y,this.cumulative=this.total=null,this.points={},this.hasValidPoints=!1,this.stack=k,this.rightCliff=this.leftCliff=0,this.alignOptions={align:m.align||(v?P?"left":"right":"center"),verticalAlign:m.verticalAlign||(v?"middle":P?"bottom":"top"),y:m.y,x:m.x},this.textAlign=m.textAlign||(v?P?"right":"left":"center")}return j.prototype.destroy=function(){$(this,this.axis)},j.prototype.render=function(P){var m=this.axis.chart,g=this.options,y=g.format;y=y?et(y,this,m):g.formatter.call(this),this.label?this.label.attr({text:y,visibility:"hidden"}):(this.label=m.renderer.label(y,null,void 0,g.shape,void 0,void 0,g.useHTML,!1,"stack-labels"),y={r:g.borderRadius||0,text:y,padding:Z(g.padding,5),visibility:"hidden"},m.styledMode||(y.fill=g.backgroundColor,y.stroke=g.borderColor,y["stroke-width"]=g.borderWidth,this.label.css(g.style||{})),this.label.attr(y),this.label.added||this.label.add(P)),this.label.labelrank=m.plotSizeY},j.prototype.setOffset=function(P,m,g,y,k,v){var S=this.alignOptions,M=this.axis,w=this.label,E=this.options,I=this.textAlign,C=M.chart;P=this.getStackBox({xOffset:P,width:m,boxBottom:g,boxTop:y,defaultX:k,xAxis:v}),k=S.verticalAlign,w&&P&&(m=w.getBBox(),g=w.padding,y="justify"===Z(E.overflow,"justify"),S.x=E.x||0,S.y=E.y||0,I=(k=this.adjustStackPosition({labelBox:m,verticalAlign:k,textAlign:I})).x,k=k.y,P.x-=I,P.y-=k,w.align(S,!1,P),(I=C.isInsidePlot(w.alignAttr.x+S.x+I,w.alignAttr.y+S.y+k))||(y=!1),y&&J.prototype.justifyDataLabel.call(M,w,S,w.alignAttr,m,P),w.attr({x:w.alignAttr.x,y:w.alignAttr.y,rotation:E.rotation,rotationOriginX:m.width/2,rotationOriginY:m.height/2}),Z(!y&&E.crop,!0)&&(I=z(w.x)&&z(w.y)&&C.isInsidePlot(w.x-g+w.width,w.y)&&C.isInsidePlot(w.x+g,w.y)),w[I?"show":"hide"]())},j.prototype.adjustStackPosition=function(P){var m=P.labelBox,g={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:m.width/2+m.width/2*g[P.textAlign],y:m.height/2*g[P.verticalAlign]}},j.prototype.getStackBox=function(P){var m=this.axis,g=m.chart,y=P.boxTop,k=P.defaultX,v=P.xOffset,S=P.width,M=P.boxBottom;return y=m.stacking.usePercentage?100:Z(y,this.total,0),y=m.toPixels(y),P=Z(k,(P.xAxis||g.xAxis[0]).toPixels(this.x))+v,m=m.toPixels(M||0),m=Math.abs(y-m),M=this.isNegative,g.inverted?{x:(M?y:y-m)-g.plotLeft,y:P-g.plotTop,width:m,height:S}:{x:P-g.plotLeft,y:(M?y-m:y)-g.plotTop,width:S,height:m}},j}()}),ct(F,"Core/Axis/Stacking/StackingAxis.js",[F["Core/Animation/AnimationUtilities.js"],F["Core/Axis/Axis.js"],F["Core/Series/SeriesRegistry.js"],F["Core/Axis/Stacking/StackItem.js"],F["Core/Utilities.js"]],function(G,Y,T,et,J){function $(){var h=this,t=h.inverted;h.yAxis.forEach(function(i){i.stacking&&i.stacking.stacks&&i.hasVisibleSeries&&(i.stacking.oldStacks=i.stacking.stacks)}),h.series.forEach(function(i){var c=i.xAxis&&i.xAxis.options||{};!i.options.stacking||!0!==i.visible&&!1!==h.options.chart.ignoreHiddenSeries||(i.stackKey=[i.type,s(i.options.stack,""),t?c.top:c.left,t?c.height:c.width].join())})}function Z(){var h=this.stacking;if(h){var t=h.stacks;d(t,function(i,c){E(i),t[c]=null}),h&&h.stackTotalGroup&&h.stackTotalGroup.destroy()}}function z(){"yAxis"!==this.coll||this.stacking||(this.stacking=new l(this))}function j(h,t,i,c){return!w(h)||h.x!==t||c&&h.stackKey!==c?h={x:t,index:0,key:c,stackKey:c}:h.index++,h.key=[i,t,h.index].join(),h}function P(){var f,h=this,t=h.stackKey,i=h.yAxis.stacking.stacks,c=h.processedXData,n=h[h.options.stacking+"Stacker"];n&&[t,"-"+t].forEach(function(O){for(var R,o,_=c.length;_--;)f=h.getStackIndicator(f,R=c[_],h.index,O),(o=(R=i[O]&&i[O][R])&&R.points[f.key])&&n.call(h,o,R,_)})}function m(h,t,i){h[0]=M(h[0]*(t=t.total?100/t.total:0)),h[1]=M(h[1]*t),this.stackedYData[i]=h[1]}function g(){var h=this.yAxis.stacking;this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&1<this.chart.series.length?v.setStackedPoints.call(this,"group"):h&&d(h.stacks,function(t,i){"group"===i.slice(-5)&&(d(t,function(c){return c.destroy()}),delete h.stacks[i])})}function y(h){var t=this.chart,i=h||this.options.stacking;if(i&&(!0===this.visible||!1===t.options.chart.ignoreHiddenSeries)){var c=this.processedXData,n=this.processedYData,f=[],O=n.length,_=this.options,R=_.threshold,o=s(_.startFromThreshold&&R,0);_=_.stack;var a,x,p="-"+(h=h?""+this.type+",".concat(i):this.stackKey),A=this.negStacks,D=(t="group"===i?t.yAxis[0]:this.yAxis).stacking.stacks,L=t.stacking.oldStacks;for(t.stacking.stacksTouched+=1,x=0;x<O;x++){var u=c[x],B=n[x],b=this.getStackIndicator(b,u,this.index),N=b.key,X=(a=A&&B<(o?0:R))?p:h;D[X]||(D[X]={}),D[X][u]||(L[X]&&L[X][u]?(D[X][u]=L[X][u],D[X][u].total=null):D[X][u]=new et(t,t.options.stackLabels,!!a,u,_)),X=D[X][u],null!==B?(X.points[N]=X.points[this.index]=[s(X.cumulative,o)],w(X.cumulative)||(X.base=N),X.touched=t.stacking.stacksTouched,0<b.index&&!1===this.singleStacks&&(X.points[N][0]=X.points[this.index+","+u+",0"][0])):X.points[N]=X.points[this.index]=null,"percent"===i?(a=a?h:p,X.total=A&&D[a]&&D[a][u]?(a=D[a][u]).total=Math.max(a.total,X.total)+Math.abs(B)||0:M(X.total+(Math.abs(B)||0))):"group"===i?(C(B)&&(B=B[0]),null!==B&&(X.total=(X.total||0)+1)):X.total=M(X.total+(B||0)),X.cumulative="group"===i?(X.total||1)-1:s(X.cumulative,o)+(B||0),null!==B&&(X.points[N].push(X.cumulative),f[x]=X.cumulative,X.hasValidPoints=!0)}"percent"===i&&(t.stacking.usePercentage=!0),"group"!==i&&(this.stackedYData=f),t.stacking.oldStacks={}}}var e,h,t,k=G.getDeferredAnimation,v=T.series.prototype,S=J.addEvent,M=J.correctFloat,w=J.defined,E=J.destroyObjectProperties,I=J.fireEvent,C=J.isArray,r=J.isNumber,d=J.objectEach,s=J.pick,l=function(){function h(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}return h.prototype.buildStacks=function(){var f,t=this.axis,i=t.series,c=t.options.reversedStacks,n=i.length;for(this.usePercentage=!1,f=n;f--;){var O=i[c?f:n-f-1];O.setStackedPoints(),O.setGroupedPoints()}for(f=0;f<n;f++)i[f].modifyStacks();I(t,"afterBuildStacks")},h.prototype.cleanStacks=function(){if(this.oldStacks)var t=this.stacks=this.oldStacks;d(t,function(i){d(i,function(c){c.cumulative=c.total})})},h.prototype.resetStacks=function(){var t=this;d(this.stacks,function(i){d(i,function(c,n){r(c.touched)&&c.touched<t.stacksTouched?(c.destroy(),delete i[n]):(c.total=null,c.cumulative=null)})})},h.prototype.renderStackTotals=function(){var t=this.axis,i=t.chart,c=i.renderer,n=this.stacks;t=k(i,t.options.stackLabels&&t.options.stackLabels.animation||!1);var f=this.stackTotalGroup=this.stackTotalGroup||c.g("stack-labels").attr({zIndex:6,opacity:0}).add();f.translate(i.plotLeft,i.plotTop),d(n,function(O){d(O,function(_){_.render(f)})}),f.animate({opacity:1},t)},h}();return h=e||(e={}),t=[],h.compose=function(i,c,n){-1===t.indexOf(i)&&(t.push(i),S(i,"init",z),S(i,"destroy",Z)),-1===t.indexOf(c)&&(t.push(c),c.prototype.getStacks=$),-1===t.indexOf(n)&&(t.push(n),(i=n.prototype).getStackIndicator=j,i.modifyStacks=P,i.percentStacker=m,i.setGroupedPoints=g,i.setStackedPoints=y)},e}),ct(F,"Series/Line/LineSeries.js",[F["Core/Series/Series.js"],F["Core/Series/SeriesRegistry.js"],F["Core/Utilities.js"]],function(G,Y,T){var Z,et=this&&this.__extends||(Z=function(z,j){return(Z=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(P,m){P.__proto__=m}||function(P,m){for(var g in m)m.hasOwnProperty(g)&&(P[g]=m[g])})(z,j)},function(z,j){function P(){this.constructor=z}Z(z,j),z.prototype=null===j?Object.create(j):(P.prototype=j.prototype,new P)}),J=T.defined,$=T.merge;return T=function(Z){function z(){var j=null!==Z&&Z.apply(this,arguments)||this;return j.data=void 0,j.options=void 0,j.points=void 0,j}return et(z,Z),z.prototype.drawGraph=function(){var j=this,P=this.options,m=(this.gappedPath||this.getGraphPath).call(this),g=this.chart.styledMode,y=[["graph","highcharts-graph"]];g||y[0].push(P.lineColor||this.color||"#cccccc",P.dashStyle),(y=j.getZonesGraphs(y)).forEach(function(k,v){var S=k[0],M=j[S],w=M?"animate":"attr";M?(M.endX=j.preventGraphAnimation?null:m.xMap,M.animate({d:m})):m.length&&(j[S]=M=j.chart.renderer.path(m).addClass(k[1]).attr({zIndex:1}).add(j.group)),M&&!g&&(S={stroke:k[2],"stroke-width":P.lineWidth||0,fill:j.fillGraph&&j.color||"none"},k[3]?S.dashstyle=k[3]:"square"!==P.linecap&&(S["stroke-linecap"]=S["stroke-linejoin"]="round"),M[w](S).shadow(2>v&&P.shadow)),M&&(M.startX=m.xMap,M.isArea=m.isArea)})},z.prototype.getGraphPath=function(j,P,m){var S,g=this,y=g.options,k=[],v=[],M=y.step,w=(j=j||g.points).reversed;return w&&j.reverse(),(M={right:1,center:2}[M]||M&&3)&&w&&(M=4-M),(j=this.getValidPoints(j,!1,!(y.connectNulls&&!P&&!m))).forEach(function(E,I){var C=E.plotX,r=E.plotY,d=j[I-1];(E.leftCliff||d&&d.rightCliff)&&!m&&(S=!0),E.isNull&&!J(P)&&0<I?S=!y.connectNulls:E.isNull&&!P?S=!0:(0===I||S?I=[["M",E.plotX,E.plotY]]:g.getPointSpline?I=[g.getPointSpline(j,E,I)]:M?(I=1===M?[["L",d.plotX,r]]:2===M?[["L",(d.plotX+C)/2,d.plotY],["L",(d.plotX+C)/2,r]]:[["L",C,d.plotY]]).push(["L",C,r]):I=[["L",C,r]],v.push(E.x),M&&(v.push(E.x),2===M&&v.push(E.x)),k.push.apply(k,I),S=!1)}),k.xMap=v,g.graphPath=k},z.prototype.getZonesGraphs=function(j){return this.zones.forEach(function(P,m){m=["zone-graph-"+m,"highcharts-graph highcharts-zone-graph-"+m+" "+(P.className||"")],this.chart.styledMode||m.push(P.color||this.color,P.dashStyle||this.options.dashStyle),j.push(m)},this),j},z.defaultOptions=$(G.defaultOptions,{}),z}(G),Y.registerSeriesType("line",T),T}),ct(F,"Series/Area/AreaSeries.js",[F["Core/Color/Color.js"],F["Core/Legend/LegendSymbol.js"],F["Core/Series/SeriesRegistry.js"],F["Core/Utilities.js"]],function(G,Y,T,et){var m,J=this&&this.__extends||(m=function(g,y){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(k,v){k.__proto__=v}||function(k,v){for(var S in v)v.hasOwnProperty(S)&&(k[S]=v[S])})(g,y)},function(g,y){function k(){this.constructor=g}m(g,y),g.prototype=null===y?Object.create(y):(k.prototype=y.prototype,new k)}),$=G.parse,Z=T.seriesTypes.line;G=et.extend;var z=et.merge,j=et.objectEach,P=et.pick;return et=function(m){function g(){var y=null!==m&&m.apply(this,arguments)||this;return y.data=void 0,y.options=void 0,y.points=void 0,y}return J(g,m),g.prototype.drawGraph=function(){this.areaPath=[],m.prototype.drawGraph.apply(this);var y=this,k=this.areaPath,v=this.options,S=[["area","highcharts-area",this.color,v.fillColor]];this.zones.forEach(function(M,w){S.push(["zone-area-"+w,"highcharts-area highcharts-zone-area-"+w+" "+M.className,M.color||y.color,M.fillColor||v.fillColor])}),S.forEach(function(M){var w=M[0],E={},I=y[w],C=I?"animate":"attr";I?(I.endX=y.preventGraphAnimation?null:k.xMap,I.animate({d:k})):(E.zIndex=0,(I=y[w]=y.chart.renderer.path(k).addClass(M[1]).add(y.group)).isArea=!0),y.chart.styledMode||(E.fill=P(M[3],$(M[2]).setOpacity(P(v.fillOpacity,.75)).get())),I[C](E),I.startX=k.xMap,I.shiftUnit=v.step?2:1})},g.prototype.getGraphPath=function(y){var k=Z.prototype.getGraphPath,v=this.options,S=v.stacking,M=this.yAxis,w=[],E=[],I=this.index,C=M.stacking.stacks[this.stackKey],r=v.threshold,d=Math.round(M.getThreshold(v.threshold));v=P(v.connectNulls,"percent"===S);var s=function(c,n,f){var O=y[c];c=S&&C[O.x].points[I];var _=O[f+"Null"]||0;if(f=O[f+"Cliff"]||0,O=!0,f||_){var R=(_?c[0]:c[1])+f,o=c[0]+f;O=!!_}else!S&&y[n]&&y[n].isNull&&(R=o=r);typeof R<"u"&&(E.push({plotX:t,plotY:null===R?d:M.getThreshold(R),isNull:O,isCliff:!0}),w.push({plotX:t,plotY:null===o?d:M.getThreshold(o),doCurve:!1}))};y=y||this.points,S&&(y=this.getStackPoints(y));for(var l=0,e=y.length;l<e;++l){S||(y[l].leftCliff=y[l].rightCliff=y[l].leftNull=y[l].rightNull=void 0);var h=y[l].isNull,t=P(y[l].rectPlotX,y[l].plotX),i=S?P(y[l].yBottom,d):d;(!h||v)&&(v||s(l,l-1,"left"),h&&!S&&v||(E.push(y[l]),w.push({x:l,plotX:t,plotY:i})),v||s(l,l+1,"right"))}return s=k.call(this,E,!0,!0),w.reversed=!0,(i=(h=k.call(this,w,!0,!0))[0])&&"M"===i[0]&&(h[0]=["L",i[1],i[2]]),(h=s.concat(h)).length&&h.push(["Z"]),k=k.call(this,E,!1,v),h.xMap=s.xMap,this.areaPath=h,k},g.prototype.getStackPoints=function(y){var k=this,v=[],S=[],M=this.xAxis,w=this.yAxis,E=w.stacking.stacks[this.stackKey],I={},C=w.series,r=C.length,d=w.options.reversedStacks?1:-1,s=C.indexOf(k);if(y=y||this.points,this.options.stacking){for(var l=0;l<y.length;l++)y[l].leftNull=y[l].rightNull=void 0,I[y[l].x]=y[l];j(E,function(h,t){null!==h.total&&S.push(t)}),S.sort(function(h,t){return h-t});var e=C.map(function(h){return h.visible});S.forEach(function(h,t){var c,n,i=0;if(I[h]&&!I[h].isNull)v.push(I[h]),[-1,1].forEach(function(O){var _=1===O?"rightNull":"leftNull",R=E[S[t+O]],o=0;if(R)for(var p=s;0<=p&&p<r;){var A=C[p].index;(c=R.points[A])||(A===k.index?I[h][_]=!0:e[p]&&(n=E[h].points[A])&&(o-=n[1]-n[0])),p+=d}I[h][1===O?"rightCliff":"leftCliff"]=o});else{for(var f=s;0<=f&&f<r;){if(c=E[h].points[C[f].index]){i=c[1];break}f+=d}i=P(i,0),i=w.translate(i,0,1,0,1),v.push({isNull:!0,plotX:M.translate(h,0,0,0,1),x:h,plotY:i,yBottom:i})}})}return v},g.defaultOptions=z(Z.defaultOptions,{threshold:0}),g}(Z),G(et.prototype,{singleStacks:!1,drawLegendSymbol:Y.drawRectangle}),T.registerSeriesType("area",et),et}),ct(F,"Series/Spline/SplineSeries.js",[F["Core/Series/SeriesRegistry.js"],F["Core/Utilities.js"]],function(G,Y){var Z,T=this&&this.__extends||(Z=function(z,j){return(Z=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(P,m){P.__proto__=m}||function(P,m){for(var g in m)m.hasOwnProperty(g)&&(P[g]=m[g])})(z,j)},function(z,j){function P(){this.constructor=z}Z(z,j),z.prototype=null===j?Object.create(j):(P.prototype=j.prototype,new P)}),et=G.seriesTypes.line,J=Y.merge,$=Y.pick;return Y=function(Z){function z(){var j=null!==Z&&Z.apply(this,arguments)||this;return j.data=void 0,j.options=void 0,j.points=void 0,j}return T(z,Z),z.prototype.getPointSpline=function(j,P,m){var g=P.plotX||0,y=P.plotY||0,k=j[m-1];if(m=j[m+1],k&&!k.isNull&&!1!==k.doCurve&&!P.isCliff&&m&&!m.isNull&&!1!==m.doCurve&&!P.isCliff){var v=m.plotX||0,S=0,M=(1.5*g+(k.plotX||0))/2.5,w=(1.5*y+(j=k.plotY||0))/2.5,E=(1.5*y+(m=m.plotY||0))/2.5;(v=(1.5*g+v)/2.5)!==M&&(S=(E-w)*(v-g)/(v-M)+y-E),E+=S,(w+=S)>j&&w>y?E=2*y-(w=Math.max(j,y)):w<j&&w<y&&(E=2*y-(w=Math.min(j,y))),E>m&&E>y?w=2*y-(E=Math.max(m,y)):E<m&&E<y&&(w=2*y-(E=Math.min(m,y))),P.rightContX=v,P.rightContY=E}return P=["C",$(k.rightContX,k.plotX,0),$(k.rightContY,k.plotY,0),$(M,g,0),$(w,y,0),g,y],k.rightContX=k.rightContY=void 0,P},z.defaultOptions=J(et.defaultOptions),z}(et),G.registerSeriesType("spline",Y),Y}),ct(F,"Series/AreaSpline/AreaSplineSeries.js",[F["Series/Spline/SplineSeries.js"],F["Core/Legend/LegendSymbol.js"],F["Core/Series/SeriesRegistry.js"],F["Core/Utilities.js"]],function(G,Y,T,et){var P,J=this&&this.__extends||(P=function(m,g){return(P=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,k){y.__proto__=k}||function(y,k){for(var v in k)k.hasOwnProperty(v)&&(y[v]=k[v])})(m,g)},function(m,g){function y(){this.constructor=m}P(m,g),m.prototype=null===g?Object.create(g):(y.prototype=g.prototype,new y)}),$=T.seriesTypes,Z=$.area;$=$.area.prototype;var z=et.extend,j=et.merge;return et=function(P){function m(){var g=null!==P&&P.apply(this,arguments)||this;return g.data=void 0,g.points=void 0,g.options=void 0,g}return J(m,P),m.defaultOptions=j(G.defaultOptions,Z.defaultOptions),m}(G),z(et.prototype,{getGraphPath:$.getGraphPath,getStackPoints:$.getStackPoints,drawGraph:$.drawGraph,drawLegendSymbol:Y.drawRectangle}),T.registerSeriesType("areaspline",et),et}),ct(F,"Series/Column/ColumnSeriesDefaults.js",[],function(){return{borderRadius:0,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"}}),ct(F,"Series/Column/ColumnSeries.js",[F["Core/Animation/AnimationUtilities.js"],F["Core/Color/Color.js"],F["Series/Column/ColumnSeriesDefaults.js"],F["Core/Globals.js"],F["Core/Legend/LegendSymbol.js"],F["Core/Series/Series.js"],F["Core/Series/SeriesRegistry.js"],F["Core/Utilities.js"]],function(G,Y,T,et,J,$,Z,z){var r,j=this&&this.__extends||(r=function(d,s){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(l,e){l.__proto__=e}||function(l,e){for(var h in e)e.hasOwnProperty(h)&&(l[h]=e[h])})(d,s)},function(d,s){function l(){this.constructor=d}r(d,s),d.prototype=null===s?Object.create(s):(l.prototype=s.prototype,new l)}),P=G.animObject,m=Y.parse,g=et.hasTouch;G=et.noop;var y=z.clamp,k=z.defined,v=z.extend,S=z.fireEvent,M=z.isArray,w=z.isNumber,E=z.merge,I=z.pick,C=z.objectEach;return z=function(r){function d(){var s=null!==r&&r.apply(this,arguments)||this;return s.borderWidth=void 0,s.data=void 0,s.group=void 0,s.options=void 0,s.points=void 0,s}return j(d,r),d.prototype.animate=function(s){var l=this,e=this.yAxis,h=l.options,t=this.chart.inverted,i={},c=t?"translateX":"translateY";if(s)i.scaleY=.001,s=y(e.toPixels(h.threshold),e.pos,e.pos+e.len),t?i.translateX=s-e.len:i.translateY=s,l.clipBox&&l.setClip(),l.group.attr(i);else{var n=Number(l.group.attr(c));l.group.animate({scaleY:1},v(P(l.options.animation),{step:function(f,O){l.group&&(i[c]=n+O.pos*(e.pos-n),l.group.attr(i))}}))}},d.prototype.init=function(s,l){r.prototype.init.apply(this,arguments);var e=this;(s=e.chart).hasRendered&&s.series.forEach(function(h){h.type===e.type&&(h.isDirty=!0)})},d.prototype.getColumnMetrics=function(){var s=this,l=s.options,e=s.xAxis,h=s.yAxis,t=e.options.reversedStacks;t=e.reversed&&!t||!e.reversed&&t;var c,i={},n=0;!1===l.grouping?n=1:s.chart.series.forEach(function(R){var o=R.yAxis,p=R.options;if(R.type===s.type&&(R.visible||!s.chart.options.chart.ignoreHiddenSeries)&&h.len===o.len&&h.pos===o.pos){if(p.stacking&&"group"!==p.stacking){typeof i[c=R.stackKey]>"u"&&(i[c]=n++);var A=i[c]}else!1!==p.grouping&&(A=n++);R.columnIndex=A}});var f=Math.min(Math.abs(e.transA)*(e.ordinal&&e.ordinal.slope||l.pointRange||e.closestPointRange||e.tickInterval||1),e.len),O=f*l.groupPadding,_=(f-2*O)/(n||1);return l=Math.min(l.maxPointWidth||e.len,I(l.pointWidth,_*(1-2*l.pointPadding))),s.columnMetrics={width:l,offset:(_-l)/2+(O+((s.columnIndex||0)+(t?1:0))*_-f/2)*(t?-1:1),paddedWidth:_,columnCount:n},s.columnMetrics},d.prototype.crispCol=function(s,l,e,h){var t=this.chart,i=this.borderWidth,c=-(i%2?.5:0);return i=i%2?.5:1,t.inverted&&t.renderer.isVML&&(i+=1),this.options.crisp&&(e=Math.round(s+e)+c,e-=s=Math.round(s)+c),h=Math.round(l+h)+i,c=.5>=Math.abs(l)&&.5<h,h-=l=Math.round(l)+i,c&&h&&(--l,h+=1),{x:s,y:l,width:e,height:h}},d.prototype.adjustForMissingColumns=function(s,l,e,h){var t=this,i=this.options.stacking;if(!e.isNull&&1<h.columnCount){var c=this.yAxis.options.reversedStacks,n=0,f=c?0:-h.columnCount;C(this.yAxis.stacking&&this.yAxis.stacking.stacks,function(O){if("number"==typeof e.x){var _=O[e.x.toString()];_&&(O=_.points[t.index],i?(O&&(n=f),_.hasValidPoints&&(c?f++:f--)):M(O)&&(O=Object.keys(_.points).filter(function(R){return!R.match(",")&&_.points[R]&&1<_.points[R].length}).map(parseFloat).sort(function(R,o){return o-R}),n=O.indexOf(t.index),f=O.length))}}),s=(e.plotX||0)+((f-1)*h.paddedWidth+l)/2-l-n*h.paddedWidth}return s},d.prototype.translate=function(){var s=this,l=s.chart,e=s.options,h=s.dense=2>s.closestPointRange*s.xAxis.transA;h=s.borderWidth=I(e.borderWidth,h?0:1);var t=s.xAxis,i=s.yAxis,c=e.threshold,n=s.translatedThreshold=i.getThreshold(c),f=I(e.minPointLength,5),O=s.getColumnMetrics(),_=O.width,R=s.pointXOffset=O.offset,o=s.dataMin,p=s.dataMax,A=s.barW=Math.max(_,1+2*h);l.inverted&&(n-=.5),e.pointPadding&&(A=Math.ceil(A)),$.prototype.translate.apply(s),s.points.forEach(function(D){var L=I(D.yBottom,n),a=999+Math.abs(L),x=D.plotX||0;a=y(D.plotY,-a,i.len+a);var u=Math.min(a,L),B=Math.max(a,L)-u,b=_,N=x+R,X=A;f&&Math.abs(B)<f&&(B=f,x=!i.reversed&&!D.negative||i.reversed&&D.negative,w(c)&&w(p)&&D.y===c&&p<=c&&(i.min||0)<c&&(o!==p||(i.max||0)<=c)&&(x=!x),u=Math.abs(u-n)>f?L-f:n-(x?f:0)),k(D.options.pointWidth)&&(b=X=Math.ceil(D.options.pointWidth),N-=Math.round((b-_)/2)),e.centerInCategory&&(N=s.adjustForMissingColumns(N,b,D,O)),D.barX=N,D.pointWidth=b,D.tooltipPos=l.inverted?[y(i.len+i.pos-l.plotLeft-a,i.pos-l.plotLeft,i.len+i.pos-l.plotLeft),t.len+t.pos-l.plotTop-N-X/2,B]:[t.left-l.plotLeft+N+X/2,y(a+i.pos-l.plotTop,i.pos-l.plotTop,i.len+i.pos-l.plotTop),B],D.shapeType=s.pointClass.prototype.shapeType||"rect",D.shapeArgs=s.crispCol.apply(s,D.isNull?[N,n,X,0]:[N,u,X,B])})},d.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},d.prototype.pointAttribs=function(s,l){var e=this.options,h=this.pointAttrToOptions||{},t=h.stroke||"borderColor",i=h["stroke-width"]||"borderWidth",c=s&&s.color||this.color,n=s&&s[t]||e[t]||c;h=s&&s.options.dashStyle||e.dashStyle;var f=s&&s[i]||e[i]||this[i]||0,O=I(s&&s.opacity,e.opacity,1);if(s&&this.zones.length){var _=s.getZone();c=s.options.color||_&&(_.color||s.nonZonedColor)||this.color,_&&(n=_.borderColor||n,h=_.dashStyle||h,f=_.borderWidth||f)}return l&&s&&(l=(s=E(e.states[l],s.options.states&&s.options.states[l]||{})).brightness,c=s.color||typeof l<"u"&&m(c).brighten(s.brightness).get()||c,n=s[t]||n,f=s[i]||f,h=s.dashStyle||h,O=I(s.opacity,O)),t={fill:c,stroke:n,"stroke-width":f,opacity:O},h&&(t.dashstyle=h),t},d.prototype.drawPoints=function(s){void 0===s&&(s=this.points);var c,l=this,e=this.chart,h=l.options,t=e.renderer,i=h.animationLimit||250;s.forEach(function(n){var f=n.graphic,O=!!f,_=f&&e.pointCount<i?"animate":"attr";w(n.plotY)&&null!==n.y?(c=n.shapeArgs,f&&n.hasNewShapeType()&&(f=f.destroy()),l.enabledDataSorting&&(n.startXPos=l.xAxis.reversed?-(c&&c.width||0):l.xAxis.width),f||(n.graphic=f=t[n.shapeType](c).add(n.group||l.group))&&l.enabledDataSorting&&e.hasRendered&&e.pointCount<i&&(f.attr({x:n.startXPos}),O=!0,_="animate"),f&&O&&f[_](E(c)),h.borderRadius&&f[_]({r:h.borderRadius}),e.styledMode||f[_](l.pointAttribs(n,n.selected&&"select")).shadow(!1!==n.allowShadow&&h.shadow,null,h.stacking&&!h.borderRadius),f&&(f.addClass(n.getClassName(),!0),f.attr({visibility:n.visible?"inherit":"hidden"}))):f&&(n.graphic=f.destroy())})},d.prototype.drawTracker=function(s){void 0===s&&(s=this.points);var i,l=this,e=l.chart,h=e.pointer,t=function(c){var n=h.getPointFromEvent(c);typeof n<"u"&&(h.isDirectTouch=!0,n.onMouseOver(c))};s.forEach(function(c){i=M(c.dataLabels)?c.dataLabels:c.dataLabel?[c.dataLabel]:[],c.graphic&&(c.graphic.element.point=c),i.forEach(function(n){n.div?n.div.point=c:n.element.point=c})}),l._hasTracking||(l.trackerGroups.forEach(function(c){l[c]&&(l[c].addClass("highcharts-tracker").on("mouseover",t).on("mouseout",function(n){h.onTrackerMouseOut(n)}),g&&l[c].on("touchstart",t),!e.styledMode&&l.options.cursor&&l[c].css({cursor:l.options.cursor}))}),l._hasTracking=!0),S(this,"afterDrawTracker")},d.prototype.remove=function(){var s=this,l=s.chart;l.hasRendered&&l.series.forEach(function(e){e.type===s.type&&(e.isDirty=!0)}),$.prototype.remove.apply(s,arguments)},d.defaultOptions=E($.defaultOptions,T),d}($),v(z.prototype,{cropShoulder:0,directTouch:!0,drawLegendSymbol:J.drawRectangle,getSymbol:G,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),Z.registerSeriesType("column",z),z}),ct(F,"Core/Series/DataLabel.js",[F["Core/Animation/AnimationUtilities.js"],F["Core/FormatUtilities.js"],F["Core/Utilities.js"]],function(G,Y,T){var v,et=G.getDeferredAnimation,J=Y.format,$=T.defined,Z=T.extend,z=T.fireEvent,j=T.isArray,P=T.isString,m=T.merge,g=T.objectEach,y=T.pick,k=T.splat;return function(S){function M(s,l,e,h,t){var i=this,c=this.chart,n=this.isCartesian&&c.inverted,f=this.enabledDataSorting,O=s.plotX,_=s.plotY,R=e.rotation,o=e.align,p=$(O)&&$(_)&&c.isInsidePlot(O,Math.round(_),{inverted:n,paneCoordinates:!0,series:i});_=function(a){f&&i.xAxis&&!A&&i.setDataLabelStartPos(s,l,t,p,a)};var A="justify"===y(e.overflow,f?"none":"justify");if(O=this.visible&&!1!==s.visible&&$(O)&&(s.series.forceDL||f&&!A||p||y(e.inside,!!this.options.stacking)&&h&&c.isInsidePlot(O,n?h.x+1:h.y+h.height-1,{inverted:n,paneCoordinates:!0,series:i})),n=s.pos(),O&&n){R&&l.attr({align:o}),o=l.getBBox(!0);var D=[0,0],L=c.renderer.fontMetrics(c.styledMode?void 0:e.style.fontSize,l).b;h=Z({x:n[0],y:Math.round(n[1]),width:0,height:0},h),Z(e,{width:o.width,height:o.height}),R?(A=!1,D=c.renderer.rotCorr(L,R),L={x:h.x+(e.x||0)+h.width/2+D.x,y:h.y+(e.y||0)+{top:0,middle:.5,bottom:1}[e.verticalAlign]*h.height},D=[o.x-Number(l.attr("x")),o.y-Number(l.attr("y"))],_(L),l[t?"attr":"animate"](L)):(_(h),l.align(e,void 0,h),L=l.alignAttr),A&&0<=h.height?this.justifyDataLabel(l,e,L,o,h,t):y(e.crop,!0)&&(h=L.x,_=L.y,O=c.isInsidePlot(h+=D[0],_+=D[1],{paneCoordinates:!0,series:i})&&c.isInsidePlot(h+o.width,_+o.height,{paneCoordinates:!0,series:i})),e.shape&&!R&&l[t?"attr":"animate"]({anchorX:n[0],anchorY:n[1]})}t&&f&&(l.placed=!1),O||f&&!A?l.show():(l.hide(),l.placed=!1)}function E(s){void 0===s&&(s=this.points);var l=this,e=l.chart,h=l.options,t=l.hasRendered||0,i=e.renderer,c=e.options.chart,n=c.backgroundColor,f=i.getContrast(P(c=c.plotBackgroundColor)&&c||P(n)&&n||"#000000"),O=h.dataLabels;if(n=O.animation,n=O.defer?et(e,n,l):{defer:0,duration:0},O=C(C(e.options.plotOptions&&e.options.plotOptions.series&&e.options.plotOptions.series.dataLabels,e.options.plotOptions&&e.options.plotOptions[l.type]&&e.options.plotOptions[l.type].dataLabels),O),z(this,"drawDataLabels"),j(O)||O.enabled||l._hasPointLabels){var R=l.plotGroup("dataLabelsGroup","data-labels",t?"inherit":"hidden",O.zIndex||6);R.attr({opacity:+t}),!t&&(t=l.dataLabelsGroup)&&(l.visible&&R.show(),t[h.animation?"animate":"attr"]({opacity:1},n)),s.forEach(function(o){k(C(O,o.dlOptions||o.options&&o.options.dataLabels)).forEach(function(p,A){var D=p.enabled&&(!o.isNull||o.dataLabelOnNull)&&function w(s,l){var e=l.filter;return!e||(l=e.operator,s=s[e.property],e=e.value,">"===l&&s>e||"<"===l&&s<e||">="===l&&s>=e||"<="===l&&s<=e||"=="===l&&s==e||"==="===l&&s===e)}(o,p),L=o.connectors?o.connectors[A]:o.connector,a=o.dataLabels?o.dataLabels[A]:o.dataLabel,x=!a,u=y(p.distance,o.labelDistance);if(D){var B=o.getLabelConfig(),b=y(p[o.formatPrefix+"Format"],p.format);B=$(b)?J(b,B,e):(p[o.formatPrefix+"Formatter"]||p.formatter).call(B,p),b=p.style;var N=p.rotation;e.styledMode||(b.color=y(p.color,b.color,l.color,"#000000"),"contrast"===b.color?(o.contrastColor=i.getContrast(o.color||l.color),b.color=!$(u)&&p.inside||0>u||h.stacking?o.contrastColor:f):delete o.contrastColor,h.cursor&&(b.cursor=h.cursor));var X={r:p.borderRadius||0,rotation:N,padding:p.padding,zIndex:1};if(!e.styledMode){var U=p.borderColor;X.fill="auto"===(u=p.backgroundColor)?o.color:u,X.stroke="auto"===U?o.color:U,X["stroke-width"]=p.borderWidth}g(X,function(V,st){typeof V>"u"&&delete X[st]})}!a||D&&$(B)&&!!a.div==!!p.useHTML&&(a.rotation&&p.rotation||a.rotation===p.rotation)||(x=!0,o.dataLabel=a=o.dataLabel&&o.dataLabel.destroy(),o.dataLabels&&(1===o.dataLabels.length?delete o.dataLabels:delete o.dataLabels[A]),A||delete o.dataLabel,L&&(o.connector=o.connector.destroy(),o.connectors&&(1===o.connectors.length?delete o.connectors:delete o.connectors[A]))),D&&$(B)?(a?X.text=B:(o.dataLabels=o.dataLabels||[],a=o.dataLabels[A]=N?i.text(B,0,0,p.useHTML).addClass("highcharts-data-label"):i.label(B,0,0,p.shape,null,null,p.useHTML,null,"data-label"),A||(o.dataLabel=a),a.addClass(" highcharts-data-label-color-"+o.colorIndex+" "+(p.className||"")+(p.useHTML?" highcharts-tracker":""))),a.options=p,a.attr(X),e.styledMode||a.css(b).shadow(p.shadow),(A=p[o.formatPrefix+"TextPath"]||p.textPath)&&!p.useHTML&&(a.setTextPath(o.getDataLabelPath&&o.getDataLabelPath(a)||o.graphic,A),o.dataLabelPath&&!A.enabled&&(o.dataLabelPath=o.dataLabelPath.destroy())),a.added||a.add(R),l.alignDataLabel(o,a,p,null,x)):a&&a.hide()})})}z(this,"afterDrawDataLabels")}function I(s,l,e,h,t,i){var c=this.chart,n=l.align,f=l.verticalAlign,O=s.box?0:s.padding||0,_=l.x;_=void 0===_?0:_;var R=l.y;R=void 0===R?0:R;var o=(e.x||0)+O;if(0>o){"right"===n&&0<=_?(l.align="left",l.inside=!0):_-=o;var p=!0}return(o=(e.x||0)+h.width-O)>c.plotWidth&&("left"===n&&0>=_?(l.align="right",l.inside=!0):_+=c.plotWidth-o,p=!0),0>(o=e.y+O)&&("bottom"===f&&0<=R?(l.verticalAlign="top",l.inside=!0):R-=o,p=!0),(o=(e.y||0)+h.height-O)>c.plotHeight&&("top"===f&&0>=R?(l.verticalAlign="bottom",l.inside=!0):R+=c.plotHeight-o,p=!0),p&&(l.x=_,l.y=R,s.placed=!i,s.align(l,void 0,t)),p}function C(s,l){var h,e=[];if(j(s)&&!j(l))e=s.map(function(t){return m(t,l)});else if(j(l)&&!j(s))e=l.map(function(t){return m(s,t)});else if(j(s)||j(l))for(h=Math.max(s.length,l.length);h--;)e[h]=m(s[h],l[h]);else e=m(s,l);return e}function r(s,l,e,h,t){var i=this.chart,c=i.inverted,n=this.xAxis,f=n.reversed,O=c?l.height/2:l.width/2;s=(s=s.pointWidth)?s/2:0,l.startXPos=c?t.x:f?-O-s:n.width-O+s,l.startYPos=c?f?this.yAxis.height-O+s:-O-s:t.y,h?"hidden"===l.visibility&&(l.show(),l.attr({opacity:0}).animate({opacity:1})):l.attr({opacity:1}).animate({opacity:0},void 0,l.hide),i.hasRendered&&(e&&l.attr({x:l.startXPos,y:l.startYPos}),l.placed=!0)}var d=[];S.compose=function(s){if(-1===d.indexOf(s)){var l=s.prototype;d.push(s),l.alignDataLabel=M,l.drawDataLabels=E,l.justifyDataLabel=I,l.setDataLabelStartPos=r}}}(v||(v={})),v}),ct(F,"Series/Column/ColumnDataLabel.js",[F["Core/Series/DataLabel.js"],F["Core/Series/SeriesRegistry.js"],F["Core/Utilities.js"]],function(G,Y,T){var Z,et=Y.series,J=T.merge,$=T.pick;return function(z){function j(m,g,y,k,v){var S=this.chart.inverted,M=m.series,w=(M.xAxis?M.xAxis.len:this.chart.plotSizeX)||0,E=m.dlBox||m.shapeArgs,I=$(m.below,m.plotY>$(this.translatedThreshold,M=(M.yAxis?M.yAxis.len:this.chart.plotSizeY)||0)),C=$(y.inside,!!this.options.stacking);E&&(0>(k=J(E)).y&&(k.height+=k.y,k.y=0),0<(E=k.y+k.height-M)&&E<k.height&&(k.height-=E),S&&(k={x:M-k.y-k.height,y:w-k.x-k.width,width:k.height,height:k.width}),C||(S?(k.x+=I?0:k.width,k.width=0):(k.y+=I?k.height:0,k.height=0))),y.align=$(y.align,!S||C?"center":I?"right":"left"),y.verticalAlign=$(y.verticalAlign,S||C?"middle":I?"top":"bottom"),et.prototype.alignDataLabel.call(this,m,g,y,k,v),y.inside&&m.contrastColor&&g.css({color:m.contrastColor})}var P=[];z.compose=function(m){G.compose(et),-1===P.indexOf(m)&&(P.push(m),m.prototype.alignDataLabel=j)}}(Z||(Z={})),Z}),ct(F,"Series/Bar/BarSeries.js",[F["Series/Column/ColumnSeries.js"],F["Core/Series/SeriesRegistry.js"],F["Core/Utilities.js"]],function(G,Y,T){var Z,et=this&&this.__extends||(Z=function(z,j){return(Z=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(P,m){P.__proto__=m}||function(P,m){for(var g in m)m.hasOwnProperty(g)&&(P[g]=m[g])})(z,j)},function(z,j){function P(){this.constructor=z}Z(z,j),z.prototype=null===j?Object.create(j):(P.prototype=j.prototype,new P)}),J=T.extend,$=T.merge;return T=function(Z){function z(){var j=null!==Z&&Z.apply(this,arguments)||this;return j.data=void 0,j.options=void 0,j.points=void 0,j}return et(z,Z),z.defaultOptions=$(G.defaultOptions,{}),z}(G),J(T.prototype,{inverted:!0}),Y.registerSeriesType("bar",T),T}),ct(F,"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}">\u25cf</span> <span style="font-size: 10px"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}}),ct(F,"Series/Scatter/ScatterSeries.js",[F["Series/Scatter/ScatterSeriesDefaults.js"],F["Core/Series/SeriesRegistry.js"],F["Core/Utilities.js"]],function(G,Y,T){var P,et=this&&this.__extends||(P=function(m,g){return(P=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,k){y.__proto__=k}||function(y,k){for(var v in k)k.hasOwnProperty(v)&&(y[v]=k[v])})(m,g)},function(m,g){function y(){this.constructor=m}P(m,g),m.prototype=null===g?Object.create(g):(y.prototype=g.prototype,new y)}),J=Y.seriesTypes,$=J.column,Z=J.line;J=T.addEvent;var z=T.extend,j=T.merge;return T=function(P){function m(){var g=null!==P&&P.apply(this,arguments)||this;return g.data=void 0,g.options=void 0,g.points=void 0,g}return et(m,P),m.prototype.applyJitter=function(){var g=this,y=this.options.jitter,k=this.points.length;y&&this.points.forEach(function(v,S){["x","y"].forEach(function(M,w){var E="plot"+M.toUpperCase();if(y[M]&&!v.isNull){var I=g[M+"Axis"],C=y[M]*I.transA;if(I&&!I.isLog){var r=Math.max(0,v[E]-C);I=Math.min(I.len,v[E]+C),w=1e4*Math.sin(S+w*k),v[E]=r+(I-r)*(w-Math.floor(w)),"x"===M&&(v.clientX=v.plotX)}}})})},m.prototype.drawGraph=function(){this.options.lineWidth?P.prototype.drawGraph.call(this):this.graph&&(this.graph=this.graph.destroy())},m.defaultOptions=j(Z.defaultOptions,G),m}(Z),z(T.prototype,{drawTracker:$.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1}),J(T,"afterTranslate",function(){this.applyJitter()}),Y.registerSeriesType("scatter",T),T}),ct(F,"Series/CenteredUtilities.js",[F["Core/Globals.js"],F["Core/Series/Series.js"],F["Core/Utilities.js"]],function(G,Y,T){var j,P,et=G.deg2rad,J=T.fireEvent,$=T.isNumber,Z=T.pick,z=T.relativeLength;return(P=j||(j={})).getCenter=function(){var m=this.options,g=this.chart,y=2*(m.slicedOffset||0),k=g.plotWidth-2*y,v=g.plotHeight-2*y,S=m.center,M=Math.min(k,v),w=m.thickness,E=m.size,I=m.innerSize||0;for("string"==typeof E&&(E=parseFloat(E)),"string"==typeof I&&(I=parseFloat(I)),m=[Z(S[0],"50%"),Z(S[1],"50%"),Z(E&&0>E?void 0:m.size,"100%"),Z(I&&0>I?void 0:m.innerSize||0,"0%")],!g.angular||this instanceof Y||(m[3]=0),S=0;4>S;++S)E=m[S],g=2>S||2===S&&/%$/.test(E),m[S]=z(E,[k,v,M,m[2]][S])+(g?y:0);return m[3]>m[2]&&(m[3]=m[2]),$(w)&&2*w<m[2]&&0<w&&(m[3]=m[2]-2*w),J(this,"afterGetCenter",{positions:m}),m},P.getStartAndEndRadians=function(m,g){return m=$(m)?m:0,g=$(g)&&g>m&&360>g-m?g:m+360,{start:et*(m+-90),end:et*(g+-90)}},j}),ct(F,"Series/Pie/PiePoint.js",[F["Core/Animation/AnimationUtilities.js"],F["Core/Series/Point.js"],F["Core/Utilities.js"]],function(G,Y,T){var m,et=this&&this.__extends||(m=function(g,y){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(k,v){k.__proto__=v}||function(k,v){for(var S in v)v.hasOwnProperty(S)&&(k[S]=v[S])})(g,y)},function(g,y){function k(){this.constructor=g}m(g,y),g.prototype=null===y?Object.create(y):(k.prototype=y.prototype,new k)}),J=G.setAnimation,$=T.addEvent,Z=T.defined;G=T.extend;var z=T.isNumber,j=T.pick,P=T.relativeLength;return Y=function(m){function g(){var y=null!==m&&m.apply(this,arguments)||this;return y.labelDistance=void 0,y.options=void 0,y.series=void 0,y}return et(g,m),g.prototype.getConnectorPath=function(){var y=this.labelPosition,k=this.series.options.dataLabels,v=this.connectorShapes,S=k.connectorShape;return v[S]&&(S=v[S]),S.call(this,{x:y.final.x,y:y.final.y,alignment:y.alignment},y.connectorPosition,k)},g.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},g.prototype.haloPath=function(y){var k=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(k.x,k.y,k.r+y,k.r+y,{innerR:k.r-1,start:k.start,end:k.end})},g.prototype.init=function(){var y=this;m.prototype.init.apply(this,arguments),this.name=j(this.name,"Slice");var k=function(v){y.slice("select"===v.type)};return $(this,"select",k),$(this,"unselect",k),this},g.prototype.isValid=function(){return z(this.y)&&0<=this.y},g.prototype.setVisible=function(y,k){var v=this,S=this.series,M=S.chart,w=S.options.ignoreHiddenPoint;k=j(k,w),y!==this.visible&&(this.visible=this.options.visible=y=typeof y>"u"?!this.visible:y,S.options.data[S.data.indexOf(this)]=this.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(E){v[E]&&v[E][y?"show":"hide"](y)}),this.legendItem&&M.legend.colorizeItem(this,y),y||"hover"!==this.state||this.setState(""),w&&(S.isDirty=!0),k&&M.redraw())},g.prototype.slice=function(y,k,v){var S=this.series;J(v,S.chart),j(k,!0),this.sliced=this.options.sliced=Z(y)?y:!this.sliced,S.options.data[S.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate()),this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},g}(Y),G(Y.prototype,{connectorShapes:{fixedOffset:function(m,g,y){var k=g.breakAt;return g=g.touchingSliceAt,[["M",m.x,m.y],y.softConnector?["C",m.x+("left"===m.alignment?-5:5),m.y,2*k.x-g.x,2*k.y-g.y,k.x,k.y]:["L",k.x,k.y],["L",g.x,g.y]]},straight:function(m,g){return[["M",m.x,m.y],["L",(g=g.touchingSliceAt).x,g.y]]},crookedLine:function(m,g,y){g=g.touchingSliceAt;var k=this.series,v=k.center[0],S=k.chart.plotWidth,M=k.chart.plotLeft;k=m.alignment;var w=this.shapeArgs.r;return y=P(y.crookDistance,1),y=["L",S="left"===k?v+w+(S+M-v-w)*(1-y):M+(v-w)*y,m.y],v=!0,("left"===k?S>m.x||S<g.x:S<m.x||S>g.x)&&(v=!1),m=[["M",m.x,m.y]],v&&m.push(y),m.push(["L",g.x,g.y]),m}}}),Y}),ct(F,"Series/Pie/PieSeriesDefaults.js",[],function(){return{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"fixedOffset",crookDistance:"70%",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}}}}),ct(F,"Series/Pie/PieSeries.js",[F["Series/CenteredUtilities.js"],F["Series/Column/ColumnSeries.js"],F["Core/Globals.js"],F["Core/Legend/LegendSymbol.js"],F["Series/Pie/PiePoint.js"],F["Series/Pie/PieSeriesDefaults.js"],F["Core/Series/Series.js"],F["Core/Series/SeriesRegistry.js"],F["Core/Renderer/SVG/Symbols.js"],F["Core/Utilities.js"]],function(G,Y,T,et,J,$,Z,z,j,P){var E,m=this&&this.__extends||(E=function(I,C){return(E=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,d){r.__proto__=d}||function(r,d){for(var s in d)d.hasOwnProperty(s)&&(r[s]=d[s])})(I,C)},function(I,C){function r(){this.constructor=I}E(I,C),I.prototype=null===C?Object.create(C):(r.prototype=C.prototype,new r)}),g=G.getStartAndEndRadians;T=T.noop;var y=P.clamp,k=P.extend,v=P.fireEvent,S=P.merge,M=P.pick,w=P.relativeLength;return P=function(E){function I(){var C=null!==E&&E.apply(this,arguments)||this;return C.center=void 0,C.data=void 0,C.maxLabelDistance=void 0,C.options=void 0,C.points=void 0,C}return m(I,E),I.prototype.animate=function(C){var r=this,s=r.startAngleRad;C||r.points.forEach(function(l){var e=l.graphic,h=l.shapeArgs;e&&h&&(e.attr({r:M(l.startR,r.center&&r.center[3]/2),start:s,end:s}),e.animate({r:h.r,start:h.start,end:h.end},r.options.animation))})},I.prototype.drawEmpty=function(){var C=this.startAngleRad,r=this.endAngleRad,d=this.options;if(0===this.total&&this.center){var s=this.center[0],l=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(s,l,this.center[1]/2,0,C,r).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:j.arc(s,l,this.center[2]/2,0,{start:C,end:r,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":d.borderWidth,fill:d.fillColor||"none",stroke:d.color||"#cccccc"})}else this.graph&&(this.graph=this.graph.destroy())},I.prototype.drawPoints=function(){var C=this.chart.renderer;this.points.forEach(function(r){r.graphic&&r.hasNewShapeType()&&(r.graphic=r.graphic.destroy()),r.graphic||(r.graphic=C[r.shapeType](r.shapeArgs).add(r.series.group),r.delayedRendering=!0)})},I.prototype.generatePoints=function(){E.prototype.generatePoints.call(this),this.updateTotals()},I.prototype.getX=function(C,r,d){var s=this.center,l=this.radii?this.radii[d.index]||0:s[2]/2;return C=Math.asin(y((C-s[1])/(l+d.labelDistance),-1,1)),s[0]+(r?-1:1)*Math.cos(C)*(l+d.labelDistance)+(0<d.labelDistance?(r?-1:1)*this.options.dataLabels.padding:0)},I.prototype.hasData=function(){return!!this.processedXData.length},I.prototype.redrawPoints=function(){var l,e,h,t,C=this,r=C.chart,d=r.renderer,s=C.options.shadow;this.drawEmpty(),!s||C.shadowGroup||r.styledMode||(C.shadowGroup=d.g("shadow").attr({zIndex:-1}).add(C.group)),C.points.forEach(function(i){var c={};if(e=i.graphic,!i.isNull&&e){var n=void 0;t=i.shapeArgs,l=i.getTranslate(),r.styledMode||(n=i.shadowGroup,s&&!n&&(n=i.shadowGroup=d.g("shadow").add(C.shadowGroup)),n&&n.attr(l),h=C.pointAttribs(i,i.selected&&"select")),i.delayedRendering?(e.setRadialReference(C.center).attr(t).attr(l),r.styledMode||e.attr(h).attr({"stroke-linejoin":"round"}).shadow(s,n),i.delayedRendering=!1):(e.setRadialReference(C.center),r.styledMode||S(!0,c,h),S(!0,c,t,l),e.animate(c)),e.attr({visibility:i.visible?"inherit":"hidden"}),e.addClass(i.getClassName(),!0)}else e&&(i.graphic=e.destroy())})},I.prototype.sortByAngle=function(C,r){C.sort(function(d,s){return typeof d.angle<"u"&&(s.angle-d.angle)*r})},I.prototype.translate=function(C){v(this,"translate"),this.generatePoints();var r=this.options,d=r.slicedOffset,s=d+(r.borderWidth||0),l=g(r.startAngle,r.endAngle),e=this.startAngleRad=l.start;l=(this.endAngleRad=l.end)-e;var h=this.points,t=r.dataLabels.distance;r=r.ignoreHiddenPoint;var c,i=h.length,n=0;for(C||(this.center=C=this.getCenter()),c=0;c<i;c++){var f=h[c],O=e+n*l;!f.isValid()||r&&!f.visible||(n+=f.percentage/100);var _=e+n*l,R={x:C[0],y:C[1],r:C[2]/2,innerR:C[3]/2,start:Math.round(1e3*O)/1e3,end:Math.round(1e3*_)/1e3};f.shapeType="arc",f.shapeArgs=R,f.labelDistance=M(f.options.dataLabels&&f.options.dataLabels.distance,t),f.labelDistance=w(f.labelDistance,R.r),this.maxLabelDistance=Math.max(this.maxLabelDistance||0,f.labelDistance),(_=(_+O)/2)>1.5*Math.PI?_-=2*Math.PI:_<-Math.PI/2&&(_+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(_)*d),translateY:Math.round(Math.sin(_)*d)},R=Math.cos(_)*C[2]/2;var o=Math.sin(_)*C[2]/2;f.tooltipPos=[C[0]+.7*R,C[1]+.7*o],f.half=_<-Math.PI/2||_>Math.PI/2?1:0,f.angle=_,O=Math.min(s,f.labelDistance/5),f.labelPosition={natural:{x:C[0]+R+Math.cos(_)*f.labelDistance,y:C[1]+o+Math.sin(_)*f.labelDistance},final:{},alignment:0>f.labelDistance?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:C[0]+R+Math.cos(_)*O,y:C[1]+o+Math.sin(_)*O},touchingSliceAt:{x:C[0]+R,y:C[1]+o}}}}v(this,"afterTranslate")},I.prototype.updateTotals=function(){var s,C=this.points,r=C.length,d=this.options.ignoreHiddenPoint,l=0;for(s=0;s<r;s++){var e=C[s];!e.isValid()||d&&!e.visible||(l+=e.y)}for(this.total=l,s=0;s<r;s++)(e=C[s]).percentage=0<l&&(e.visible||!d)?e.y/l*100:0,e.total=l},I.defaultOptions=S(Z.defaultOptions,$),I}(Z),k(P.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawLegendSymbol:et.drawRectangle,drawTracker:Y.prototype.drawTracker,getCenter:G.getCenter,getSymbol:T,isCartesian:!1,noSharedTooltip:!0,pointAttribs:Y.prototype.pointAttribs,pointClass:J,requireSorting:!1,searchPoint:T,trackerGroups:["group","dataLabelsGroup"]}),z.registerSeriesType("pie",P),P}),ct(F,"Series/Pie/PieDataLabel.js",[F["Core/Series/DataLabel.js"],F["Core/Globals.js"],F["Core/Renderer/RendererUtilities.js"],F["Core/Series/SeriesRegistry.js"],F["Core/Utilities.js"]],function(G,Y,T,et,J){var v,$=Y.noop,Z=T.distribute,z=et.series,j=J.arrayMax,P=J.clamp,m=J.defined,g=J.merge,y=J.pick,k=J.relativeLength;return function(S){function M(){var p,A,D,L,a,x,u,B,b,N,X,U,r=this,d=r.data,s=r.chart,l=r.options.dataLabels||{},e=l.connectorPadding,h=s.plotWidth,t=s.plotHeight,i=s.plotLeft,c=Math.round(s.chartWidth/3),n=r.center,f=n[2]/2,O=n[1],_=[[],[]],R=[0,0,0,0],o=r.dataLabelPositioners;r.visible&&(l.enabled||r._hasPointLabels)&&(d.forEach(function(V){V.dataLabel&&V.visible&&V.dataLabel.shortened&&(V.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),V.dataLabel.shortened=!1)}),z.prototype.drawDataLabels.apply(r),d.forEach(function(V){V.dataLabel&&(V.visible?(_[V.half].push(V),V.dataLabel._pos=null,!m(l.style.width)&&!m(V.options.dataLabels&&V.options.dataLabels.style&&V.options.dataLabels.style.width)&&V.dataLabel.getBBox().width>c&&(V.dataLabel.css({width:Math.round(.7*c)+"px"}),V.dataLabel.shortened=!0)):(V.dataLabel=V.dataLabel.destroy(),V.dataLabels&&1===V.dataLabels.length&&delete V.dataLabels))}),_.forEach(function(V,st){var tt,rt=V.length,ot=[];if(rt){if(r.sortByAngle(V,st-.5),0<r.maxLabelDistance){var at=Math.max(0,O-f-r.maxLabelDistance),q=Math.min(O+f+r.maxLabelDistance,s.plotHeight);V.forEach(function(H){0<H.labelDistance&&H.dataLabel&&(H.top=Math.max(0,O-f-H.labelDistance),H.bottom=Math.min(O+f+H.labelDistance,s.plotHeight),tt=H.dataLabel.getBBox().height||21,H.distributeBox={target:H.labelPosition.natural.y-H.top+tt/2,size:tt,rank:H.y},ot.push(H.distributeBox))}),Z(ot,at=q+tt-at,at/5)}for(X=0;X<rt;X++){if(L=(p=V[X]).dataLabel,N=!1===p.visible?"hidden":"inherit",b=at=(x=p.labelPosition).natural.y,ot&&m(p.distributeBox)&&(typeof p.distributeBox.pos>"u"?N="hidden":(u=p.distributeBox.size,b=o.radialDistributionY(p))),delete p.positionIndex,l.justify)B=o.justify(p,f,n);else switch(l.alignTo){case"connectors":B=o.alignToConnectors(V,st,h,i);break;case"plotEdges":B=o.alignToPlotEdges(L,st,h,i);break;default:B=o.radialDistributionX(r,p,b,at)}L._attr={visibility:N,align:x.alignment},L._pos={x:B+y((U=p.options.dataLabels||{}).x,l.x)+({left:e,right:-e}[x.alignment]||0),y:b+y(U.y,l.y)-10},x.final.x=B,x.final.y=b,y(l.crop,!0)&&(a=L.getBBox().width,at=null,B-a<e&&1===st?(at=Math.round(a-B+e),R[3]=Math.max(at,R[3])):B+a>h-e&&0===st&&(at=Math.round(B+a-h+e),R[1]=Math.max(at,R[1])),0>b-u/2?R[0]=Math.max(Math.round(u/2-b),R[0]):b+u/2>t&&(R[2]=Math.max(Math.round(b+u/2-t),R[2])),L.sideOverflow=at)}}}),0===j(R)||this.verifyDataLabelOverflow(R))&&(this.placeDataLabels(),this.points.forEach(function(V){var st;U=g(l,V.options.dataLabels),(A=y(U.connectorWidth,1))&&(D=V.connector,(L=V.dataLabel)&&L._pos&&V.visible&&0<V.labelDistance?(N=L._attr.visibility,(st=!D)&&(V.connector=D=s.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+V.colorIndex+(V.className?" "+V.className:"")).add(r.dataLabelsGroup),s.styledMode||D.attr({"stroke-width":A,stroke:U.connectorColor||V.color||"#666666"})),D[st?"attr":"animate"]({d:V.getConnectorPath()}),D.attr("visibility",N)):D&&(V.connector=D.destroy()))}))}function w(){this.points.forEach(function(r){var s,d=r.dataLabel;d&&r.visible&&((s=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"](s),d.moved=!0):d&&d.attr({y:-9999})),delete r.distributeBox},this)}function E(r){var d=this.center,s=this.options,l=s.center,e=s.minSize||80,h=null!==s.size;if(!h){if(null!==l[0])var t=Math.max(d[2]-Math.max(r[1],r[3]),e);else t=Math.max(d[2]-r[1]-r[3],e),d[0]+=(r[3]-r[1])/2;null!==l[1]?t=P(t,e,d[2]-Math.max(r[0],r[2])):(t=P(t,e,d[2]-r[0]-r[2]),d[1]+=(r[0]-r[2])/2),t<d[2]?(d[2]=t,d[3]=Math.min(s.thickness?Math.max(0,t-2*s.thickness):Math.max(0,k(s.innerSize||0,t)),t),this.translate(d),this.drawDataLabels&&this.drawDataLabels()):h=!0}return h}var I=[],C={radialDistributionY:function(r){return r.top+r.distributeBox.pos},radialDistributionX:function(r,d,s,l){return r.getX(s<d.top+2||s>d.bottom-2?l:s,d.half,d)},justify:function(r,d,s){return s[0]+(r.half?-1:1)*(d+r.labelDistance)},alignToPlotEdges:function(r,d,s,l){return r=r.getBBox().width,d?r+l:s-r-l},alignToConnectors:function(r,d,s,l){var h,e=0;return r.forEach(function(t){(h=t.dataLabel.getBBox().width)>e&&(e=h)}),d?e+l:s-e-l}};S.compose=function(r){G.compose(z),-1===I.indexOf(r)&&(I.push(r),(r=r.prototype).dataLabelPositioners=C,r.alignDataLabel=$,r.drawDataLabels=M,r.placeDataLabels=w,r.verifyDataLabelOverflow=E)}}(v||(v={})),v}),ct(F,"Extensions/OverlappingDataLabels.js",[F["Core/Chart/Chart.js"],F["Core/Utilities.js"]],function(G,Y){function T(P,m){var g=!1;if(P){var y=P.newOpacity;P.oldOpacity!==y&&(P.alignAttr&&P.placed?(P[y?"removeClass":"addClass"]("highcharts-data-label-hidden"),g=!0,P.alignAttr.opacity=y,P[P.isOld?"animate":"attr"](P.alignAttr,null,function(){m.styledMode||P.css({pointerEvents:y?"auto":"none"})}),J(m,"afterHideOverlappingLabel")):P.attr({opacity:y})),P.isOld=!0}return g}var J=Y.fireEvent,$=Y.isArray,Z=Y.isNumber,z=Y.objectEach,j=Y.pick;(0,Y.addEvent)(G,"render",function(){var P=this,m=[];(this.labelCollectors||[]).forEach(function(g){m=m.concat(g())}),(this.yAxis||[]).forEach(function(g){g.stacking&&g.options.stackLabels&&!g.options.stackLabels.allowOverlap&&z(g.stacking.stacks,function(y){z(y,function(k){k.label&&m.push(k.label)})})}),(this.series||[]).forEach(function(g){var y=g.options.dataLabels;g.visible&&(!1!==y.enabled||g._hasPointLabels)&&((y=function(k){return k.forEach(function(v){v.visible&&($(v.dataLabels)?v.dataLabels:v.dataLabel?[v.dataLabel]:[]).forEach(function(S){var M=S.options;S.labelrank=j(M.labelrank,v.labelrank,v.shapeArgs&&v.shapeArgs.height),M.allowOverlap?(S.oldOpacity=S.opacity,S.newOpacity=1,T(S,P)):m.push(S)})})})(g.nodes||[]),y(g.points))}),this.hideOverlappingLabels(m)}),G.prototype.hideOverlappingLabels=function(P){var k,v,S,m=this,g=P.length,y=m.renderer,M=!1,w=function(C){var r,l,d=C.box?0:C.padding||0,s=r=0;if(C&&(!C.alignAttr||C.placed)){var e=C.alignAttr||{x:C.attr("x"),y:C.attr("y")},h=C.parentGroup;return C.width||(r=C.getBBox(),C.width=r.width,C.height=r.height,r=y.fontMetrics(null,C.element).h),(l={left:"0",center:"0.5",right:"1"}[C.alignValue])?s=+l*(C.width-2*d):Z(C.x)&&Math.round(C.x)!==C.translateX&&(s=C.x-C.translateX),{x:e.x+(h.translateX||0)+d-(s||0),y:e.y+(h.translateY||0)+d-r,width:C.width-2*d,height:C.height-2*d}}};for(v=0;v<g;v++)(k=P[v])&&(k.oldOpacity=k.opacity,k.newOpacity=1,k.absoluteBox=w(k));for(P.sort(function(C,r){return(r.labelrank||0)-(C.labelrank||0)}),v=0;v<g;v++){var E=(w=P[v])&&w.absoluteBox;for(k=v+1;k<g;++k){var I=(S=P[k])&&S.absoluteBox;!E||!I||w===S||0===w.newOpacity||0===S.newOpacity||"hidden"===w.visibility||"hidden"===S.visibility||I.x>=E.x+E.width||I.x+I.width<=E.x||I.y>=E.y+E.height||I.y+I.height<=E.y||((w.labelrank<S.labelrank?w:S).newOpacity=0)}}P.forEach(function(C){T(C,m)&&(M=!0)}),M&&J(m,"afterHideAllOverlappingLabels")}}),ct(F,"Core/Responsive.js",[F["Core/Utilities.js"]],function(G){var m,Y=G.extend,T=G.find,et=G.isArray,J=G.isObject,$=G.merge,Z=G.objectEach,z=G.pick,j=G.splat,P=G.uniqueKey;return function(g){var y=[];g.compose=function(v){return-1===y.indexOf(v)&&(y.push(v),Y(v.prototype,k.prototype)),v};var k=function(){function v(){}return v.prototype.currentOptions=function(S){var w=this,E={};return function M(I,C,r,d){var s;Z(I,function(l,e){if(!d&&-1<w.collectionsWithUpdate.indexOf(e)&&C[e])for(l=j(l),r[e]=[],s=0;s<Math.max(l.length,C[e].length);s++)C[e][s]&&(void 0===l[s]?r[e][s]=C[e][s]:(r[e][s]={},M(l[s],C[e][s],r[e][s],d+1)));else J(l)?(r[e]=et(l)?[]:{},M(l,C[e]||{},r[e],d+1)):r[e]=typeof C[e]>"u"?null:C[e]})}(S,this.options,E,0),E},v.prototype.matchResponsiveRule=function(S,M){var w=S.condition;(w.callback||function(){return this.chartWidth<=z(w.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=z(w.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=z(w.minWidth,0)&&this.chartHeight>=z(w.minHeight,0)}).call(this)&&M.push(S._id)},v.prototype.setResponsive=function(S,M){var w=this,E=this.options.responsive,I=this.currentResponsive,C=[];!M&&E&&E.rules&&E.rules.forEach(function(r){typeof r._id>"u"&&(r._id=P()),w.matchResponsiveRule(r,C)},this),(M=$.apply(void 0,C.map(function(r){return T((E||{}).rules||[],function(d){return d._id===r})}).map(function(r){return r&&r.chartOptions}))).isResponsiveOptions=!0,(C=C.toString()||void 0)!==(I&&I.ruleIds)&&(I&&this.update(I.undoOptions,S,!0),C?((I=this.currentOptions(M)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:C,mergedOptions:M,undoOptions:I},this.update(M,S,!0)):this.currentResponsive=void 0)},v}()}(m||(m={})),m}),ct(F,"masters/highcharts.src.js",[F["Core/Globals.js"],F["Core/Utilities.js"],F["Core/Defaults.js"],F["Core/Animation/Fx.js"],F["Core/Animation/AnimationUtilities.js"],F["Core/Renderer/HTML/AST.js"],F["Core/FormatUtilities.js"],F["Core/Renderer/RendererUtilities.js"],F["Core/Renderer/SVG/SVGElement.js"],F["Core/Renderer/SVG/SVGRenderer.js"],F["Core/Renderer/HTML/HTMLElement.js"],F["Core/Renderer/HTML/HTMLRenderer.js"],F["Core/Axis/Axis.js"],F["Core/Axis/DateTimeAxis.js"],F["Core/Axis/LogarithmicAxis.js"],F["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],F["Core/Axis/Tick.js"],F["Core/Tooltip.js"],F["Core/Series/Point.js"],F["Core/Pointer.js"],F["Core/MSPointer.js"],F["Core/Legend/Legend.js"],F["Core/Chart/Chart.js"],F["Core/Axis/Stacking/StackingAxis.js"],F["Core/Axis/Stacking/StackItem.js"],F["Core/Series/Series.js"],F["Core/Series/SeriesRegistry.js"],F["Series/Column/ColumnSeries.js"],F["Series/Column/ColumnDataLabel.js"],F["Series/Pie/PieSeries.js"],F["Series/Pie/PieDataLabel.js"],F["Core/Series/DataLabel.js"],F["Core/Responsive.js"],F["Core/Color/Color.js"],F["Core/Time.js"]],function(G,Y,T,et,J,$,Z,z,j,P,m,g,y,k,v,S,M,w,E,I,C,r,d,s,l,e,h,t,i,c,n,f,O,_,R){return G.animate=J.animate,G.animObject=J.animObject,G.getDeferredAnimation=J.getDeferredAnimation,G.setAnimation=J.setAnimation,G.stop=J.stop,G.timers=et.timers,G.AST=$,G.Axis=y,G.Chart=d,G.chart=d.chart,G.Fx=et,G.Legend=r,G.PlotLineOrBand=S,G.Point=E,G.Pointer=C.isRequired()?C:I,G.Series=e,G.StackItem=l,G.SVGElement=j,G.SVGRenderer=P,G.Tick=M,G.Time=R,G.Tooltip=w,G.Color=_,G.color=_.parse,g.compose(P),m.compose(j),G.defaultOptions=T.defaultOptions,G.getOptions=T.getOptions,G.time=T.defaultTime,G.setOptions=T.setOptions,G.dateFormat=Z.dateFormat,G.format=Z.format,G.numberFormat=Z.numberFormat,G.addEvent=Y.addEvent,G.arrayMax=Y.arrayMax,G.arrayMin=Y.arrayMin,G.attr=Y.attr,G.clearTimeout=Y.clearTimeout,G.correctFloat=Y.correctFloat,G.createElement=Y.createElement,G.css=Y.css,G.defined=Y.defined,G.destroyObjectProperties=Y.destroyObjectProperties,G.discardElement=Y.discardElement,G.distribute=z.distribute,G.erase=Y.erase,G.error=Y.error,G.extend=Y.extend,G.extendClass=Y.extendClass,G.find=Y.find,G.fireEvent=Y.fireEvent,G.getMagnitude=Y.getMagnitude,G.getStyle=Y.getStyle,G.inArray=Y.inArray,G.isArray=Y.isArray,G.isClass=Y.isClass,G.isDOMElement=Y.isDOMElement,G.isFunction=Y.isFunction,G.isNumber=Y.isNumber,G.isObject=Y.isObject,G.isString=Y.isString,G.keys=Y.keys,G.merge=Y.merge,G.normalizeTickInterval=Y.normalizeTickInterval,G.objectEach=Y.objectEach,G.offset=Y.offset,G.pad=Y.pad,G.pick=Y.pick,G.pInt=Y.pInt,G.relativeLength=Y.relativeLength,G.removeEvent=Y.removeEvent,G.seriesType=h.seriesType,G.splat=Y.splat,G.stableSort=Y.stableSort,G.syncTimeout=Y.syncTimeout,G.timeUnits=Y.timeUnits,G.uniqueKey=Y.uniqueKey,G.useSerialIds=Y.useSerialIds,G.wrap=Y.wrap,i.compose(t),f.compose(e),k.compose(y),v.compose(y),n.compose(c),S.compose(y),O.compose(d),s.compose(y,d,e),G}),F["masters/highcharts.src.js"]._modules=F,F["masters/highcharts.src.js"]},Ot.exports?(ct.default=ct,Ot.exports=At.document?ct(At):ct):void 0!==(Tt=function(){return ct(At)}.call(Lt,St,Lt,Ot))&&(Ot.exports=Tt)}}]);
|