PageSourceSearch

https://extraetf.com/de/9005.fe4e89c6fc20c205.js

js extraetf.com collected 2026-09-24 09:38:48 UTC 279,145 bytes, 1 lines download raw bytes

1(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[9005],{31014:(_t,ut,f)=>{"use strict";f.d(ut,{X:()=>b});var t=f(38675),Z=f(64206),Y=f(81586),n=f(69076),G=f(54438),C=f(66046),y=f(60177);function T(v,A){if(1&v){const h=G.RV6();G.j41(0,"highcharts-chart",2),G.bIt("chartInstance",function(c){G.eBV(h);const O=G.XpG();return G.Njj(c&&O.initChartInstance(c))}),G.k0s()}if(2&v){const h=G.XpG();G.Y8G("Highcharts",h.Highcharts)("options",h.chartOptions)}}function E(v,A){if(1&v&&(G.j41(0,"div"),G.nrm(1,"div",3),G.k0s()),2&v){const h=G.XpG();G.R7$(),G.Y8G("id",h.EXPORT_DATA_ID)}}let b=(()=>{class v extends t.H{constructor(){super(),this.decimals=2,this.colorByComparison=!0,(0,n.A)(this.Highcharts),this.withNavigator=!0}ngOnInit(){super.ngOnInit(),this.indicatorSeries=this.getDefaultIndicatorsOptions()}ngOnChanges(h){if(super.ngOnChanges(h),this.hasMacd=this.indicators?.some(c=>"macd"===c.id),!this.seriesOptions.series?.length)return;const u=(0,Z.aQ)([this.commonChartOptions,this.commonAreaOptions,this.defaultAreaOptions]);if(this.chartInstance&&(delete u.xAxis,delete u.rangeSelector.selected),this.setChartOptions((0,Z.aQ)([u,this.seriesOptions])),h.indicators&&!h.indicators.firstChange&&this.toggleIndicators(),this.chartInstance){const c=this.chartInstance.xAxis[0].getExtremes();this.chartInstance.update(this.getAreaColorOptions(c,this.colorByComparison),!1)}h.seriesOptions?.currentValue?.series?.length!==h.seriesOptions?.previousValue?.series?.length&&this.chartInstance&&this.chartInstance.update(this.chartOptions,!0,!0,!0)}initChartInstance(h){super.initChartInstance(h);const u=this.chartInstance.xAxis[0].getExtremes();this.chartInstance.update(this.getAreaColorOptions(u,this.colorByComparison)),this.percentageMode&&this.toggleComparison()}get defaultAreaOptions(){const h=this,u={tooltip:{pointFormatter(){let c="";const O=this.series.type,I=this.series.name,g=this.color;let l=(0,Y.jq)(this.custom?.alternateValue||this.y,h.decimals,"",h.tooltipSuffix||"");switch(O){case"flags":{const o=this.data;l=(0,Y.jq)(o.groupSum||this.value,2,"",` ${o.suffix||""}`),c=`<br><b>${o.header}: </b>${l}`,o.multiple&&(c+=`<span class="tp-date-label">\n${"Von"}: <span>${(0,Y.i$)(o.groupStartDate)}</span>\n${"Bis"}: <span>${(0,Y.i$)(o.groupEndDate)}</span>\n</span>`);break}case"macd":c=`<b style="color:${g}">${I}:</b><br>\n                                   <b>Value: </b>${(0,Y.jq)(this.MACD,h.decimals)}<br>\n                                   <b>Signal: </b>${(0,Y.jq)(this.signal,h.decimals)}<br>\n                                   <b>Histogram: </b>${l}`;break;case"bb":c=`<b style="color:${g}">${I}:</b><br>\n<b>Top: </b>${(0,Y.jq)(this.top,h.decimals)}<br>\n<b>Middle: </b>${(0,Y.jq)(this.middle,h.decimals)}<br>\n<b>Bottom: </b>${(0,Y.jq)(this.bottom,h.decimals)}`;break;default:{const o=this.change;let i=h.onlyCompareItself?"%":"";void 0!==o&&(i=`\n<span class="tp-change-label arrow ${o>0?"plus":"minus down"}">${(0,Y.jq)(o,1,o>0?"+":""," %")}</span>`),c=`<b>${I}: </b>${l} ${i}`}}return c}},plotOptions:{flags:{allowOverlapX:!1}
1},xAxis:{events:{afterSetExtremes(c){h.chartInstance?.update(h.getAreaColorOptions(c,h.colorByComparison),!0,!0)}}},yAxis:[{height:this.hasMacd?"50%":"100%"},{top:this.hasMacd?"50%":"0%",height:this.hasMacd?"50%":"0%"}]};return this.enableFlagsGrouping&&(u.flagsGrouping={selectGroupOnClick:!0,minSelectableDateRange:12096e5,groupings:[{groupTimeSpan:31536e6,zoomTimeSpan:63072e6}]}),u}toggleIndicators(){Object.values(this.indicatorSeries).forEach(h=>this.chartInstance.get(h.id)?.remove(!0)),this.indicators?.forEach(h=>this.chartInstance.addSeries(this.indicatorSeries[h.id]))}getDefaultIndicatorsOptions(){return{ema20:{type:"ema",id:"ema20Series",linkedTo:this.areaSeriesId,color:this.colorService.ORANGE_DARK,marker:{enabled:!1},dataGrouping:{enabled:!0},params:{period:20}},ema200:{type:"ema",id:"ema200Series",linkedTo:this.areaSeriesId,color:this.colorService.RED_LIGHT,marker:{enabled:!1},dataGrouping:{enabled:!0},params:{period:200}},macd:{type:"macd",id:"macdSeries",linkedTo:this.areaSeriesId,yAxis:1,color:this.colorService.GREEN_LIGHT,negativeColor:this.colorService.RED_LIGHT,macdLine:{styles:{lineColor:this.colorService.BLUE_MIDDLE}},signalLine:{styles:{lineColor:this.colorService.RED_LIGHT}},dataGrouping:{enabled:!0},params:{shortPeriod:12,longPeriod:26,signalPeriod:9,period:26}},bb:{type:"bb",id:"bbSeries",linkedTo:this.areaSeriesId,dataGrouping:{enabled:!0},dashStyle:"Dash",color:this.colorService.GREY_DARK,bottomLine:{styles:{lineColor:this.colorService.GREEN_LIGHT}},topLine:{styles:{lineColor:this.colorService.RED_LIGHT}}}}}static{this.\u0275fac=function(u){return new(u||v)}}static{this.\u0275cmp=G.VBU({type:v,selectors:[["app-area-chart"]],inputs:{decimals:"decimals",colorByComparison:"colorByComparison",tooltipSuffix:"tooltipSuffix",enableFlagsGrouping:"enableFlagsGrouping",areaSeriesId:"areaSeriesId",indicators:"indicators"},features:[G.Vt3,G.OA$],decls:2,vars:2,consts:[["constructorType","stockChart",3,"Highcharts","options","chartInstance",4,"ngIf"],[4,"ngIf"],["constructorType","stockChart",3,"chartInstance","Highcharts","options"],[3,"id"]],template:function(u,c){1&u&&G.DNE(0,T,1,2,"highcharts-chart",0)(1,E,2,1,"div",1),2&u&&(G.Y8G("ngIf",c.userLoaded),G.R7$(),G.Y8G("ngIf",null==c.user?null:c.user.hasChartExportPermission))},dependencies:[C.H,y.bT],encapsulation:2,changeDetection:0})}}return v})()},7687:(_t,ut,f)=>{"use strict";f.d(ut,{S:()=>g});var t=f(54438),Z=f(42331),Y=f(67374),n=f.n(Y),G=f(27468),C=f(96354),y=f(66157),T=f(94705),E=f(60177),b=f(83038),v=f(20988);function A(p,l){if(1&p&&(t.j41(0,"li"),t.pXf(1,2),t.nI1(2,"date"),t.k0s()),2&p){const o=l.$implicit;t.R7$(2),t.uP7(o.name)(t.bMT(2,2,o.startDate)),t.nnv(1)}}function h(p,l){if(1&p&&(t.j41(0,"div",7),t.nrm(1,"xetf-icon",8),t.j41(2,"div")(3,"span",9),t.pXf(4,1),t.k0s(),t.j41(5,"ul",10),t.DNE(6,A,3,4,"li",11),t.k0s()()()),2&p){const o=t.XpG();t.R7$(),t.Y8G("name","exclamationCircle"),t.R7$(5),t.Y8G("ngForOf",o.incompleteHistoricData)}}function u(p,l){1&p&&(t.j41(0,"div",12),t.nrm(1,"xetf-icon",8),t.j41(2,"span",9),t.pXf(3,3),t.k0s()()),2&p&&(t.R7$(),t.Y8G("name","infoCircle"))}function c(p,l){if(1&p){const o=t.RV6();t.j41(0,"app-bar-chart",14),t.bIt("activeRangeChange",function(e){t.eBV(o);const r=t.XpG(2);return t.Njj(r.onRangeChange(e))}),t.k0s()}if(2&p){const o=t.XpG(2);t.Y8G("seriesOptions",o.seriesOptions)("exportingTitle",o.exportingTitle)("withWatermark",!0)("withRangeSelector",!0)("activeRange",o.range)("disabledRangeButtons",o.disabledRangeButtons)("enableTenYearsButton",o.enableTenYearsButton)}}function O(p,l){if(1&p&&(t.j41(0,"div"),t.DNE(1,c,1,7,"app-bar-chart",13),t.k0s()),2&p){const o=t.XpG();t.R7$(),t.Y8G("ngIf",o.seriesOptions)}}function I(p,l){1&p&&(t.j41(0,"div",15),t.nrm(1,"xetf-spinner",16),t.k0s()),2&p&&(t.R7$(),t.Y8G("size",30)("color","logo"))}let g=(()=>{class p{constructor(o,i,e){this.dataService=o,this.stockService=i,this._cdr=e,this.CHART_TYPE="trinav",this.isBrowser=(0,t.WQX)(Z.T).isBrowser,this.height=600,this.range=4,this.chartData={}}ngOnChanges(o){const i=(o.products?.previousValue||[]).map(a=>a.isin);if((o.products?.currentValue||[]).map(a=>a.isin).every(a=>i.includes(a)))return;const r=this.products.map(a=>a.isin).filter(a=>!this.chartData[a]);r.length?"stock"===this.investmentType?(0,G.p)(r.map(a=>this.stockService.fetchQuotes(a))).pipe((0,C.T)(a=>this.processChartData(a.map(d=>d.map(x=>[new Date(x.date).getTime(),x.price_last])),r))).subscribe(()=>this.updateChart()):(0,G.p)(r.map(a=>this.dataService.fetchChartData(a,this.CHART_TYPE))).pipe((0,C.T)(a=>this.processChartData(a.map(d=>d[this.CHART_TYPE]),r))).subscribe(()=>this.updateChart()):this.updateChart()}onRangeChange(o){this.range=o,this.updateChart()}updateChart(){this.seriesOptions=this.assembleSeriesOptions(),this.prepareExportingTitle(),this._cdr.markForCheck()}assembleSeriesOptions(){this.incompleteHistoricData=[];const o=this.products.map((i,e)=>this.assembleBarSeries(i,e)).filter(i=>!!i).sort((i,e)=>e.data[0]-i.data[0]);return o.length?{chart:{height:this.height},series:o}:(this.noData=!0,this._cdr.markForCheck(),null)}assembleBarSeries(o,i){const e=this.chartData[o.isin];if(!e?.length)return null;const r=e[0],d=e.at(-1)[1];let x,m,_;if(_="stock"===this.investmentType?o.name:o.fondname,x=this.range===this.maxButtonIdx?r[0]:this.rangeStartTimes[this.range],x<r[0])x=r[0],m=r[1],this.incompleteHistoricData.push({name:_,startDate:x});else{const P=e.find(D=>D[0]>=x);m=P?P[1]:0}return{id:o.isin,type:"bar",data:[m?(d-m)/m*100:0],name:_,stack:i}}prepareExportingTitle(){if(this.products.length<10){let o="Vergleich folgender ETFs"+":<br>";
1this.products.forEach(i=>o+=`${i.fondname} (${"ISIN:"} ${i.isin})<br>`),this.exportingTitle=o}else this.exportingTitle=""}processChartData(o,i){let e=0,r=Number.MAX_SAFE_INTEGER;o.forEach((m,_)=>{if(this.chartData[i[_]]=m,m.length){const P=m[0][0],D=m.at(-1)[0];P>e&&(e=P),D<r&&(r=D)}});const a=n()(r),d=a.diff(a.startOf("year"),"d");this.rangeStartTimes=[a.subtract(1,"month").valueOf(),a.subtract(3,"month").valueOf(),a.subtract(6,"month").valueOf(),a.subtract(d,"day").valueOf(),a.subtract(1,"year").valueOf(),a.subtract(3,"year").valueOf(),a.subtract(5,"year").valueOf(),this.enableTenYearsButton?a.subtract(10,"year").valueOf():null,e].filter(m=>!!m);const x=[];this.rangeStartTimes.forEach((m,_)=>{let S=!1;Object.values(this.chartData).forEach(P=>{S||=P[0]&&P[0][0]<m}),S||x.push(_)}),this.disabledRangeButtons=x,this.disabledRangeButtons.includes(this.range)&&(this.range=this.fromComparisonButtonIdx)}get fromComparisonButtonIdx(){return this.rangeStartTimes.length-1}get maxButtonIdx(){return this.rangeStartTimes.length}static{this.\u0275fac=function(i){return new(i||p)(t.rXU(y.u),t.rXU(T.Q),t.rXU(t.gRc))}}static{this.\u0275cmp=t.VBU({type:p,selectors:[["app-bar-chart-wrapper"]],inputs:{products:"products",enableTenYearsButton:"enableTenYearsButton",investmentType:"investmentType",height:"height"},features:[t.OA$],decls:5,vars:4,consts:()=>{let o,i,e;return o="F\xFCr das folgende Produkt liegt keine ausreichende Datenhistorie vor:",i=" " + "\ufffd0\ufffd" + ", fr\xFChestes Startdatum: " + "\ufffd1\ufffd" + " ",e="Es gibt keine ausreichende Historie.",[["loading",""],o,i,e,["class","alert alert-warning",4,"ngIf"],["class","alert alert-primary",4,"ngIf"],[4,"ngIf","ngIfElse"],[1,"alert","alert-warning"],[1,"alert-icon",3,"name"],[1,"fw-semibold"],[1,"mb-0"],[4,"ngFor","ngForOf"],[1,"alert","alert-primary"],[3,"seriesOptions","exportingTitle","withWatermark","withRangeSelector","activeRange","disabledRangeButtons","enableTenYearsButton","activeRangeChange",4,"ngIf"],[3,"activeRangeChange","seriesOptions","exportingTitle","withWatermark","withRangeSelector","activeRange","disabledRangeButtons","enableTenYearsButton"],[1,"text-center","my-3"],[3,"size","color"]]},template:function(i,e){if(1&i&&t.DNE(0,h,7,2,"div",4)(1,u,4,1,"div",5)(2,O,2,1,"div",6)(3,I,2,2,"ng-template",null,0,t.C5r),2&i){const r=t.sdS(4);t.Y8G("ngIf",null==e.incompleteHistoricData?null:e.incompleteHistoricData.length),t.R7$(),t.Y8G("ngIf",e.noData),t.R7$(),t.Y8G("ngIf",e.isBrowser&&e.seriesOptions)("ngIfElse",r)}},dependencies:[E.Sq,E.bT,b.Rl,b.tI,v.X,E.vh],encapsulation:2,changeDetection:0})}}return p})()},20988:(_t,ut,f)=>{"use strict";f.d(ut,{X:()=>y});var t=f(30382),Z=f(38675),Y=f(81586),n=f(64206),G=f(54438),C=f(66046);let y=(()=>{class T extends Z.H{ngOnChanges(b){super.ngOnChanges(b),this.setChartOptions((0,n.aQ)([this.commonChartOptions,this.commonLegendOptions,this.commonCustomRangeOptions,this.defaultBarOptions,this.seriesOptions])),this.chartInstance&&(this.chartInstance.series.map(v=>v.options.id).map(v=>this.chartInstance.get(v).remove()),this.seriesOptions.series.forEach(v=>this.chartInstance.addSeries(v)))}get defaultBarOptions(){return{exporting:{buttons:{contextButton:{x:-5}}},rangeSelector:{allButtonsEnabled:!0,inputEnabled:!1,buttonPosition:{x:15},buttons:this._rangeSelectorButtons},colors:this.colorService.COMPARISON_CHART_PALETTE,tooltip:{formatter(){const v=this.y>0?"plus":"minus down",A=(0,Y.jq)(this.y,2,this.y>0?"+":""," %");return`<span class="tp-point" style="color:${this.color}">\u25cf </span>\n<b>${this.series.name}: </b>\n<span class="tp-change-label arrow ${v}">${A}</span>`}},plotOptions:{bar:{groupPadding:0,maxPointWidth:20,borderWidth:0,borderRadius:3,dataLabels:{enabled:!0,padding:15,style:{color:this.colorService.GREY_DARK,textOutline:void 0},formatter(){return(0,Y.jq)(this.y,2,""," %")}}}},xAxis:{labels:{enabled:!1}},yAxis:[{lineWidth:1,tickPixelInterval:100,minPadding:.25,maxPadding:.2,labels:{y:15,align:"center",formatter(){return(0,Y.jq)(this.value,1,""," %")}}}]}}get _rangeSelectorButtons(){return[{text:t.a.month_1,events:{click:()=>this.activeRangeChange.emit(0)}},{text:t.a.month_3,events:{click:()=>this.activeRangeChange.emit(1)}},{text:t.a.month_6,events:{click:()=>this.activeRangeChange.emit(2)}},{text:t.a.ytd,events:{click:()=>this.activeRangeChange.emit(3)}},{text:t.a.year_1,events:{click:()=>this.activeRangeChange.emit(4)}},{text:t.a.year_3,events:{click:()=>this.activeRangeChange.emit(5)}},{text:t.a.year_5,events:{click:()=>this.activeRangeChange.emit(6)}},this.enableTenYearsButton&&{text:t.a.year_10,events:{click:()=>this.activeRangeChange.emit(7)}}||null,{text:t.a.comparison,events:{click:()=>this.activeRangeChange.emit(this.enableTenYearsButton?8:7)}},{text:t.a.max,events:{click:()=>this.activeRangeChange.emit(this.enableTenYearsButton?9:8)}}].filter(b=>b)}static{this.\u0275fac=(()=>{let b;return function(A){return(b||(b=G.xGo(T)))(A||T)}})()}static{this.\u0275cmp=G.VBU({type:T,selectors:[["app-bar-chart"]],inputs:{disabledRangeButtons:"disabledRangeButtons"},features:[G.Vt3,G.OA$],decls:1,vars:2,consts:[[3,"chartInstance","Highcharts","options"]],template:function(v,A){1&v&&(G.j41(0,"highcharts-chart",0),G.bIt("chartInstance",function(u){return u&&(A.chartInstance=u)}
1),G.k0s()),2&v&&G.Y8G("Highcharts",A.Highcharts)("options",A.chartOptions)},dependencies:[C.H],encapsulation:2,changeDetection:0})}}return T})()},62930:(_t,ut,f)=>{"use strict";f.d(ut,{B:()=>v});var t=f(54438),Z=f(71455),Y=f(81586),n=f(42331),G=f(60177),C=f(83038),y=f(21624);function T(A,h){if(1&A){const u=t.RV6();t.j41(0,"app-bubble-chart",4),t.bIt("activeRangeChange",function(O){t.eBV(u);const I=t.XpG(2);return t.Njj(I.changeRange(O))}),t.k0s()}if(2&A){const u=t.XpG(2);t.Y8G("seriesOptions",u.seriesOptions())("exportingTitle",u.exportingTitle)("activeRange",u.range)("withWatermark",!0)("withRangeSelector",!0)}}function E(A,h){if(1&A&&(t.qex(0),t.DNE(1,T,1,5,"app-bubble-chart",3),t.bVm()),2&A){const u=t.XpG(),c=t.sdS(2);t.R7$(),t.Y8G("ngIf",u.seriesOptions())("ngIfElse",c)}}function b(A,h){1&A&&(t.j41(0,"div",5),t.nrm(1,"xetf-icon",6),t.j41(2,"span",7),t.pXf(3,1),t.k0s()()),2&A&&(t.R7$(),t.Y8G("name","infoCircle"))}let v=(()=>{class A{constructor(){this.defaultCurrency=(0,t.WQX)(t.Ocv),this.isBrowser=(0,t.WQX)(n.T).isBrowser,this.TEXTS={volatility:"Volatilit\xE4t",performance:"Wertentwicklung",year:"Jahr",years:"Jahre",comparisonEtf:"Vergleich folgender ETFs",isin:"ISIN",risk:"Risiko",yield:"Rendite"},this.RANGE_PROPS={0:{x:"1_year",y:"1_year_real",name:`1 ${this.TEXTS.year}`},1:{x:"3_years",y:"3_years_ago_real",name:`3 ${this.TEXTS.years}`}},this.seriesOptions=(0,t.vPA)(null),this.range=0}ngOnChanges(){if(this.products?.length){if(this.products.length<10){let u=`${this.TEXTS.comparisonEtf}:<br>`;this.products.forEach(c=>u+=`${c.fondname} (${this.TEXTS.isin}: ${c.isin})<br>`),this.exportingTitle=u}else this.exportingTitle="";this.updateChart()}}changeRange(u){u!==this.range&&(this.range=u,this.updateChart())}updateChart(){this.seriesOptions.set(this.assembleSeriesOptions())}assembleSeriesOptions(){const u=this.products.map(I=>this.assembleBubbleSeries(I));if(u.every(I=>null===I.data[0].x||null===I.data[0].y))return null;const O=this;return{chart:{height:600},tooltip:{formatter(){return`<span class="tp-point" style="color:${this.point.color}">\u25cf </span>\n<b>${this.series.name}</b><br>\n<b>${O.TEXTS.risk}: </b>${(0,Y.jq)(this.x,2,""," %")}<br>\n<b>${O.TEXTS.yield}: </b>${(0,Y.jq)(this.y,2,""," %")}<br>\n<b>AuM: </b>${(0,Y.jq)(this.point.z,2,"",` Mio ${O.defaultCurrency}`)}`}},xAxis:{title:{text:`${this.TEXTS.volatility} ${this.RANGE_PROPS[this.range].name}`},labels:{formatter(){return(0,Y.jq)(this.value,0,""," %")}}},yAxis:[{title:{text:`${this.TEXTS.performance} ${this.RANGE_PROPS[this.range].name}`},labels:{formatter(){return(0,Y.jq)(this.value,0,""," %")}}}],series:u}}assembleBubbleSeries(u){const c=this.RANGE_PROPS[this.range],O=`volatility_${c.x}`,I=`return_${c.y}`,g="assets_under_management";if(u instanceof Z.W){const l={0:1,1:3}[this.range],o=u.risk_and_rating[l]?.volatility;return{id:u.isin,name:u.fondname,data:[{x:o||0,y:u[I]||0,z:u[g]||0,name:u.fondname}],type:"bubble"}}return{id:u.isin,name:u.fondname,data:[{x:u[O]||0,y:u[I]||0,z:u[g]||0,name:u.fondname}],type:"bubble"}}static{this.\u0275fac=function(c){return new(c||A)}}static{this.\u0275cmp=t.VBU({type:A,selectors:[["app-bubble-chart-wrapper"]],inputs:{products:"products"},features:[t.OA$],decls:3,vars:1,consts:()=>{let u;return u="Es gibt keine ausreichende Historie.",[["noDataRef",""],u,[4,"ngIf"],[3,"seriesOptions","exportingTitle","activeRange","withWatermark","withRangeSelector","activeRangeChange",4,"ngIf","ngIfElse"],[3,"activeRangeChange","seriesOptions","exportingTitle","activeRange","withWatermark","withRangeSelector"],[1,"alert","alert-primary"],[1,"alert-icon",3,"name"],[1,"fw-semibold"]]},template:function(c,O){1&c&&t.DNE(0,E,2,2,"ng-container",2)(1,b,4,1,"ng-template",null,0,t.C5r),2&c&&t.Y8G("ngIf",O.isBrowser)},dependencies:[G.bT,C.Rl,y.Q],encapsulation:2,changeDetection:0})}}return A})()},21624:(_t,ut,f)=>{"use strict";f.d(ut,{Q:()=>C});var t=f(30382),Z=f(64206),Y=f(38675),n=f(54438),G=f(66046);let C=(()=>{class y extends Y.H{ngOnChanges(E){super.ngOnChanges(E);const b=this.commonChartOptions;delete b.rangeSelector.buttons,this.setChartOptions((0,Z.aQ)([b,this.commonLegendOptions,this.commonCustomRangeOptions,this.defaultBubbleOptions,this.seriesOptions])),this.chartInstance?.update(this.chartOptions,!0,!0)}get defaultBubbleOptions(){const E=this;return{chart:{zooming:{type:"xy"}},colors:this.colorService.COMPARISON_CHART_PALETTE,xAxis:{startOnTick:!1,endOnTick:!1,gridLineWidth:1,lineWidth:0,minRange:10},yAxis:[{startOnTick:!0,endOnTick:!1,maxPadding:.2}],rangeSelector:{inputEnabled:!1,allButtonsEnabled:!0,buttonPosition:{x:0},buttons:[{text:t.a.year_1,events:{click:()=>(E.activeRangeChange.emit(0),!1)}},{text:t.a.year_3,events:{click:()=>(E.activeRangeChange.emit(1),!1)}}]},plotOptions:{bubble:{minSize:25,marker:{fillOpacity:.9,lineWidth:0,states:{hover:{lineWidth:0}}},states:{hover:{halo:void 0}}}}}}static{this.\u0275fac=(()=>{let E;return function(v){return(E||(E=n.xGo(y)))(v||y)}})()}static{this.\u0275cmp=n.VBU({type:y,selectors:[["app-bubble-chart"]],features:[n.Vt3,n.OA$],decls:1,vars:2,consts:[[3,"chartInstance","Highcharts","options"]],template:function(b,v){1&b&&(n.j41(0,"highcharts-chart",0),n.bIt("chartInstance",function(h){return h&&(v.chartInstance=h)}
1),n.k0s()),2&b&&n.Y8G("Highcharts",v.Highcharts)("options",v.chartOptions)},dependencies:[G.H],encapsulation:2,changeDetection:0})}}return y})()},64206:(_t,ut,f)=>{"use strict";f.d(ut,{C3:()=>b,DQ:()=>n,Zh:()=>A,aQ:()=>T,cE:()=>C,fX:()=>G});var t=f(81586),Z=f(58813),Y=f.n(Z);function n(h,u=!1){if(!h.length)return null;const c=G(h),O=C(h);return h.forEach(I=>I.data=I.data?.filter(g=>u||y(g)>=c&&y(g)<=O)),h}function G(h){const u=h.filter(c=>"flags"!==c?.type&&c?.data?.length);return u?Math.max(...u.map(c=>c?.data?.length?y(c?.data[0]):0)):0}function C(h){const u=h.filter(c=>"flags"!==c?.type&&c?.data?.length);return u?.length?Math.min(...u.map(c=>c?.data?.length?y(c?.data.at(-1)):0)):0}function y(h){return h.x||h[0]}function T(h){return Y().all(h,{arrayMerge:E})}function E(h,u,c){const O=h.slice();return u.forEach((I,g)=>{typeof O[g]>"u"?O[g]=c.cloneUnlessOtherwiseSpecified(I,c):c.isMergeableObject(I)?O[g]=Y()(h[g],I,c):-1===h.indexOf(I)&&O.push(I)}),O}function b(h,u=!1){return function(){const c=this.value,O=h&&c>0&&!u?"+":"",I=h?" %":"";let g=this.axis.defaultLabelFormatter.call(this);return/^[0-9]{4}$/.test(g)&&(g=(0,t.jq)(c,0)),O+g+I}}var A=function(h){return h.ema20="ema20Series",h.ema200="ema200Series",h.macd="macdSeries",h.bb="bb",h}(A||{})},59075:(_t,ut,f)=>{"use strict";f.d(ut,{u:()=>h});var t=f(67374),Z=f.n(t),Y=f(7673),n=f(96354),G=f(27468),C=f(54438),y=f(66157),T=f(91679),E=f(94705);function b(u){switch(u){case"portfolio":case"taxes":return"byId";default:return"byIsin"}}function v(u){switch(u){case"portfolio":case"taxes":return"id";default:return"isin"}}class A{constructor(){this.byIsin=new Map,this.byId=new Map}addBenchmark(c,O){this[b(c.type)].set(c[v(c.type)],{data:O,type:c.type,id:c.id})}getBenchmarkData(c){return this[b(c.type)].get(c[v(c.type)])}has(c){return this[b(c.type)].has(c[v(c.type)])}}let h=(()=>{class u{constructor(O,I,g){this.dataService=O,this.fundService=I,this.stockService=g,this.storage=new A,this.columnStorage=new A}static getProperChartTypeForBenchmark(O,I=null,g=!1){if(g)return O;let p=O;switch(O){case"nav":switch(I){case"nav":p="trinav";break;case"price":p="price"}break;case"trinav":switch(I){case"nav":p="trinav";break;case"price":p="tri"}}return p}calculateRelativeTaxesGrowth(O,I){const g=Number(O.id.replace("taxes-",""));let p=1;const l=[],o=Z()().diff(I,"d"),i=Math.pow(1+g/100,1/365);for(let e=0;e<o;e++){const a=p*i;p=a,l.push([I+864e5*e,a])}return(0,Y.of)(l)}fetchBenchmarksData(O,I){const g=O.map(p=>{if(!this.storage.has(p)){let l;switch(p.type){case"portfolio":l=this.fetchPortfolioPerformance(p.id);break;case"taxes":l=this.calculateRelativeTaxesGrowth(p,I);break;case"stock":l=this.stockService.fetchQuotes(p.isin).pipe((0,n.T)(o=>o.map(i=>[i.dateTs,i.price_last])));break;default:l=this.dataService.fetchChartData(p.isin)}return l.pipe((0,n.T)(o=>(this.storage.addBenchmark(p,o),this.storage.getBenchmarkData(p))))}return(0,Y.of)(this.storage.getBenchmarkData(p))});return g.length?(0,G.p)(g):(0,Y.of)([])}fetchColumnBenchmarksData(O){const I=O.map(g=>{if(!this.columnStorage.has(g)){let p;switch(g.type){case"portfolio":p=this.dataService.fetchEtfPortfolioById(g.id).pipe((0,n.T)(l=>this.flattenPortfolioPerf(l)));break;case"fund":p=this.fundService.fetchFund(g.isin).pipe((0,n.T)(l=>l.flattenedPerf));break;case"etf":p=this.dataService.fetchEtf({isin:g.isin}).pipe((0,n.T)(l=>l.flattenedPerf));break;default:p=(0,Y.of)(null)}return p.pipe((0,n.T)(l=>(this.columnStorage.addBenchmark(g,l),this.columnStorage.getBenchmarkData(g))))}return(0,Y.of)(this.columnStorage.getBenchmarkData(g))});return I.length?(0,G.p)(I):(0,Y.of)([])}fetchPortfolioPerformance(O){return this.dataService.fetchPortfolioSeries(Number(O))}fetchChartData(O,I,g){const p=O.replace("dflt-","");return this.dataService.fetchChartData(p,void 0,2,I,g)}flattenPortfolioPerf(O){return Object.entries(O.portfolio_performance).filter(([I,g])=>!I.endsWith("performance")).map(([I,g])=>{const p=Number(I);return g.filter(l=>null!==l).map((l,o)=>({date:Z()(new Date(p,o-1)).endOf("month").toISOString(),value:l}))}).flat()}static{this.\u0275fac=function(I){return new(I||u)(C.KVO(y.u),C.KVO(T.p),C.KVO(E.Q))}}static{this.\u0275prov=C.jDH({token:u,factory:u.\u0275fac})}}return u})()},38675:(_t,ut,f)=>{"use strict";f.d(ut,{H:()=>i});var t=f(54438),Z=f(84191),n=f(98504),G=f.n(n),C=f(36449),y=f.n(C),T=f(27468),E=f(88141),b=f(70980),v=f(42331),A=f(84480),h=f(76755),u=f(30382),c=f(71757),O=f(81958),I=f(90452),g=f(66157),p=f(69464),l=f(97144),o=f(64206);let i=(()=>{class e{constructor(){this.EXPORT_DATA_ID=h.m,this.LEGEND_ITEM_LENGTH=40,this.TOOLTIP_ITEM_LENGTH=20,this.exportingDisable=!1,this.hideCredits=!1,this.positiveColor=null,this.onlyCompareItself=!1,this.activeRange=5,this.activeRangeChange=new t.bkB,this.isBrowser=(0,t.WQX)(v.T).isBrowser,this.colorService=(0,t.WQX)(c.l),this.resizeService=(0,t.WQX)(A.cD),this.userService=(0,t.WQX)(O.D),this.lazyService=(0,t.WQX)(I.Z),this.dataService=(0,t.WQX)(g.u),this.localeService=(0,t.WQX)(p.i),this._cdr=(0,t.WQX)(t.gRc),this._destroy=(0,t.WQX)(t.abz),this.wms=[],this.wmPath="/assets/images/logo_grey_min.png",this.Highcharts=Z,y()(this.Highcharts
1),G()(this.Highcharts)}ngOnInit(){this.setHighchartsDefaults(),this.importChartFeatures()}ngOnChanges(a){this.commonChartOptions=(0,o.aQ)([this.basicOptions,this.watermarkOptions,this.rangeSelectorOptions,this.navigatorOptions]),a.percentageMode&&!a.percentageMode.firstChange&&this.toggleComparison()}get basicOptions(){return{title:{text:null},scrollbar:{enabled:!1},accessibility:{enabled:!1},chart:{style:{fontFamily:"Montserrat"},zooming:{mouseWheel:!1},animation:!1},credits:{enabled:!this.hideCredits,text:window.location.hostname,href:"",style:{color:this.colorService.GREY_DARK}},exporting:{enabled:!this.exportingDisable,url:`${l.c.APIHost}/chart-export/?ngsw-bypass=1`,printMaxWidth:780,allowHTML:!0,buttons:{contextButton:{align:"left",symbol:"url(/assets/icons/hc-exporting-button.svg)",symbolSize:24,symbolX:28,symbolY:28,height:30,width:30,y:-3}},chartOptions:{title:{align:"left",useHTML:!0,text:this.getExportingTitle(),style:{fontSize:"12px"}},subtitle:{align:"left",useHTML:!0,text:this.getExportingSubTitle(),style:{fontSize:"10px"}},rangeSelector:{enabled:!1}}},navigation:{menuStyle:{border:"0",minWidth:"200px","border-radius":"5px"},menuItemStyle:{fontWeight:"normal"},menuItemHoverStyle:{background:"white",fontWeight:"600",color:this.colorService.BLUE_MIDDLE}},legend:{itemStyle:{fontWeight:"normal"},navigation:{activeColor:this.colorService.BLUE_MIDDLE}},tooltip:{useHTML:!0,backgroundColor:"white",borderWidth:0,borderRadius:8},xAxis:{tickWidth:0,lineWidth:0,dateTimeLabelFormats:{month:"%b %y"},title:{text:null,margin:20,style:{color:this.colorService.GREY_DARK,fontWeight:"bold"}},labels:{style:{color:this.colorService.getColor("grey",500),fontSize:"10px"}}},yAxis:[{lineWidth:0,plotLines:[{value:0,width:1,color:this.colorService.GREY_LIGHT,zIndex:1}],title:{text:null,margin:20,style:{color:this.colorService.GREY_DARK,fontWeight:"bold"}},labels:{x:0,y:-5,align:"left",style:{color:this.colorService.getColor("grey",500),fontSize:"10px"},formatter:(0,o.C3)(this.percentageMode,this.onlyCompareItself)},opposite:!1,offset:0,startOnTick:!1,endOnTick:!1,showLastLabel:!0},{title:{text:null},labels:{x:0,y:-5,align:"left",style:{color:this.colorService.getColor("grey",500)}},opposite:!1,offset:0}]}}get watermarkOptions(){if(!this.withWatermark)return{};const a=this;return{chart:{events:{render(){a.overrideResponsiveWms||(this.chartWidth<A.su.md?(a.wmWidth=75,a.wmHeight=17):(a.wmWidth=195,a.wmHeight=45)),a.showWatermarks(a.renderWatermark(this))}}}}}get rangeSelectorOptions(){return{rangeSelector:{enabled:this.withRangeSelector,inputDateFormat:"%d %b %Y",inputBoxBorderColor:this.colorService.GREY_LIGHT,inputBoxWidth:100,inputStyle:{color:this.colorService.GREY_DARK},inputPosition:{align:"right",x:30,y:2},selected:void 0,buttonSpacing:8,buttonPosition:{align:"left",x:18},buttons:this.rangeSelectorButtons(),buttonTheme:{padding:12,height:1,width:"auto",fill:"white",stroke:this.colorService.BLUE_MIDDLE,"stroke-width":1,r:5,style:{color:this.colorService.BLUE_MIDDLE,fontSize:"10px"},states:{hover:{fill:this.colorService.BLUE_MIDDLE,style:{color:"white",fontWeight:"normal"}},disabled:{stroke:this.colorService.GREY_LIGHT},select:{fill:this.colorService.BLUE_MIDDLE,style:{color:"white",fontWeight:"normal"}}}}},responsive:{rules:[{condition:{maxWidth:A.su.md+80},chartOptions:{rangeSelector:{inputEnabled:!1,dropdown:"always",buttonPosition:{align:"right",x:0}}}}]}}}rangeSelectorButtons(){return[{type:"month",count:1,text:u.a.month_1},{type:"month",count:3,text:u.a.month_3},{type:"month",count:6,text:u.a.month_6},{type:"ytd",text:u.a.ytd},{type:"year",count:1,text:u.a.year_1},{type:"year",count:3,text:u.a.year_3},{type:"year",count:5,text:u.a.year_5},this.enableTenYearsButton?{type:"year",count:10,text:u.a.year_10}:null,{type:"all",text:u.a.max}].filter(d=>!!d)}get navigatorOptions(){return this.withNavigator?{navigator:{enabled:!0,outlineWidth:0,xAxis:{lineWidth:1,lineColor:new Z.Color(this.colorService.GREY_ULTRA_LIGHT).setOpacity(.5).get("rgba").toString(),gridLineColor:new Z.Color(this.colorService.GREY_LIGHT).setOpacity(.5).get("rgba").toString()},maskFill:{linearGradient:{x1:0,y1:1,x2:0,y2:0},stops:[[0,new Z.Color(this.colorService.BLUE_DARK).setOpacity(.2).get("rgba").toString()],[1,new Z.Color(this.colorService.BLUE_MIDDLE).setOpacity(0).get("rgba").toString()]]},handles:{width:14,height:14,symbols:["url(/assets/icons/hc-navigator-handle-left.svg)","url(/assets/icons/hc-navigator-handle-right.svg)"]},series:{color:this.colorService.BLUE_MIDDLE,fillColor:"transparent"}}}:{navigator:{enabled:!1}}}get commonAreaOptions(){return{rangeSelector:{selected:this.defaultRangeAll?this.rangeSelectorButtons().length-1:4},tooltip:{split:!0,useHTML:!0,headerFormat:'<span class="tp-date-label">{point.x:%d.%m.%Y}</span>'},plotOptions:{areaspline:{threshold:this.percentageMode?0:null,trackByArea:!1,stickyTracking:!0,compareStart:!0,dataGrouping:{enabled:!0},states:{hover:{halo:{attributes:{fill:this.colorService.GREY_MIDDLE}}}}},series:{lineWidth:1}}}}get commonLegendOptions(){const a=this;return{legend:{itemMarginBottom:7,maxHeight:115,margin:20,labelFormatter(){return this.name.length>a.LEGEND_ITEM_LENGTH?this.name.slice(0,a.LEGEND_ITEM_LENGTH)+"...":this.name}}}}get commonCustomRangeOptions(){const a=this,d=this.commonChartOptions.chart.events.render;return{chart:{events:{render(x){d.call(this,x),a.withRangeSelector&&setTimeout(()=>{const m=this.rangeSelector;m?.buttons?.forEach((_,S)=>{let P=0;S===a.activeRange?(P=2,m.hasVisibleDropdown&&(m.dropdown.options[S+1].selected=!0,_.attr("visibility","visible"),_.parentGroup.attr("translateX",_.parentGroup.attr("translateX")-_.attr("width")+100))):m.hasVisibleDropdown&&_.attr("visibility","hidden"),a.disabledRangeButtons?.includes(S)&&(P=3),_.setState(P)})})}}}}}isPositiveGrowth(a){const d=this.chartInstance.series[0].points,x=a.min,m=a.max;let _=0,S=0,P=!1,D=!1;for(let R=0;R<d.length;++R){const N=d[R].x,X=d[R].y;if(!P&&x<=N&&(P=!0,_=X),!D&&m<=N&&(D=!0,S=m===N?X:d[R-1]&&d[R-1].y||null),P&&D)break}return!D&&d.at(-1)&&(S=d.at(-1).y),S>=_}toggleComparison(){this.onlyCompareItself||(this.chartInstance.series[0].setCompare(this.percentageMode?"percent":"none"),this.chartInstance.series[1]?.setCompare(this.percentageMode?"percent":"none"))}getAreaColorOptions(a,d,x=null){if(d&&!this.percentageMode&&this.chartInstance){const _=(null===x?this.isPositiveGrowth(a):x)?this.getPositiveColor:this.getNegativeColor;return{plotOptions:{areaspline:{color:_,fillColor:this.getFillColor(_)},series:{marker:{lineColor:_}}}}}return{plotOptions:{areaspline:{color:this.getPositiveColor,fillColor:this.getFillColor(this.getPositiveColor),negativeColor:this.getNegativeColor,negativeFillColor:this.getFillColor(this.getNegativeColor)}}}}get getPositiveColor(){return this.positiveColor||this.colorService.GREEN_LIGHT}get getNegativeColor(){return this.positiveColor||this.colorService.RED_LIGHT}getExportingTitle(){return this.exportingTitle}getExportingSubTitle(){return this.exportingSubTitle}initChartInstance(a){this.chartInstance=a}setChartOptions(a){const d=this.user?.hasChartExportPermission?this.getExtraExportingOptions():{};this.chartOptions=(0,o.aQ)([a,d])}showWatermarks(...a){this.wms=this.wms.filter(d=>d.destroy()),this.wms.push(...a)}renderWatermark(a,d,x){return a.renderer.image(this.wmPath,d=d||a.plotLeft+a.plotWidth/2-this.wmWidth/2,x=x||a.plotTop+a.plotHeight/2-this.wmHeight/2,this.wmWidth,this.wmHeight).attr("opacity",.7).add()}getFillColor(a){return new Z.Color(a).setOpacity(.3).get().toString()}setHighchartsDefaults(){this.Highcharts.setOptions({lang:{numericSymbol
1s:[" Tsd."," Mio."," Mrd."," Bio."," Brd."," Trill."," Trd."],decimalPoint:",",thousandsSep:".",months:this.localeService.MONTHS,shortMonths:this.localeService.MONTHS_SHORT,weekdays:this.localeService.WEEKDAYS,rangeSelectorFrom:"Von",rangeSelectorTo:"Bis",rangeSelectorZoom:"",downloadPNG:"Download als PNG-Bild",downloadJPEG:"Download als JPEG-Bild",downloadPDF:"Download als PDF-Dokument",downloadSVG:"Download als SVG-Bild",printChart:"Diagramm drucken",viewFullscreen:"Im Vollbildmodus anzeigen",resetZoom:"Zoom zur\xFCcksetzen",resetZoomTitle:"Zoom zur\xFCcksetzen"}})}exportCSV(){this._exportCSV(this.chartInstance,this.chartOptions,this.EXPORT_DATA_ID)}exportXLS(){this._exportXLS(this.chartInstance,this.chartOptions,this.EXPORT_DATA_ID)}exportCSVPercentage(){this._exportCSVPercentage(this.chartInstance,this.chartOptions,this.EXPORT_DATA_ID)}exportXLSPercentage(){this._exportXLSPercentage(this.chartInstance,this.chartOptions,this.EXPORT_DATA_ID)}importChartFeatures(){this.userService.isLoggedIn?(0,T.p)([this.lazyService.loadModule("ChartAuthFeatures"),this.userService.getUser()]).pipe((0,E.M)(([a,d])=>{const x=a.instance.AuthFeatures;this.user=d,x.forEach(m=>{!m.hcFn||m.adminOnly&&!this.user?.hasChartExportPermission?this[m.name]=m.internalFn:m.hcFn(this.Highcharts)})}),(0,b.j)(()=>{this.userLoaded=!0,this._cdr.markForCheck()})).subscribe():this.userLoaded=!0}getExtraExportingOptions(){return{exporting:{menuItemDefinitions:{downloadCSV:{text:"Download CSV",onclick:()=>this.exportCSV()},downloadXLS:{text:"Download XLS",onclick:()=>this.exportXLS()},downloadCSVPercentage:{text:"Download CSV in %",onclick:()=>this.exportCSVPercentage()},downloadXLSPercentage:{text:"Download XLS in %",onclick:()=>this.exportXLSPercentage()}},buttons:{contextButton:{menuItems:["viewFullscreen","printChart","separator","downloadPNG","downloadJPEG","downloadPDF","downloadSVG","separator","downloadCSV","downloadXLS","downloadCSVPercentage","downloadXLSPercentage"]}}}}}static{this.\u0275fac=function(d){return new(d||e)}}static{this.\u0275dir=t.FsC({type:e,inputs:{seriesOptions:"seriesOptions",exportingDisable:"exportingDisable",exportingTitle:"exportingTitle",exportingSubTitle:"exportingSubTitle",hideCredits:"hideCredits",percentageMode:"percentageMode",withWatermark:"withWatermark",withRangeSelector:"withRangeSelector",withNavigator:"withNavigator",enableTenYearsButton:"enableTenYearsButton",positiveColor:"positiveColor",onlyCompareItself:"onlyCompareItself",defaultRangeAll:"defaultRangeAll",activeRange:"activeRange"},outputs:{activeRangeChange:"activeRangeChange"},features:[t.OA$]})}}return e})()},89005:(_t,ut,f)=>{"use strict";f.r(ut),f.d(ut,{ChartsModule:()=>m});var t=f(76755),p=(f(31014),f(20988),f(7687),f(21624),f(62930),f(52664),f(35458),f(55384),f(23732),f(78328),f(9142),f(75104),f(47820),f(6810),f(38675),f(64206),f(54438)),l=f(66046);f(31976);var e=f(18223),r=f(59075),a=f(69127),d=f(42331);let m=(()=>{class _{constructor(P){this.utils=P,this.utils.isBrowser&&(window.EXPORT_DATA_ID=t.m)}static{this.\u0275fac=function(D){return new(D||_)(p.KVO(d.T))}}static{this.\u0275mod=p.$C({type:_})}static{this.\u0275inj=p.G2t({providers:[r.u],imports:[l._,e.U,a.e]})}}return _})()},52664:(_t,ut,f)=>{"use strict";f.d(ut,{w:()=>y});var t=f(30382),Z=f(38675),Y=f(64206),n=f(84480),G=f(54438),C=f(66046);let y=(()=>{class T extends Z.H{constructor(){super(...arguments),this.xAxisMin=null,this.xAxisMax=null,this.yearMode=!1}ngOnChanges(b){super.ngOnChanges(b);const v=this.commonChartOptions;this.withRangeSelector&&(v.rangeSelector.buttons=v.rangeSelector.buttons.slice(1),this.yearMode&&(v.rangeSelector.buttons=v.rangeSelector.buttons.filter(A=>"month"!==A.type&&"ytd"!==A.type))),this.customButtons&&(v.rangeSelector.buttons=this.customButtons),this.setChartOptions((0,Y.aQ)([v,this.commonLegendOptions,this.defaultColumnOptions,this.seriesOptions])),this.chartInstance?.update(this.chartOptions,!0,!0),null!==this.xAxisMin&&null!==this.xAxisMax&&this.chartInstance?.xAxis[0].setExtremes(this.xAxisMin,this.xAxisMax)}get defaultColumnOptions(){return{rangeSelector:{inputEnabled:!1,selected:3},xAxis:{minRange:this.withRangeSelector?1e3:void 0},yAxis:[{title:null,plotLines:[{zIndex:5}],stackLabels:{borderColor:this.colorService.GREY_DARK,style:{fontSize:"10px",fontWeight:"bold",color:this.colorService.GREY_DARK}}}],tooltip:{distance:10},plotOptions:{column:{clip:!1,borderWidth:0,borderRadius:3,stacking:"normal",dataLabels:{color:"white",style:{textOutline:void 0}},events:{legendItemClick:()=>!1}}},responsive:{rules:[{condition:{maxWidth:n.su.md}
1,chartOptions:{yAxis:[{stackLabels:{style:{fontSize:"9px"}}}]}}]}}}rangeSelectorButtons(){return[{type:"month",count:1,text:t.a.month_1,offsetMin:2592e6},{type:"month",count:3,text:t.a.month_3,offsetMin:2592e6},{type:"month",count:6,text:t.a.month_6,offsetMin:2592e6},{type:"ytd",text:t.a.ytd,offsetMin:25884e5},{type:"year",count:1,text:t.a.year_1,offsetMin:2592e6},{type:"year",count:3,text:t.a.year_3,offsetMin:2592e6},{type:"year",count:5,text:t.a.year_5,offsetMin:2592e6},this.enableTenYearsButton?{type:"year",count:10,text:t.a.year_10}:null,{type:"all",text:t.a.max}].filter(b=>!!b)}static{this.\u0275fac=(()=>{let b;return function(A){return(b||(b=G.xGo(T)))(A||T)}})()}static{this.\u0275cmp=G.VBU({type:T,selectors:[["app-column-chart"]],inputs:{xAxisMin:"xAxisMin",xAxisMax:"xAxisMax",yearMode:"yearMode",customButtons:"customButtons"},features:[G.Vt3,G.OA$],decls:1,vars:2,consts:[[3,"chartInstance","Highcharts","options"]],template:function(v,A){1&v&&(G.j41(0,"highcharts-chart",0),G.bIt("chartInstance",function(u){return u&&(A.chartInstance=u)}),G.k0s()),2&v&&G.Y8G("Highcharts",A.Highcharts)("options",A.chartOptions)},dependencies:[C.H],encapsulation:2})}}return T})()},35458:(_t,ut,f)=>{"use strict";f.d(ut,{r:()=>O,Q:()=>I});const t=[{name:"ms_style_large_value",size:"Gro\xDF",sizeCased:"gro\xDFen",style:"Value"},{name:"ms_style_large_blend",size:"Gro\xDF",sizeCased:"gro\xDFen",style:"Blend"},{name:"ms_style_large_growth",size:"Gro\xDF",sizeCased:"gro\xDFen",style:"Growth"},{name:"ms_style_mid_value",size:"Mittel",sizeCased:"mittleren",style:"Value"},{name:"ms_style_mid_blend",size:"Mittel",sizeCased:"mittleren",style:"Blend"},{name:"ms_style_mid_growth",size:"Mittel",sizeCased:"mittleren",style:"Growth"},{name:"ms_style_small_value",size:"Klein",sizeCased:"kleinen",style:"Value"},{name:"ms_style_small_blend",size:"Klein",sizeCased:"kleinen",style:"Blend"},{name:"ms_style_small_growth",size:"Klein",sizeCased:"kleinen",style:"Growth"}],Z=[{name:"ms_style_hq_short",size:"Hoch",sizeCased:"guten",style:"Niedrig",styleCased:"niedrigen"},{name:"ms_style_hq_intermed",size:"Hoch",sizeCased:"guten",style:"Mittel",styleCased:"mittleren"},{name:"ms_style_hq_long",size:"Hoch",sizeCased:"guten",style:"Hoch",styleCased:"hohen"},{name:"ms_style_mq_short",size:"Mittel",sizeCased:"mittleren",style:"Niedrig",styleCased:"niedrigen"},{name:"ms_style_mq_intermed",size:"Mittel",sizeCased:"mittleren",style:"Mittel",styleCased:"mittleren"},{name:"ms_style_mq_long",size:"Mittel",sizeCased:"mittleren",style:"Hoch",styleCased:"hohen"},{name:"ms_style_lq_short",size:"Niedrig",sizeCased:"schwachen",style:"Niedrig",styleCased:"niedrigen"},{name:"ms_style_lq_intermed",size:"Niedrig",sizeCased:"schwachen",style:"Mittel",styleCased:"mittleren"},{name:"ms_style_lq_long",size:"Niedrig",sizeCased:"schwachen",style:"Hoch",styleCased:"hohen"}];var Y=f(31801),n=f(54438),G=f(60177),C=f(32817);const y=l=>({color:l});function T(l,o){if(1&l&&(n.j41(0,"span",17),n.EFF(1),n.nI1(2,"customPercentage"),n.k0s()),2&l){const i=o.$implicit;n.Aen("--bg-opacity: "+i.bgOpacity),n.Y8G("ngStyle",n.eq3(6,y,i.textColor)),n.R7$(),n.SpI(" ",n.bMT(2,4,i.value)," ")}}function E(l,o){if(1&l&&(n.j41(0,"div",18)(1,"div"),n.EFF(2),n.k0s(),n.j41(3,"div",19),n.EFF(4),n.nI1(5,"customPercentage"),n.k0s()()),2&l){const i=o.$implicit;n.R7$(2),n.JRh(i.name),n.R7$(2),n.JRh(n.bMT(5,2,i.subtotal))}}function b(l,o){if(1&l&&(n.j41(0,"div",20)(1,"div"),n.EFF(2),n.k0s(),n.j41(3,"div",19),n.EFF(4),n.nI1(5,"customPercentage"),n.k0s()()),2&l){const i=o.$implicit;n.R7$(2),n.JRh(i.name),n.R7$(2),n.JRh(n.bMT(5,2,i.subtotal))}}function v(l,o){1&l&&(n.qex(0),n.pXf(1,3),n.bVm())}function A(l,o){if(1&l&&(n.qex(0)(1),n.pXf(2,2),n.nI1(3,"customPercentage"),n.bVm(),n.DNE(4,v,2,0,"ng-container",21),n.bVm()),2&l){const i=n.XpG(2);n.R7$(3),n.uP7(n.bMT(3,4,i.maxValue.value))(i.maxValue.style)(i.maxValue.sizeCased),n.nnv(2),n.R7$(),n.Y8G("ngIf","Blend"===i.maxValue.style)}}function h(l,o){if(1&l&&(n.pXf(0,4),n.nI1(1,"customPercentage")),2&l){const i=n.XpG(2);n.R7$(),n.uP7(n.bMT(1,3,i.maxValue.value))(i.maxValue.sizeCased)(i.maxValue.styleCased),n.nnv(0)}}function u(l,o){if(1&l&&(n.qex(0),n.j41(1,"div",7)(2,"table")(3,"tbody")(4,"tr")(
15,"td")(6,"div",8),n.DNE(7,T,3,8,"span",9),n.k0s()(),n.j41(8,"td")(9,"div",10),n.DNE(10,E,6,4,"div",11),n.j41(11,"span",12),n.EFF(12),n.k0s()()()(),n.j41(13,"tr")(14,"td")(15,"div",13),n.DNE(16,b,6,4,"div",14),n.j41(17,"span",15),n.EFF(18),n.k0s()()()()()()(),n.j41(19,"div",16),n.DNE(20,A,5,6,"ng-container",6)(21,h,2,5,"ng-template",null,1,n.C5r),n.k0s(),n.bVm()),2&l){const i=n.sdS(22),e=n.XpG();n.R7$(7),n.Y8G("ngForOf",e.greyscale.values),n.R7$(3),n.Y8G("ngForOf",e.greyscale.rows),n.R7$(2),n.JRh(e.isStock?e.TEXTS.marketCap:e.TEXTS.creditworthiness),n.R7$(4),n.Y8G("ngForOf",e.greyscale.columns),n.R7$(2),n.JRh(e.isStock?e.TEXTS.stockStyle:e.TEXTS.interestSensitivity),n.R7$(2),n.Y8G("ngIf",e.isStock)("ngIfElse",i)}}function c(l,o){1&l&&(n.j41(0,"div",22),n.pXf(1,5),n.k0s())}let O=(()=>{class l{constructor(){this.TEXTS={marketCap:"Marktkapitalisierung",creditworthiness:"Bonit\xE4t",stockStyle:"Aktienstil",interestSensitivity:"Zinssensibilit\xE4t"}}ngOnChanges(){const{data:i,maxValue:e}=I(this.greyscaleValues,this.isStock,this.normalize);this.greyscale=i,this.maxValue=e}static{this.\u0275fac=function(e){return new(e||l)}}static{this.\u0275cmp=n.VBU({type:l,selectors:[["app-greyscale"]],inputs:{greyscaleValues:"greyscaleValues",isStock:"isStock",normalize:"normalize"},features:[n.OA$],decls:3,vars:2,consts:()=>{let i,e,r,a;return i=" Mit " + "\ufffd0\ufffd" + " bilden " + "\ufffd1\ufffd" + "-Aktien mit einer " + "\ufffd2\ufffd" + " Marktkapitalisierung den gr\xF6\xDFten Portfolio-Anteil. ",e=" Blend-Aktien sind eine Kombination von Value- und Growth-Aktien. ",r=" Mit " + "\ufffd0\ufffd" + " bilden Anleihen mit einer " + "\ufffd1\ufffd" + " Bonit\xE4t und einer " + "\ufffd2\ufffd" + " Zinssensibilit\xE4t den gr\xF6\xDFten Portfolioanteil. ",a=" Bitte beachte: Die Daten der Anlagestil Box sind unvollst\xE4ndig. ",[["incompleteGreyscale",""],["bondText",""],i,e,r,a,[4,"ngIf","ngIfElse"],[1,"d-flex","justify-content-center"],[1,"greyscale"],["class","s-cell",3,"ngStyle","style",4,"ngFor","ngForOf"],[1,"greyscale-side"],["class","s-cell ms-1",4,"ngFor","ngForOf"],[1,"s-cell","ms-2","vertical","head"],[1,"greyscale-bottom"],["class","s-cell mt-1",4,"ngFor","ngForOf"],[1,"s-cell","mt-2","head"],[1,"mt-3"],[1,"s-cell",3,"ngStyle"],[1,"s-cell","ms-1"],[1,"subtotal","ps-1"],[1,"s-cell","mt-1"],[4,"ngIf"],[1,"alert","alert-primary","text-center","mx-md-5"]]},template:function(e,r){if(1&e&&n.DNE(0,u,23,7,"ng-container",6)(1,c,2,0,"ng-template",null,0,n.C5r),2&e){const a=n.sdS(2);n.Y8G("ngIf",null==r.greyscale?null:r.greyscale.values.length)("ngIfElse",a)}},dependencies:[G.Sq,G.bT,G.B3,C.b3],styles:[".s-cell[_ngcontent-%COMP%]{flex:1 0 33%;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:.65rem}[class*=greyscale][_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.greyscale[_ngcontent-%COMP%]{width:165px}.greyscale[_ngcontent-%COMP%]   .s-cell[_ngcontent-%COMP%]{height:55px;border-left:1px solid #e5e5e5;border-top:1px solid #e5e5e5;background-color:rgba(33,150,243,var(--bg-opacity));transition:box-shadow ease-in .15s}.greyscale[_ngcontent-%COMP%]   .s-cell[_ngcontent-%COMP%]:nth-child(3n){border-right:1px solid #e5e5e5}.greyscale[_ngcontent-%COMP%]   .s-cell[_ngcontent-%COMP%]:nth-child(n+7){border-bottom:1px solid #e5e5e5}.greyscale[_ngcontent-%COMP%]   .s-cell[_ngcontent-%COMP%]:hover{box-shadow:0 4px 4px #0000001a,0 0 4px #0000001a,0 4px 8px #0000000d}.greyscale-side[_ngcontent-%COMP%]{flex-direction:column;height:165px}.greyscale-side[_ngcontent-%COMP%]   .s-cell[_ngcontent-%COMP%]{min-height:55px}.greyscale-side[_ngcontent-%COMP%]   .vertical[_ngcontent-%COMP%]{writing-mode:vertical-rl;text-orientation:sideways}.greyscale-bottom[_ngcontent-%COMP%]{width:165px}.greyscale-bottom[_ngcontent-%COMP%]   .s-cell[_ngcontent-%COMP%]{width:55px}.greyscale-bottom[_ngcontent-%COMP%]   .s-cell[_ngcontent-%COMP%]:not(.head), .greyscale-side[_ngcontent-%COMP%]   .s-cell[_ngcontent-%COMP%]:not(.head){color:#777}.greyscale-bottom[_ngcontent-%COMP%]   .subtotal[_ngcontent-%COMP%], .greyscale-bottom[_ngcontent-%COMP%]   .head[_ngcontent-%COMP%], .greyscale-side[_ngcontent-%COMP%]   .subtotal[_ngcontent-%COMP%], .greyscale-side[_ngcontent-%COMP%]   .head[_ngcontent-%COMP%]{font-weight:600}@media (min-width: 576px){.s-cell[_ngcontent-%COMP%]{font-size:.75rem}.greyscale[_ngcontent-%COMP%]{width:210px}.greyscale[_ngcontent-%COMP%]   .s-cell[_ngcontent-%COMP%]{height:70px}.greyscale-side[_ngcontent-%COMP%]{height:210px}.greyscale-side[_ngcontent-%COMP%]   .s-cell[_ngcontent-%COMP%]{min-height:70px}.greyscale-bottom[_ngcontent-%COMP%]{width:210px}.greyscale-bottom[_ngcontent-%COMP%]   .s-cell[_ngcontent-%COMP%]{width:70px}.subtotal[_ngcontent-%COMP%]{font-size:.75rem}}@media (min-width: 992px){.s-cell[_ngcontent-%COMP%]{font-size:.9rem}.greyscale[_ngcontent-%COMP%]{width:255px}.greyscale[_ngcontent-%COMP%]   .s-cell[_ngcontent-%COMP%]{height:85px}.greyscale-side[_ngcontent-%COMP%]{height:255px}.greyscale-side[_ngcontent-%COMP%]   .s-cell[_ngcontent-%COMP%]{min-height:85px}.greyscale-bottom[_ngcontent-%COMP%]{width:255px}.greyscale-bottom[_ngcontent-%COMP%]   .s-cell[_ngcontent-%COMP%]{width:85px}}"],changeDetection:0})}}return l})();function I(l,o,i){const e=(o?t:Z).map(S=>(S.value=l[S.name]||0,S));if(i){const S=e.reduce((P,D)=>P+D.value,0);e.forEach(P=>P.value=100*P.value/S)}const r=(0,Y.hy)(e),a=e.reduce((S,P)=>P.value<S.value?P:S),d=r.value-a.value,x=e.map(S=>{const P=S.value/d;return{value:S.value,bgOpacity:P,textColor:P>.65&&"white"}});return{data:{values:x,rows:[{subtotal:g(x,0),name:e[0].size},{subtotal:g(x,1),name:e[3].size},{subtotal:g(x,2),name:e[6].size}],columns:[{subtotal:p(x,0),name:e[0].style},{subtotal:p(x,1),name:e[1].style},{subtotal:p(x,2),name:e[2].style}]},maxValue:r}}function g(l,o){return l.filter((i,e)=>Math.floor(e/3)===o).reduce((i,e)=>i+e.value,0)}function p(l,o){return l.filter((i,e)=>e%3===o).reduce((i,e)=>i+e.value,0)}},55384:(_t,ut,f)=>{"use strict";f.d(ut,{G:()=>E});var t=f(59927),Z=f.n(t),Y=f(84480),n=f(38675),G=f(64206),C=f(81586),y=f(54438),T=f(66046);let E=(()=>
1{class b extends n.H{constructor(){super(),Z()(this.Highcharts)}ngOnChanges(A){super.ngOnChanges(A),this.setChartOptions((0,G.aQ)([this.commonChartOptions,this.defaultHeatOptions,this.seriesOptions]))}get defaultHeatOptions(){return{chart:{marginTop:40,marginBottom:80,height:35*this.seriesOptions.yAxis[0].categories.length+150},xAxis:{lineWidth:0},yAxis:[{gridLineWidth:0,plotLines:null,labels:{formatter:function(){return this.value.toString()},align:void 0,x:-10,y:3}}],colorAxis:{tickAmount:5,gridLineWidth:0,labels:{x:7,formatter(){return(0,C.jq)(this.value,2)},style:{fontSize:"9px",color:this.colorService.GREY_DARK}},stops:[[0,this.colorService.GREEN_LIGHT],[.5,"white"],[1,this.colorService.RED_LIGHT]]},legend:{align:"right",layout:"vertical",verticalAlign:"middle",symbolHeight:250,symbolWidth:4},plotOptions:{heatmap:{borderWidth:1,borderColor:this.colorService.GREY_ULTRA_LIGHT,states:{hover:{color:"#d5edff"}},dataLabels:{enabled:!0,style:{textOutline:void 0,fontWeight:"normal"},formatter(){return this.point.value===Number.EPSILON?"":(0,C.jq)(this.point.value,2)}}}},tooltip:{outside:!0,formatter(){const h=this.point.value;return h!==Number.EPSILON&&`<b>Tracking Difference: </b>\n<span class="tp-change-label arrow ${h>0?"minus":"plus down"}">${(0,C.jq)(this.point.value,2,h>0?"+":"","%")}</span><br>\n<span class="tp-date-label">${(0,C.i$)(this.point.custom.date)}</span>`}},responsive:{rules:[{condition:{maxWidth:Y.su.sm},chartOptions:{yAxis:[{labels:{enabled:!1}}],xAxis:{labels:{y:10,style:{fontSize:"8px"}}},colorAxis:{labels:{align:"center",x:0}},legend:{align:"center",layout:"horizontal",verticalAlign:"bottom",symbolHeight:4,symbolWidth:250},plotOptions:{heatmap:{dataLabels:{style:{fontSize:"8px"}}}}}}]}}}static{this.\u0275fac=function(h){return new(h||b)}}static{this.\u0275cmp=y.VBU({type:b,selectors:[["app-heat-map"]],features:[y.Vt3,y.OA$],decls:1,vars:2,consts:[[3,"Highcharts","options"]],template:function(h,u){1&h&&y.nrm(0,"highcharts-chart",0),2&h&&y.Y8G("Highcharts",u.Highcharts)("options",u.chartOptions)},dependencies:[T.H],encapsulation:2,changeDetection:0})}}return b})()},23732:(_t,ut,f)=>{"use strict";f.d(ut,{C:()=>e});var t=f(54438),Z=f(89079),Y=f(81586),n=f(64206),G=f(38675),C=f(84480),y=f(67374),T=f.n(y),E=f(25558),b=f(7673),v=f(88141),A=f(70980),h=f(96354),u=f(5964),c=f(77048),O=f(69076),I=f(66046),g=f(60177),p=f(83038);function l(r,a){1&r&&(t.j41(0,"div",2),t.nrm(1,"xetf-spinner",3),t.k0s()),2&r&&(t.R7$(),t.Y8G("size",30))}function o(r,a){if(1&r){const d=t.RV6();t.j41(0,"highcharts-chart",5),t.bIt("chartInstance",function(m){t.eBV(d);const _=t.XpG(2);return t.Njj(m&&_.initChartInstance(m))}),t.k0s()}if(2&r){const d=t.XpG(2);t.Y8G("Highcharts",d.Highcharts)("options",d.chartOptions)}}function i(r,a){if(1&r&&t.DNE(0,o,1,2,"highcharts-chart",4),2&r){const d=t.XpG();t.Y8G("ngIf",null==d.historicQuotes?null:d.historicQuotes.length)}}let e=(()=>{class r extends G.H{constructor(){super(),this.TRADE_HOURS_FROM=7,this.TRADE_HOURS_TO=23,this.tooltipDecimals=2,this.hasQuotes=new t.bkB,(0,O.A)(this.Highcharts),this.todayFormatted=this._today,this.weekAgoFormatted=this._weekAgo,this.lastQuoteDay=this._lastQuoteDay,this.isTodayWeekend=[0,6].includes(T()().day())}ngOnInit(){this.setHighchartsDefaults()}ngOnChanges(d){super.ngOnChanges(d),d.isin||d.currency||d.period?(this.resetData(),this.loading=!0,this.dailyLsQuotes$.pipe((0,E.n)(x=>x?.length>0?(this.todayQuotesAvailable=!0,(0,b.of)(x)):this.fetchDailyLsQuotes(this.lastQuoteDay,this.todayFormatted)),(0,v.M)(x=>{this.historicQuotes=x,this.hasQuotes.emit(!!x?.length),this.updateChart()}),(0,A.j)(()=>{this.loading=!1,this._cdr.markForCheck()})).subscribe()):this.updateChart()}updateChart(){this.setChartOptions((0,n.aQ)([this.commonChartOptions,this.commonAreaOptions,this.customAreaOptions])),this.chartInstance&&this.chartInstance.series?.length&&this.intradayMode&&(this.chartInstance.series[0].setData(this.historicQuotes,!0,!0),this.setDailyExtremes())}updateLastPoint(d){const x=this.chartInstance.series[0]?.points;x?.length&&x.at(-1).update({marker:d})}createDataPoint(d,x){return[new Date(d).getTime(),(0,Y.eB)(x)]}
1get dailyLsQuotes$(){let d,x;switch(this.period){case"today":switch(!0){case this.isTodayWeekend:case T()().hour()<this.TRADE_HOURS_FROM:this.intradayMode=!1,d=this.lastQuoteDay;break;case T()().hour()>=this.TRADE_HOURS_TO:this.intradayMode=!1,d=this.todayFormatted;break;default:this.intradayMode=!0,d=this.todayFormatted}x=(0,Y.i$)(T()(d).add(1,"day"),"iso");break;case"1w":d=this.weekAgoFormatted,x=(0,Y.i$)(T()(d).add(8,"day"),"iso")}return this.fetchDailyLsQuotes(d,x)}fetchDailyLsQuotes(d,x){return this.dataService.fetchQuotes(this.isin,this.currency,d,x,"today"===this.period?"5m":"1h").pipe((0,h.T)(_=>_.map(S=>this.createDataPoint(S.timestamp,S.mid)).sort((S,P)=>S[0]-P[0])))}initRealTimeQuotes(){this.realTimeQuote$?.pipe((0,u.p)(d=>!!d),(0,h.T)(d=>{const x=this.chartInstance?.series?.length&&this.chartInstance?.series[0].data.slice(-1)[0],m=T()(d.timestamp);if(this.chartInstance?.series&&d.isin===this.isin&&d.currency.toLowerCase()===this.currency?.toLowerCase()&&d.isLangSchwarz&&(!x||x.x<m.valueOf())&&m.isAfter(this.tradeDateFrom)&&m.isBefore(this.tradeDateTo)&&!this.isTodayWeekend){this.hasRealTimeQuotes=!0,this.addPointWithMarker(d),this.setDailyExtremes();const _=this.chartInstance?.xAxis[0].getExtremes(),P=this.getAreaColorOptions(_,!0,d.change?.yesterday?.mid?d.change?.yesterday?.mid?.abs>=0:null);let D={};this.intradayMode||(this.intradayMode=!0,D=this.customAreaOptions),this.chartInstance?.update((0,n.aQ)([D,P]),!0,!0)}}),(0,c.v)(()=>"today"===this.period),(0,Z.pQ)(this._destroy)).subscribe()}initChartInstance(d){super.initChartInstance(d);const x=this.historicQuotes?.length&&this.historicQuotes[0][0]||null,m={time:{timezoneOffset:x?new Date(x).getTimezoneOffset():void 0}},_=(0,n.aQ)([this.getAreaColorOptions(this.chartInstance.xAxis[0].getExtremes(),!0),m]);this.chartInstance.update(_),this.updateChart(),this.initRealTimeQuotes()}get customAreaOptions(){const d=this,x=this.hasRealTimeQuotes?this.tradeDateFrom:null,m=this.hasRealTimeQuotes?this.tradeDateTo:null;return{exporting:{enabled:!1},navigator:{enabled:!1},credits:{enabled:!1},series:[{data:this.historicQuotes||[],type:"areaspline"}],tooltip:{positioner:function(_,S,P){return{x:P.plotX+_>this.chart.plotWidth?P.plotX-_:P.plotX+20,y:10}},formatter(){const _=(0,Y.jq)(this.y,d.tooltipDecimals),S=new Intl.DateTimeFormat(d.localeService.locale,{day:"numeric",month:"2-digit",hour:"numeric",minute:"numeric"}).format(this.x);return "<b>Kurs: </b>" + _ + "<br>" + S + ""}},xAxis:{min:x,max:m,ordinal:"today"!==this.period,endOnTick:!1},yAxis:[{opposite:!0,labels:{align:"right"}}],plotOptions:{areaspline:{animation:!1}},responsive:{rules:[{condition:{maxWidth:C.su.sm},chartOptions:{yAxis:[{labels:{enabled:!1}}]}}]}}}get _lastQuoteDay(){let d;const _=T()().day();switch(!0){case 1===_:d=3;break;case 0===_:d=2;break;default:d=1}return(0,Y.i$)(T()().subtract(d,"day"),"iso")}get _today(){return(0,Y.i$)(T()(),"iso")}get _weekAgo(){return(0,Y.i$)(T()().subtract(1,"week"),"iso")}get tradeDateFrom(){return this.tradingDayFrom.setHours(this.TRADE_HOURS_FROM,0,0)}get tradeDateTo(){return this.tradingDayTo.setHours(this.TRADE_HOURS_TO,0,0)}get tradingDayFrom(){switch(this.period){case"today":return this.todayQuotesAvailable?new Date:new Date(this.lastQuoteDay);case"1w":return new Date(this.weekAgoFormatted)}}get tradingDayTo(){return this.todayQuotesAvailable?new Date:new Date(this.lastQuoteDay)}resetData(){this.todayQuotesAvailable=!1,this.intradayMode=!1}addPointWithMarker(d){const x=this.createDataPoint(d.timestamp,d.mid);this.updateLastPoint({enabled:!1}),this.chartInstance?.series[0]?.addPoint(x,!0,!1),this.updateLastPoint({enabled:!0,radius:5})}setDailyExtremes(){const d=this.todayQuotesAvailable?this.tradeDateFrom:this.historicQuotes[0][0],x=this.todayQuotesAvailable?this.tradeDateTo:this.historicQuotes.at(-1)[0];this.chartInstance?.xAxis[0].setExtremes(d,x)}static{this.\u0275fac=function(x){return new(x||r)}}static{this.\u0275cmp=t.VBU({type:r,selectors:[["app-intraday-chart"]],inputs:{realTimeQuote$:"realTimeQuote$",isin:"isin",tooltipDecimals:"tooltipDecimals",currency:"currency",investmentType:"investmentType",period:"period"},outputs:{hasQuotes:"hasQuotes"},features:[t.Vt3,t.OA$],decls:3,vars:2,consts:[["chartRef",""],["class","h-100 d-flex align-items-center justify-content-center",4,"ngIf","ngIfElse"],[1,"h-100","d-flex","align-items-center","justify-content-center"],["color","logo",3,"size"],["constructorType","stockChart",3,"Highcharts","options","chartInstance",4,"ngIf"],["constructorType","stockChart",3,"chartInstance","Highcharts","options"]],template:function(x,m){if(1&x&&t.DNE(0,l,2,1,"div",1)(1,i,1,1,"ng-template",null,0,t.C5r),2&x){const _=t.sdS(2);t.Y8G("ngIf",m.loading)("ngIfElse",_)}},dependencies:[I.H,g.bT,p.tI],encapsulation:2,changeDetection:0})}}return r})()},78328:(_t,ut,f)=>{"use strict";f.d(ut,{I:()=>c});var t=f(89079),Z=f(92241),Y=f(30382),n=f(64206),G=f(38675),C=f(81586),y=f(67374),T=f.n(y),E=f(5964),b=f(54438),v=f(66046),A=f(60177);function h(O,I){if(1&O){const g=b.RV6();b.j41(0,"highcharts-chart",2),b.bIt("chartInstance",function(l){b.eBV(g);const o=b.XpG();return b.Njj(l&&(o.chartInstance=l))}),b.k0s()}if(2&O){const g=b.XpG();
1b.Y8G("Highcharts",g.Highcharts)("options",g.chartOptions)}}function u(O,I){if(1&O&&(b.j41(0,"div"),b.nrm(1,"div",3),b.k0s()),2&O){const g=b.XpG();b.R7$(),b.Y8G("id",g.EXPORT_DATA_ID)}}let c=(()=>{class O extends G.H{constructor(){super(),this.COMMON_START_RANGE_BTN=this._rangeSelectorButtons?.length-1,this.TOOLTIP_SIZE_SERIES_AMOUNT_THRESHOLD=10,this.defaultRangeComparison=!1,this.customRange=null,this.getLineSerie=(g,p)=>({x:g[0],y:100*(g[1]/p[1]-1),custom:{actual:g[1]}}),this.percentageMode=!0,this.resizeService.breakpointBootstrap$.pipe((0,E.p)(()=>!this.seriesOptions?.tooltip),(0,t.pQ)(this._destroy)).subscribe(g=>{this.isMobile=!g.isMd,this.chartInstance?.update({tooltip:this.tooltipResponsiveOptions})})}ngOnChanges(g){super.ngOnChanges(g),this.normalizedSeriesOptions=this.normalizeSeriesOptions();const p=this.defaultLineOptions,l=this.chartInstance?.options.rangeSelector.selected===this.COMMON_START_RANGE_BTN||this.defaultRangeComparison;this.chartInstance&&!l&&delete p.rangeSelector.selected,this.setChartOptions((0,n.aQ)([this.commonChartOptions,this.commonLegendOptions,p,this.normalizedSeriesOptions]));const o=g.seriesOptions;if(this.chartInstance&&o){const i=o.previousValue.series,e=this.normalizedSeriesOptions.series;if(e.length>i.length){const r=i.map(d=>d?.id),a=e.find(d=>!r.includes(d?.id));this.chartInstance.addSeries(a)}else if(e.length<i.length){const r=e.map(d=>d?.id),a=i.find(d=>!r.includes(d?.id))?.id;this.chartInstance?.get(a)?.remove(!0,!0)}l&&this.chartInstance.xAxis[0].setExtremes(this.timestampFromCommonStartDate)}}get _rangeSelectorButtons(){const g=this.rangeSelectorButtons();return g.splice(7,0,{type:"day",count:this.daysFromCommonStartDate,text:Y.a.comparison}),g}get defaultLineOptions(){const g=this;let p=4;return this.defaultRangeComparison?p=this._rangeSelectorButtons.findIndex(o=>o.text===Y.a.comparison):this.defaultRangeAll?p=this.COMMON_START_RANGE_BTN:this.customRange&&(p=this.seriesOptions.rangeSelector.selected),{colors:this.colorService.COMPARISON_CHART_PALETTE,rangeSelector:{selected:p,buttons:this._rangeSelectorButtons},xAxis:{type:"datetime",ordinal:!1,crosshair:{width:1},events:{afterSetExtremes(){g.normalizedSeriesOptions=g.normalizeSeriesOptions(),this.chart.update({series:g.normalizedSeriesOptions.series},!0,!0)}}},plotOptions:{series:{states:{inactive:{opacity:1}}},line:{turboThreshold:0,dataGrouping:{enabled:!0},marker:{enabled:!1,symbol:"circle"}}},tooltip:this.tooltipResponsiveOptions}}get tooltipResponsiveOptions(){return this.isMobile?this.sharedTooltipOptions:this.splitTooltipOptions}get sharedTooltipOptions(){const g=this;return{shared:!0,split:!1,pointFormatter:void 0,formatter(){const p=`<span class="tp-date-label">${(0,C.i$)(this.x)}</span>`;return this.points.sort((o,i)=>i.point.y-o.point.y).map(o=>{let i=o.series.name;i.length>g.TOOLTIP_ITEM_LENGTH&&(i=i.slice(0,g.TOOLTIP_ITEM_LENGTH)+"...");const r=(0,C.jq)(o.point.y,1,o.point.y>0?"+":""," %");return`<span class="tp-point" style="color:${o.color}">\u25cf </span>\n<b>${i}: </b>\n<span class="tp-change-label arrow ${o.point.y>0?"plus":"minus down"}">${r}</span><br>`}).join("")+p}}}get splitTooltipOptions(){const g=this;return{shared:!1,split:!0,padding:this.normalizedSeriesOptions.series.length>this.TOOLTIP_SIZE_SERIES_AMOUNT_THRESHOLD?3:8,headerFormat:'<span class="tp-date-label">{point.x:%d.%m.%Y}</span>',formatter:void 0,pointFormatter:function(){const p=g.skipTooltipAbsoluteValues?"":(0,C.jq)(this.custom.actual,2),o=this.y>0?"plus":"minus down",i=(0,C.jq)(this.y,2,this.y>0?"+":""," %");return`<span class="tp-point" style="color:${this.color}">\u25cf </span>\n                        <b>${this.series.name}: </b>${p}\n                        <span class="tp-change-label arrow ${o}">${i}</span>`}}}normalizeSeriesOptions(){if(this.skipNormalization)return this.seriesOptions;const g=this.chartInstance?.xAxis[0].getExtremes(),p=T()((0,n.cE)(this.seriesOptions.series)),l=T()((0,n.fX)(this.seriesOptions.series));this.daysFromCommonStartDate=p.diff(l,"day"),this.timestampFromCommonStartDate=p.subtract(this.daysFromCommonStartDate,"day").valueOf();let o=l;if(!(g||this.defaultRangeAll||this.defaultRangeComparison||this.customRange)){const r=p.subtract(1,"year");r.isAfter(l)&&(o=r)}if(!g&&this.customRange){const a=this._rangeSelectorButtons.slice(0,7)[Z.D[this.customRange]];if("ytd"===this.customRange)o=T()(p).startOf("year");
1else if(a){const d=p.subtract(a.count,a.type);d.isAfter(l)&&(o=d)}}g?.userMin&&l.isBefore(g.userMin)&&(o=T()(g.userMin));let i=this.seriesOptions.series.filter(r=>!!r.data?.length);const e=this.getIntersectionTimestamps(i,o.valueOf());return i=i.map(r=>{const a=r.data.find(_=>_[0]>=o)||r.data[0],d=[];let x,m=!1;return r.data.forEach(_=>{if(x=_[1],_[0]<e[0]||_[0]>e.at(-1))d.push(this.getLineSerie(_,a));else if(!m){m=!0;let S=r.data;e.forEach(P=>{const D=S.findIndex(R=>R[0]===P);D>-1&&(x=S[D][1],S=S.slice(D+1)),d.push(this.getLineSerie([P,x],a))})}}),Object.assign({},r,{data:d})}),Object.assign({},this.seriesOptions,{series:i})}getIntersectionTimestamps(g,p){const l=[];return g.forEach(o=>{o.data.forEach(i=>{const e=i[0];e>=p&&!l.includes(e)&&l.push(e)})}),l.sort()}static{this.\u0275fac=function(p){return new(p||O)}}static{this.\u0275cmp=b.VBU({type:O,selectors:[["app-line-chart"]],inputs:{skipNormalization:"skipNormalization",skipTooltipAbsoluteValues:"skipTooltipAbsoluteValues",defaultRangeComparison:"defaultRangeComparison",customRange:"customRange"},features:[b.Vt3,b.OA$],decls:2,vars:2,consts:[[3,"Highcharts","options","chartInstance",4,"ngIf"],[4,"ngIf"],[3,"chartInstance","Highcharts","options"],[3,"id"]],template:function(p,l){1&p&&b.DNE(0,h,1,2,"highcharts-chart",0)(1,u,2,1,"div",1),2&p&&(b.Y8G("ngIf",l.userLoaded),b.R7$(),b.Y8G("ngIf",null==l.user?null:l.user.hasChartExportPermission))},dependencies:[v.H,A.bT],encapsulation:2,changeDetection:0})}}return O})()},9142:(_t,ut,f)=>{"use strict";f.d(ut,{W:()=>l});var t=f(54438),Z=f(30382),Y=f(81586),n=f(64206),G=f(38675),C=f(67374),y=f.n(C),T=f(66046),E=f(60177),b=f(83038),v=f(9351);function A(o,i){if(1&o&&(t.j41(0,"p"),t.PLo(1,0),t.nrm(2,"app-trend-label",7),t.YFu(),t.k0s()),2&o){const e=t.XpG(4);t.R7$(2),t.Y8G("value",null==e.maxDrawDown?null:e.maxDrawDown.value)("decimals",1),t.uP7(e.timeRangeName())(e.entityName)(null==e.maxDrawDown?null:e.maxDrawDown.date),t.nnv(1)}}function h(o,i){if(1&o&&(t.j41(0,"p"),t.PLo(1,1),t.nrm(2,"app-trend-label",7),t.YFu(),t.k0s()),2&o){const e=t.XpG(4);t.R7$(2),t.Y8G("value",null==e.maxDrawDown?null:e.maxDrawDown.value)("decimals",1),t.uP7(e.timeRangeName())(e.entityName)(null==e.maxDrawDown?null:e.maxDrawDown.date),t.nnv(1)}}function u(o,i){if(1&o&&(t.j41(0,"p"),t.PLo(1,2),t.nrm(2,"app-trend-label",7),t.YFu(),t.k0s()),2&o){const e=t.XpG(4);t.R7$(2),t.Y8G("value",null==e.maxDrawDown?null:e.maxDrawDown.value)("decimals",1),t.uP7(e.timeRangeName())(e.entityName)(null==e.maxDrawDown?null:e.maxDrawDown.date),t.nnv(1)}}function c(o,i){if(1&o&&t.DNE(0,A,3,5,"p")(1,h,3,5,"p")(2,u,3,5,"p"),2&o){const e=t.XpG(3);t.vxM("fund"===e.chartAssignment?0:"portfolio"===e.chartAssignment?1:2)}}function O(o,i){if(1&o){const e=t.RV6();t.qex(0),t.DNE(1,c,3,1),t.j41(2,"highcharts-chart",6),t.bIt("chartInstance",function(a){t.eBV(e);const d=t.XpG(2);return t.Njj(a&&d.initChartInstance(a))}),t.k0s(),t.bVm()}if(2&o){const e=t.XpG(2);t.R7$(),t.vxM(e.showDescription?1:-1),t.R7$(),t.Y8G("Highcharts",e.Highcharts)("options",e.chartOptions)}}function I(o,i){1&o&&(t.j41(0,"div",8),t.nrm(1,"xetf-icon",9),t.j41(2,"span",10),t.pXf(3,3),t.k0s()()),2&o&&(t.R
17$(),t.Y8G("name","infoCircle"))}function g(o,i){if(1&o&&(t.qex(0),t.DNE(1,O,3,3,"ng-container",4)(2,I,4,1,"div",5),t.bVm()),2&o){const e=t.XpG();t.R7$(),t.Y8G("ngIf",e.seriesOptions),t.R7$(),t.Y8G("ngIf",!e.hasData)}}function p(o,i){if(1&o&&(t.j41(0,"div"),t.nrm(1,"div",11),t.k0s()),2&o){const e=t.XpG();t.R7$(),t.Y8G("id",e.EXPORT_DATA_ID)}}let l=(()=>{class o extends G.H{constructor(){super(...arguments),this.chartAssignment="other",this.showDescription=!0,this.selectedRangeButton=(0,t.vPA)("max"),this.timeRangeName=(0,t.EWP)(()=>Z._[this.selectedRangeButton()]||Z._.default),this.findMaxValue=e=>Math.max(...e),this.calculateDrawDownsInPercentage=(e,r)=>r?100*(e/r-1):100,this.getMaxDrawDown=e=>e?.length?e.reduce((r,a)=>(a[1]<r[1]&&(r=a),r),e[0]):null}ngOnChanges(e){if(super.ngOnChanges(e),this.hasData=this.seriesOptions?.series?.length>0,this.hasData){this.series=this.seriesOptions.series.map(x=>x.data),this.minDate=Math.max(...this.series.map(x=>x[0][0])),this.maxDate=Math.min(...this.series.map(x=>x.at(-1)[0])),this.commonChartOptions=(0,n.aQ)([this.commonChartOptions,this.commonAreaOptions,this.defaultAreaOptions,this.seriesOptions]);const r=this.chartInstance?.xAxis?.length&&this.chartInstance.xAxis[0]?.getExtremes()||null,a=r?.min||this.minDate,d=r?.max||this.maxDate;this.series.forEach((x,m)=>{this.commonChartOptions.series[m].data=this.getFullDrawDownSeries(a,d,x,0===m)}),this.setChartOptions(this.commonChartOptions),this.chartInstance?.update(this.chartOptions,!0,!0)}}get defaultAreaOptions(){return{navigator:{enabled:!1},rangeSelector:{buttons:[{type:"month",count:1,text:Z.a.month_1,events:{click:()=>this.setRangeExtremes("month_1",30)}},{type:"month",count:3,text:Z.a.month_3,events:{click:()=>this.setRangeExtremes("month_3",90)}},{type:"month",count:6,text:Z.a.month_6,events:{click:()=>this.setRangeExtremes("month_6",180)}},{type:"ytd",text:Z.a.ytd,events:{click:()=>this.setRangeExtremes("ytd")}},{type:"year",count:1,text:Z.a.year_1,events:{click:()=>this.setRangeExtremes("year_1",365)}},{type:"year",count:3,text:Z.a.year_3,events:{click:()=>this.setRangeExtremes("year_3",1095)}},{type:"year",count:5,text:Z.a.year_5,events:{click:()=>this.setRangeExtremes("year_5",1825)}},{type:"year",count:10,text:Z.a.year_10,events:{click:()=>this.setRangeExtremes("year_10",3650)}},{type:"all",text:Z.a.max,events:{click:()=>this.setRangeExtremes("max")}}]},tooltip:{pointFormatter(){return`<b>${this.series.name}: </b>\n<span class="tp-change-label arrow ${this.y>0?"plus":"minus down"}">${(0,Y.jq)(this.y,1,this.y>0?"+":""," %")}</span>`}},plotOptions:{areaspline:{threshold:0,color:this.colorService.RED_LIGHT,fillColor:this.getFillColor(this.colorService.RED_LIGHT)}},xAxis:{events:{setExtremes:e=>{"rangeSelectorInput"===e.trigger&&(this.selectedRangeButton.set("datepicker"),this.updateSeries(e.min,e.max))}}},yAxis:[{labels:{formatter(){return this.value+" %"}}}]}}setRangeExtremes(e,r){let a;this.selectedRangeButton.set(e),"ytd"===e?a=y()(this.maxDate).startOf("year").valueOf():"max"===e?a=this.minDate:r&&(a=y()(this.maxDate).subtract(r,"days").valueOf()),a&&this.updateSeries(a,this.maxDate)}updateSeries(e,r){this.chartInstance&&(this.series.forEach((a,d)=>{const x=this.getFullDrawDownSeries(e,r,a,0===d);this.chartInstance.series[d].setData(x)}),this._cdr.markForCheck())}convertToDrawDownSeries(e){const r=e.map(m=>m[1]),a=this.getIndexedValues(r),d=a.map((m,_)=>{const S=a.slice(0,a.length>_&&_+1||_);return this.findMaxValue(S)});return a.map((m,_)=>this.calculateDrawDownsInPercentage(m,d[_])).map((m,_)=>[e[_][0],m])}getIndexedValues(e){if(!e?.length)return[];let r;const a=e.find((d,x)=>(r=x,d));return e.map((d,x)=>x>=r&&d/a*100||a)}getFullDrawDownSeries(e,r,a,d){const x=this.getMinIndex(e,a),m=this.getMaxIndex(r,a),_=a.slice(0,x),S=a.slice(x,m),P=a.slice(m),D=this.convertToDrawDownSeries(S),R=_.map(X=>[X[0],D[0][1]]),N=P.map(X=>[X[0],D.at(-1)[1]]);if(d){const[X,L]=this.getMaxDrawDown(D);this.maxDrawDown={date:(0,Y.i$)(X),value:L}}return[].concat(R,D,N)}getMinIndex(e,r){return r.findIndex(a=>a[0]>=e)}getMaxIndex(e,r){const a=[...r].reverse().findIndex(d=>
1d[0]<=e);return a>0?r.length:r.length-a}static{this.\u0275fac=(()=>{let e;return function(a){return(e||(e=t.xGo(o)))(a||o)}})()}static{this.\u0275cmp=t.VBU({type:o,selectors:[["app-max-drawdown-chart"]],inputs:{entityName:"entityName",chartAssignment:"chartAssignment",showDescription:"showDescription"},features:[t.Vt3,t.OA$],decls:2,vars:2,consts:()=>{let e,r,a,d;return e=" " + "\ufffd0\ufffd" + " betrug der Maximum Drawdown f\xFCr den " + "\ufffd1\ufffd" + " insgesamt " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + " am " + "\ufffd2\ufffd" + ". ",r=" " + "\ufffd0\ufffd" + " betrug der Maximum Drawdown f\xFCr das Portfolio " + "\ufffd1\ufffd" + " insgesamt " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + " am " + "\ufffd2\ufffd" + ". ",a=" " + "\ufffd0\ufffd" + " betrug der Maximum Drawdown f\xFCr " + "\ufffd1\ufffd" + " insgesamt " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + " am " + "\ufffd2\ufffd" + ". ",d="Es gibt keine ausreichende Historie.",[e,r,a,d,[4,"ngIf"],["class","alert alert-primary",4,"ngIf"],["constructorType","stockChart",2,"width","100%","height","400px","display","block",3,"chartInstance","Highcharts","options"],[3,"value","decimals"],[1,"alert","alert-primary"],[1,"alert-icon",3,"name"],[1,"fw-semibold"],[3,"id"]]},template:function(r,a){1&r&&t.DNE(0,g,3,2,"ng-container",4)(1,p,2,1,"div",4),2&r&&(t.Y8G("ngIf",a.userLoaded),t.R7$(),t.Y8G("ngIf",null==a.user?null:a.user.hasChartExportPermission))},dependencies:[T.H,E.bT,b.Rl,v.$],encapsulation:2,changeDetection:0})}}return o})()},76755:(_t,ut,f)=>{"use strict";f.d(ut,{m:()=>t});const t="export-data-container"},30382:(_t,ut,f)=>{"use strict";f.d(ut,{_:()=>t,a:()=>Z});const t={month_1:"In den letzten 30 Tagen",month_3:"In den letzten 3 Monaten",month_6:"In den letzten 6 Monaten",ytd:"Seit Jahresanfang",year_1:"Seit 1 Jahr",year_3:"Seit 3 Jahren",year_5:"Seit 5 Jahren",year_10:"Seit 10 Jahren",max:"Seit Auflage",default:"Im ausgew\xE4hlten Zeitraum",datepicker:"Im ausgew\xE4hlten Zeitraum",comparison:"",day_1:"",week_1:""},Z={day_1:"1T",week_1:"1W",month_1:"1M",month_3:"3M",month_6:"6M",ytd:"lfd. J",year_1:"1J",year_3:"3J",year_5:"5J",year_10:"10J",max:"Max",comparison:"Seit Vergleich",datepicker:"",default:""}},75104:(_t,ut,f)=>{"use strict";f.d(ut,{k:()=>C});var t=f(38675),Z=f(64206),Y=f(81586),n=f(54438),G=f(66046);let C=(()=>{class y extends t.H{constructor(){super(),this.wmWidth=75,this.wmHeight=17,this.overrideResponsiveWms=!0}ngOnChanges(E){super.ngOnChanges(E),this.setChartOptions((0,Z.aQ)([this.commonChartOptions,this.defaultPieOptions,this.seriesOptions]))}get defaultPieOptions(){const E={chart:{height:400},colors:this.colorService.COMPARISON_CHART_PALETTE,plotOptions:{pie:{borderWidth:0,borderRadius:0,innerSize:"40%",allowPointSelect:!0,showInLegend:!0,states:{hover:{halo:void 0}},point:{events:{click:()=>!1,legendItemClick:()=>!1}}}}};return this.disableDataLabels||(E.plotOptions.pie.dataLabels={enabled:!0,distance:"-30%",style:{textOutline:void 0,color:"white",opacity:.9},formatter(){return this.percentage>3?(0,Y.jq)(this.percentage,0,""," %"):""}}),E}static{this.\u0275fac=function(b){return new(b||y)}}static{this.\u0275cmp=n.VBU({type:y,selectors:[["app-pie-chart"]],inputs:{disableDataLabels:"disableDataLabels"},features:[n.Vt3,n.OA$],decls:1,vars:2,consts:[[3,"Highcharts","options"]],template:function(b,v){1&b&&n.nrm(0,"highcharts-chart",0),2&b&&n.Y8G("Highcharts",v.Highcharts)("options",v.chartOptions)},dependencies:[G.H],encapsulation:2,changeDetection:0})}}return y})()},47820:(_t,ut,f)=>{"use strict";f.d(ut,{H:()=>T});var t=f(38675),Z=f(64206),Y=f(69076),n=f(54438),G=f(66046),C=f(60177);function y(E,b){if(1&E){const v=n.RV6();n.j41(0,"highcharts-chart",1),n.bIt("chartInstance",function(h){n.eBV(v);const u=n.XpG();return n.Njj(h&&u.initChartInstance(h))}),n.k0s()}if(2&E){const v=n.XpG();n.Y8G("Highcharts",v.Highcharts)("options",v.chartOptions)}}let T=(()=>{class E extends t.H{set areaSeriesId(v){this.indicatorSeries=this.getDefaultIndicatorsOptions(v)}constructor(){super(),(0,Y.A)(this.Highcharts)}ngOnChanges(v){super.ngOnChanges(v);const A=this.commonAreaOptions;if(this.chartInstance&&delete A.rangeSelector.selected,this.setChartOptions((0,Z.aQ)([this.commonChartOptions,A,this.defaultOptions,this.seriesOptions])),this.percentageMode&&(this.indicators=[]),this.updateIndicators(),this.chartInstance?.xAxis?.at(0)){const h=this.chartInstance.xAxis[0].getExtremes();this.chartInstance.update(this.getAreaColorOptions(h,!0),!1)}v.seriesOptions?.currentValue?.series?.length!==v.seriesOptions?.previousValue?.series?.length&&this.chartInstance&&this.chartInstance.update(this.chartOptions,!0,!0,!0)}updateIndicators(){this.chartInstance&&(Object.values(this.indicatorSeries).forEac
1h(v=>this.chartInstance.get(v.id)?.remove(!0)),this.indicators.forEach(v=>this.chartInstance.addSeries(this.indicatorSeries[v.id])))}get defaultOptions(){const v={enabled:!0,firstAnchor:"start",lastAnchor:"end"},A=this;return{xAxis:[{events:{afterSetExtremes(h){A.chartInstance?.update(A.getAreaColorOptions(h,!0),!0,!0)}}}],yAxis:[{height:"70%",resize:{enabled:!0,lineColor:this.colorService.GREY_MIDDLE,lineWidth:2}},{top:"70%",height:"30%",labels:{style:{color:this.colorService.getColor("grey",500),fontSize:"10px"}}}],plotOptions:{candlestick:{lineColor:this.colorService.RED_LIGHT,upLineColor:this.colorService.GREEN_LIGHT,color:this.colorService.RED_LIGHT,upColor:this.colorService.GREEN_LIGHT,dataGrouping:{...v,approximation:"ohlc"}},line:{dataGrouping:{...v,approximation:"average"}},areaspline:{dataGrouping:{...v,approximation:"close"}},column:{dataGrouping:{...v,approximation:"average"}}}}}initChartInstance(v){if(super.initChartInstance(v),this.chartInstance?.xAxis?.at(0)){const A=this.chartInstance.xAxis[0].getExtremes();this.chartInstance.update(this.getAreaColorOptions(A,!0))}this.percentageMode&&this.toggleComparison()}getDefaultIndicatorsOptions(v){return{ema20:{type:"ema",id:"ema20Series",linkedTo:v,color:this.colorService.ORANGE_DARK,marker:{enabled:!1},dataGrouping:{enabled:!0},params:{period:20}},ema200:{type:"ema",id:"ema200Series",linkedTo:v,color:this.colorService.RED_LIGHT,marker:{enabled:!1},dataGrouping:{enabled:!0},params:{period:200}},macd:{type:"macd",id:"macdSeries",linkedTo:v,yAxis:1,color:this.colorService.GREEN_LIGHT,negativeColor:this.colorService.RED_LIGHT,macdLine:{styles:{lineColor:this.colorService.BLUE_MIDDLE}},signalLine:{styles:{lineColor:this.colorService.RED_LIGHT}},dataGrouping:{enabled:!0},params:{shortPeriod:12,longPeriod:26,signalPeriod:9,period:26}},bb:{type:"bb",id:"bbSeries",linkedTo:v,dataGrouping:{enabled:!0},dashStyle:"Dash",color:this.colorService.GREY_DARK,bottomLine:{styles:{lineColor:this.colorService.GREEN_LIGHT}},topLine:{styles:{lineColor:this.colorService.RED_LIGHT}}}}}static{this.\u0275fac=function(A){return new(A||E)}}static{this.\u0275cmp=n.VBU({type:E,selectors:[["app-price-volume-chart"]],inputs:{indicators:"indicators",areaSeriesId:"areaSeriesId"},features:[n.Vt3,n.OA$],decls:1,vars:1,consts:[["constructorType","stockChart","style","height: 600px",3,"Highcharts","options","chartInstance",4,"ngIf"],["constructorType","stockChart",2,"height","600px",3,"chartInstance","Highcharts","options"]],template:function(A,h){1&A&&n.DNE(0,y,1,2,"highcharts-chart",0),2&A&&n.Y8G("ngIf",h.userLoaded)},dependencies:[G.H,C.bT],encapsulation:2,changeDetection:0})}}return E})()},31976:(_t,ut,f)=>{"use strict";f.d(ut,{F:()=>_});var t=f(54438),Z=f(21413),Y=f(96354),n=f(4975),G=f(59075),C=f(69464),y=f(64206),T=f(42331),E=f(81586),b=f(73713),v=f(32817),A=f(67374),h=f.n(A),O=(f(51409),f(71757)
1),I=f(66157),g=f(94705),p=f(70715),l=f(60177),o=f(83038),i=f(31014);function e(S,P){if(1&S&&t.nrm(0,"app-area-chart",8),2&S){const D=t.XpG(2);t.Y8G("seriesOptions",D.seriesAreaOptions)("exportingTitle",D.exportingTitle)("withWatermark",!0)("withRangeSelector",!0)("percentageMode",!0)("decimals",D.needDecimals?2:0)("enableFlagsGrouping",!0)("defaultRangeAll",D.defaultRangeAll)("onlyCompareItself",!0)("enableTenYearsButton",!0)("areaSeriesId",D.AREA_SERIES_ID)}}function r(S,P){1&S&&(t.j41(0,"div",9),t.nrm(1,"xetf-icon",10),t.j41(2,"span",11),t.pXf(3,2),t.k0s()()),2&S&&(t.R7$(),t.Y8G("name","infoCircle"))}function a(S,P){if(1&S&&(t.qex(0),t.j41(1,"div",5),t.EFF(2),t.k0s(),t.DNE(3,e,1,11,"app-area-chart",6)(4,r,4,1,"div",7),t.bVm()),2&S){const D=t.XpG();t.R7$(2),t.SpI(" ",D.description," "),t.R7$(),t.Y8G("ngIf",D.seriesAreaOptions),t.R7$(),t.Y8G("ngIf",null===D.seriesAreaOptions&&null===D.seriesLineOptions)}}function d(S,P){1&S&&(t.j41(0,"div",13),t.nrm(1,"xetf-spinner",14),t.k0s()),2&S&&(t.R7$(),t.Y8G("color","logo")("size",30))}function x(S,P){if(1&S&&t.DNE(0,d,2,2,"div",12),2&S){const D=t.XpG(),R=t.sdS(4);t.Y8G("ngIf",!D.isError)("ngIfElse",R)}}function m(S,P){if(1&S&&(t.j41(0,"div",15)(1,"div",16)(2,"span",17),t.pXf(3,3),t.k0s()()()),2&S){const D=t.XpG();t.R7$(3),t.uP7(D.isin),t.nnv(3)}}let _=(()=>{class S{get description(){let D,R;const N=h()(this.maxValueDate).format("MMMM YYYY"),X=this.decimalNewPipe.transform((0,E.eB)(this.maxValue,2),2);switch(this.windowDays){case 30:D="1-Monats",R="dem vorangegangenen Monat";break;case 90:D="3-Monats",R="den vorangegangenen 3 Monaten";break;case 365:D="1-Jahres",R="dem vorangegangenen Jahr"}return "Hier siehst du die rollierende " + D + "-Volatilit\xE4t des " + this.name + ". Die h\xF6chste Volatilit\xE4t von " + X + "% erzielte der ETF im " + N + ", basierend auf " + R + "."}constructor(D,R,N,X,L,F){this.colorService=D,this.dataService=R,this.stockService=N,this.cryptoService=X,this.chartsService=L,this._cdr=F,this.isBrowser=(0,t.WQX)(T.T).isBrowser,this.localeService=(0,t.WQX)(C.i),this.AREA_SERIES_ID="kurs",this.TEXTS={withoutDistributions:"Kurs ohne Aussch\xFCttungen",pricePayment:"Kurs inkl. Aussch\xFCttung",benchmark:"Benchmark"},this.needDecimals=!0,this.percentageMode=!1,this.windowDays=30,this.isEtf=!1,this.hasData=new Z.B,this.hasSelectedData=new Z.B,this.areaChartByType={},this.benchmarkData=[],this.DATA_TYPE="trinav",this.CHART_TYPE="line",this.maxValue=0,this.isError=!1,this.decimalNewPipe=new v.gw,h().locale(this.localeService.locale)}ngOnChanges(D){this.isBrowser&&(D.isin||D.windowDays?this.getChartData().subscribe(R=>{const N=Object.keys(R).filter(X=>n.l.includes(X)&&R[X]?.length>0);this.hasData.next(N?.length>0),R[this.DATA_TYPE]=(0,b.b)(R[this.DATA_TYPE].map(X=>({dateTime:X[0],kurs:X[1]})),this.windowDays),this.maxValue=Math.max(...R[this.DATA_TYPE].map(([X,L])=>L)),this.maxValueDate=R[this.DATA_TYPE].find(([X,L])=>L===this.maxValue)[0],this.areaChartByType=R,this.updateChart()}):D.benchmarks&&!D.benchmarks.firstChange?this.chartsService.fetchBenchmarksData(this.benchmarks,this.startDate).subscribe(R=>{this.benchmarkData=R,this.updateChart()}):this.updateChart())}updateChart(){this.seriesAreaOptions=this.assembleAreaOptions(),this.exportingTitle=this.assembleExportingTitle(),this._cdr.markForCheck()}assembleExportingTitle(){return this.exportingTitle}assembleAreaOptions(){const D=this.assembleAreaSeries();if(!D)return null;const R=[D,this.assembleComparisonSeries()];return this.startDate=(0,y.fX)(R),{series:[...(0,y.DQ)(R),...this.assembleBenchmarkLineSeries()]}}assembleAreaSeries(){const D=this.areaChartByType[this.DATA_TYPE];return D?.length?{name:n.K[this.CHART_TYPE]||"Volatilit\xE4t",id:this.AREA_SERIES_ID,yAxis:0,data:D,type:"areaspline"}:null}assembleComparisonSeries(){return{tooltip:{pointFormatter(){const R=(0,E.jq)(this.y,2);return`<b>${this.series.name}: </b>${R}%`}},type:"line",name:this.inverseComparison?this.TEXTS.withoutDistributions:this.TEXTS.pricePayment,data:this.comparisonDataType?this.areaChartByType[this.comparisonDataType]:[],color:this.colorService.BLUE_MIDDLE}}assembleBenchmarkLineSeries(){return this.benchmarkData.map(D=>{const R=this.benchmarks.find(F=>F.id===D.id),N=G.u.getProperChartTypeForBenchmark(this.DATA_TYPE,this.CHART_TYPE,this.isEtf),X=Array.isArray(D.data)?D.data:D.data[N],L=R.description?` (${R.description})`:"";return{id:R.id,type:"line",data:(0,b.b)(X.map(F=>({dateTime:F[0],kurs:F[1]})),this.windowDays).filter(F=>F[0]>=this.startDate),name:`${this.TEXTS.benchmark}: ${R.name}${L}`}})}getChartData(){return["etf","fund"].includes(this.productType)?this.dataService.fetchChartData(this.isin,this.DATA_TYPE):"stock"===this.productType?this.stockService.fetchQuotes(this.isin).pipe((0,Y.T)(D=>({trinav:D.map(N=>[new Date(N.date).getTime(),N.price_last]).sort((N,X)=>N[0]-X[0])}))):"crypto"===this.productType?this.cryptoService.fetchDailyQuotes(this.isin).pipe((0,Y.T)(D=>({trinav:D.map(N=>[new Date(N.date).getTime(),N.price]).sort((N,X)=>N[0]-X[0])}))):void 0}static{this.\u0275fac=function(R){return new(R||S)(t.rXU(O.l),t.rXU(I.u),t.rXU(g.Q),t.rXU(p.j),t.rXU(G.u),t.rXU(t.gRc))}}static{this.\u0275cmp=t.VBU({type:S,selectors:[["app-profile-rolling-volatility"]],inputs:{defaultRangeAll:"defaultRangeAll",needDecimals:"needDecimals",percentageMode:"percentageMode",exportingTitle:"exportingTitle",windowDays:"windowDays",isin:"isin",productType:"productType",name:"name",benchmarks:"benchmarks",comparisonDataType:"comparisonDataType",needDistributions:"needDistributions",inverseComparison:"inverseComparison",isEtf:"isEtf"},outputs:{hasData:"hasData",hasSelectedData:"hasSelectedData"},features:[t.OA$],decls:5,vars:1,consts:()=>{let D,R;return D="Es gibt keine ausreichende Historie.",R="Ung\xFCltig ISIN " + "\ufffd0\ufffd" + "",[["loadingRef",""],["errorTemplate",""],D,R,[4,"ngIf"],[1,"mb-3"],[3,"seriesOptions","exportingTitle","withWatermark","withRangeSelector","percentageMode","decimals","enableFlagsGrouping","defaultRangeAll","onlyCompareItself","enableTenYearsButton","areaSeriesId",4,"ngIf"],["class","alert alert-primary",4,"ngIf"],[3,"seriesOptions","exportingTitle","withWatermark","withRangeSelector","percentageMode","decimals","enableFlagsGrouping","defaultRangeAll","onlyCompareItself","enableTenYearsButton","areaSeriesId"],[1,"alert","alert-primary"],[1,"alert-icon",3,"name"],[1,"fw-semibold"],["class","d-flex justify-content-center align-items-center my-3",4,"ngIf","ngIfElse"],[1,"d-flex","justify-content-center","align-items-center","my-3"],[3,"color","size"],[1,"alert","alert-primary","justify-content-center","m-0"],[1,"d-flex","flex-column","flex-xl-row","align-items-center"],[1,"text-center","mb-2","mb-xl-0","me-xl-3"]]},template:function(R,N){1&R&&t.DNE(0,a,5,3,"ng-container",4)(1,x,1,2,"ng-template",null,0,t.C5r)(3,m,4,1,"ng-template",null,1,t.C5r),2&R&&t.Y8G("ngIf",N.isBrowser)},dependencies:[l.bT,o.Rl,o.tI,i.X],styles:[".portfolio-chart[_ngcontent-%COMP%]{height:600px}@media (max-height: 600px){.portfolio-chart[_ngcontent-%COMP%]{height:400px}}"],changeDetection:0})}}return S})()},92241:(_t,ut,f)=>{"use strict";f.d(ut,{D:()=>t});var t=function(Z){return Z[Z.month_1=0]="month_1",Z[Z.month_3=1]="month_3",Z[Z.month_6=2]="month_6",Z[Z.ytd=3]="ytd",Z[Z.year_1=4]="year_1",Z[Z.year_3=5]="year_3",Z[Z.year_5=6]="year_5",Z[Z.comparison=7]="comparison",Z[Z.max=8]="max",Z}(t||{})},51407:(_t,ut,f)=>{"use strict";f.d(ut,{Q:()=>n});var t=f(60177),Z=f(68422),Y=f(97144);class n{constructor(C){Object.assign(this,C),this.isin=this.id,this.name=this.name||(new t.PV).transform(this.id
1),this.categories=this.categories.filter(y=>y),this.lastQuoteValue={eur:new Z.A(this.last_quote.eur),usd:new Z.A(this.last_quote.usd)}}get extraetfUrl(){return Y.c.APPHost+"/crypto-profile/"+this.id}}},70715:(_t,ut,f)=>{"use strict";f.d(ut,{j:()=>b});var t=f(21626),Z=f(99437),Y=f(7673),n=f(96354),G=f(99720),C=f(51407),y=f(24150),T=f(81586),E=f(54438);let b=(()=>{class v{constructor(h){this.http=h,this.LIMIT=2e5,this.DETAIL_RENTABLO_URL=u=>`/api-v2/coin/rentablo/${u}/`,this.DETAIL_URL=u=>`/api-v2/coin/${u}/`,this.FULL_SEARCH_URL="/api-v2/coin/search/full/",this.DAILY_QUOTES_URL=(u,c,O)=>`/api-v2/coin/chart/daily/?coin=${u}&currency=${c}&limit=${O}`}fetchCrypto(h){return this.http.get(this.DETAIL_URL(h)).pipe((0,Z.W)(()=>(0,Y.of)(null)),(0,n.T)(u=>u&&new C.Q(u)||null))}fetchCryptoByRentablo(h){return this.http.get(this.DETAIL_RENTABLO_URL(h)).pipe((0,Z.W)(()=>(0,Y.of)(null)),(0,n.T)(u=>u&&new C.Q(u)||null))}fetchDailyQuotes(h,u="eur",c=this.LIMIT){const O=this.DAILY_QUOTES_URL(h,u,c),I=(new t.Nl).set("ordering","-date");return this.http.get(O,{params:I}).pipe((0,n.T)(g=>new G.Z(g).getItems().map(l=>(l.dateTs=new Date(l.date).getTime(),l)).sort((l,o)=>l.dateTs-o.dateTs)||[]),(0,Z.W)(()=>(0,Y.of)([])))}getTotalAmount(){return this.http.get(this.FULL_SEARCH_URL).pipe((0,n.T)(h=>new G.Z(h,y.T).count))}fullSearch(h){const u=h.findIndex(O=>"isin"===O.key),c=h[u]?.value;return c&&(h.splice(u,1),h.push({key:"id",value:c})),this.http.get(this.FULL_SEARCH_URL,{params:(0,T.gS)(h)}).pipe((0,n.T)(O=>new G.Z(O,y.T)))}getChartExportingTitle(h){return`<span style="display: block">${h.name} (${h.symbol.toUpperCase()})</span>`}static{this.\u0275fac=function(u){return new(u||v)(E.KVO(t.Qq))}}static{this.\u0275prov=E.jDH({token:v,factory:v.\u0275fac,providedIn:"root"})}}return v})()},4975:(_t,ut,f)=>{"use strict";f.d(ut,{K:()=>Z,l:()=>t});const t=["nav","trinav","price","tri"],Z={aum:"Fondsvolumen",shares:"Fondsanteile"}},71757:(_t,ut,f)=>{"use strict";f.d(ut,{A:()=>n,l:()=>G});var t=f(54438),Z=f(42331);const Y=["orange","danger","violet","indigo","slate","blue","teal","green","warning","pink","purple","brown","primary","info","success","yellow"];function n(C,y=500){return{color:C,shade:y}}let G=(()=>{class C{constructor(T){this.utils=T,this.COMPARISON_CHART_PALETTE=this.getColorScheme(Y),this.ORANGE_DARK=this.getColor("orange",800),this.GREEN_LIGHT=this.getColor("success",700),this.RED_LIGHT=this.getColor("danger",700),this.GREY_ULTRA_LIGHT="#E0E0E0",this.GREY_LIGHT="#B0B0B0",this.GREY_MIDDLE=this.getColor("grey",400),this.GREY_DARK=this.getColor("grey",900),this.BLUE_LIGHT=this.getColor("primary",300),this.BLUE_MIDDLE=this.getColor("primary",500),this.BLUE_DARK=this.getColor("primary",700),this.TABLE_INFO_ROW="#F3F3F3",this.TABLE_INFO_ROW_BORDER=this.getColor("grey",300),this.TABLE_WARNING_ROW=this.getColor("warning",50),this.TABLE_WARNING_ROW_BORDER=this.getColor("warning",700),this.TABLE_OPTION_ROW=this.getColor("primary",50),this.TABLE_OPTION_ROW_BORDER=this.getColor("primary",700),this.CALCULATOR_COLORS={deposit:this.getColor("orange",700),withdrawal:this.getColor("purple",700),tax:this.getColor("pink",700),interest:this.getColor("info",700),startSum:this.getColor("slate",700),endSum:this.getColor("primary",500)}}getColor(T,E){return this.getCssVariable(`--color-${T}-${E}`)||"#000"}addOpacity(T,E){return E<0||E>1?T:(3===(T=T.replace("#","")).length&&(T=T.split("").map(A=>A+A).join("")),`#${T}${Math.round(255*E).toString(16).padStart(2,"0")}`)}getPaletteColor(T,E){return E>=0&&E<T.length?T[E]:T[E%T.length]}getColorScheme(T){return[700,500,300].flatMap(b=>T.map(v=>this.getColor(v,b)))}getCssVariable(T){return this.utils.isBrowser?getComputedStyle(this.utils.doc.documentElement)?.getPropertyValue(T)?.trim():""}static{this.\u0275fac=function(E){return new(E||C)(t.KVO(Z.T))}}static{this.\u0275prov=t.jDH({token:C,factory:C.\u0275fac,providedIn:"root"})}}return C})()},9351:(_t,ut,f)=>{"use strict";f.d(ut,{$:()=>n});var t=f(60177),Z=f(32817),Y=f(54438);let n=(()=>{class G{constructor(){this.decimals=2,this.suffix=" %"}static{this.\u0275fac=function(T){return new(T||G)}}static{this.\u0275cmp=Y.VBU({type:G,selectors:[["app-trend-label"]],inputs:{value:"value",decimals:"decimals",suffix:"suffix"},standalone:!0,features:[Y.aNF],decls:3,vars:7,consts:[[1,"tp-change-label","arrow",3,"ngClass"]],template:function(T,E){1&T&&(Y.j41(0,"span",0),Y.EFF(1),Y.nI1(2,"decimalNew"),Y.k0s()),2&T&&(Y.Y8G("ngClass",E.value>=0?"plus":"minus down"),Y.R7$(),Y.SpI(" ",(E.value>=0?"+":"")+Y.ii3(2,2,E.value,E.decimals,E.decimals,E.suffix),"\n"))},dependencies:[t.YU,Z.gw],styles:["[_nghost-%COMP%]{display:inline-block}"],changeDetection:0})}}return G})()},73713:(_t,ut,f)=>{"use strict";f.d(ut,{b:()=>Y});var t=f(67374),Z=f.n(t);function Y(n,G=252){const C=[...n].sort((E,b)=>Z()(E.dateTime).valueOf()-Z()(b.dateTime).valueOf()),y=[null];for(let E=1;E<C.length;E++)y.push(C[E].kurs/C[E-1].kurs-1);const T=[];for(let E=0;E<C.length;E++)if(E>=G){const b=y.slice(E-G+1,E+1).filter(c=>null!==c),v=b.reduce((c,O)=>c+O,0)/b.length,A=b.reduce((c,O)=>c+(O-v)**2,0)/(b.length-1),u=Math.sqrt(A)*Math.sqrt(G)*100;(T.length&&Number.isNaN(u)||!Number.isNaN(u))&&T.push([Z()(C[E].dateTime).startOf("day").valueOf(),Number.isNaN(u)?0:u])}return T}},69127:(_t,ut,f)=>{"use strict";f.d(ut,{e:()=>n});var t=f(18223),Z=f(72510),Y=f(54438);let n=(()=>{class G{static{this.\u0275fac=function(T){return new(T||G)}}static{this.\u0275mod=Y.$C({type:G})}static{this.\u0275inj=Y.G2t({imports:[t.U,Z.MQ,Z.MQ]})}}return G})()}
1,51409:function(_t,ut,f){_t.exports=function(t){"use strict";var Y=function Z(y){return y&&"object"==typeof y&&"default"in y?y:{default:y}}(t),n={s:"ein paar Sekunden",m:["eine Minute","einer Minute"],mm:"%d Minuten",h:["eine Stunde","einer Stunde"],hh:"%d Stunden",d:["ein Tag","einem Tag"],dd:["%d Tage","%d Tagen"],M:["ein Monat","einem Monat"],MM:["%d Monate","%d Monaten"],y:["ein Jahr","einem Jahr"],yy:["%d Jahre","%d Jahren"]};function G(y,T,E){var b=n[E];return Array.isArray(b)&&(b=b[T?0:1]),b.replace("%d",y)}var C={name:"de",weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.".split("_"),ordinal:function(y){return y+"."},weekStart:1,yearStart:4,formats:{LTS:"HH:mm:ss",LT:"HH:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},relativeTime:{future:"in %s",past:"vor %s",s:G,m:G,mm:G,h:G,hh:G,d:G,dd:G,M:G,MM:G,y:G,yy:G}};return Y.default.locale(C,null,!0),C}(f(67374))},98504:(_t,ut,f)=>{var t,Z,Y;Y=function(Y){"use strict";var n=Y?Y._modules:{};function G(C,y,T,E){C.hasOwnProperty(y)||(C[y]=E.apply(null,T),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:y,module:C[y]}})))}G(n,"Extensions/Pane.js",[n["Core/Chart/Chart.js"],n["Series/CenteredUtilities.js"],n["Core/Globals.js"],n["Core/Pointer.js"],n["Core/Utilities.js"]],function(C,y,T,E,b){let{addEvent:v,correctFloat:A,defined:h,extend:u,merge:c,pick:O,splat:I}=b;C.prototype.collectionsWithUpdate.push("pane");class g{constructor(o,i){this.background=void 0,this.center=void 0,this.chart=void 0,this.options=void 0,this.coll="pane",this.defaultOptions={center:["50%","50%"],size:"85%",innerSize:"0%",startAngle:0},this.defaultBackgroundOptions={shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"},this.init(o,i)}init(o,i){this.chart=i,this.background=[],i.pane.push(this),this.setOptions(o)}setOptions(o){this.options=o=c(this.defaultOptions,this.chart.angular?{background:{}}:void 0,o)}render(){let r,a,o=this.options,i=this.options.background;if(this.group||(this.group=this.chart.renderer.g("pane-group").attr({zIndex:o.zIndex||0}).add()),this.updateCenter(),i)for(a=0,r=Math.max((i=I(i)).length,this.background.length||0);a<r;a++)i[a]&&this.axis?this.renderBackground(c(this.defaultBackgroundOptions,i[a]),a):this.background[a]&&(this.background[a]=this.background[a].destroy(),this.background.splice(a,1))}renderBackground(o,i){let e="animate",r={class:"highcharts-pane "+(o.className||"")};this.chart.styledMode||u(r,{fill:o.backgroundColor,stroke:o.borderColor,"stroke-width":o.borderWidth}),this.background[i]||(this.background[i]=this.chart.renderer.path().add(this.group),e="attr"),this.background[i][e]({d:this.axis.getPlotBandPath(o.from,o.to,o)}).attr(r)}updateCenter(o){this.center=(o||this.axis||{}).center=y.getCenter.call(this)}update(o,i){c(!0,this.options,o),this.setOptions(this.options),this.render(),this.chart.axes.forEach(function(e){e.pane===this&&(e.pane=null,e.update({},i))},this)}}function p(l,o,i,e,r){let a=!0,d=i[0],x=i[1],m=Math.sqrt(Math.pow(l-d,2)+Math.pow(o-x,2));if(h(e)&&h(r)){let _=Math.atan2(A(o-x,8),A(l-d,8));r!==e&&(a=e>r?_>=e&&_<=Math.PI||_<=r&&_>=-Math.PI:_>=e&&_<=A(r,8))}return m<=Math.ceil(i[2]/2)&&a}return C.prototype.getHoverPane=function(l){let o,i=this;return l&&i.pane.forEach(e=>{p(l.chartX-i.plotLeft,l.chartY-i.plotTop,e.center)&&(o=e)}),o},v(C,"afterIsInsidePlot",function(l){this.polar&&(l.options.inverted&&([l.x,l.y]=[l.y,l.x]),l.isInsidePlot=this.pane.some(o=>p(l.x,l.y,o.center,o.axis&&o.axis.normalizedStartAngleRad,o.axis&&o.axis.normalizedEndAngleRad)))}),v(E,"beforeGetHoverData",function(l){let o=this.chart;o.polar?(o.hoverPane=o.getHoverPane(l),l.filter=function(i){return i.visible&&!(!l.shared&&i.directTouch)&&O(i.options.enableMouseTracking,!0)&&(!o.hoverPane||i.xAxis.pane===o.hoverPane)}):o.hoverPane=void 0}),v(E,"afterGetHoverData",function(l){let o=this.chart;l.hoverPoint&&l.hoverPoint.plotX&&l.hoverPoint.plotY&&o.hoverPane&&!p(l.hoverPoint.plotX,l.hoverPoint.plotY,o.hoverPane.center)&&(l.hoverPoint=void 0)}),T.Pane=g,g}),G(n,"Series/AreaRange/AreaRangePoint.js",[n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(C,y){let{area:{prototype:{pointClass:T,pointClass:{prototype:E}}}}=C.seriesTypes,{defined:b,isNumber:v}=y;return class extends T{constructor(){super(...arguments),this.high=void 0,this.low=void 0,this.options=void 0,this.plotX=void 0,this.series=void 0}setState(){let h=this.state,u=this.series,c=u.chart.polar;b(this.plotHigh)||(this.plotHigh=u.yAxis.toPixels(this.high,!0)),b(this.plotLow)||(this.plotLow=this.plotY=u.yAxis.toPixels(this.low,!0)),u.lowerStateMarkerGraphic=u.stateMarkerGraphic,u.stateMarkerGraphic=u.upperStateMarkerGraphic,this.graphic=this.graphics&&this.graphics[1],this.plotY=this.plotHigh,c&&v(this.plotHighX)&&(this.plotX=this.plotHighX),E.setState.apply(this,arguments),this.state=h,this.plotY=this.plotLow,this.graphic=this.graphics&&this.graphics[0],c&&v(this.plotLowX)&&(this.plotX=this.plotLowX),u.upperStateMarkerGraphic=u.stateMarkerGraphic,u.stateMarkerGraphic=u.lowerStateMarkerGraphic,u.lowerStateMarkerGraphic=void 0;let O=u.modifyMarkerSettings();E.setState.apply(this,arguments),u.restoreMarkerSettings(O)}haloPath(){let h=this.series.chart.polar,u=[];return this.plotY=this.plotLow,h&&v(this.plotLowX)&&(this.plotX=this.plotLowX),this.isInside&&(u=E.haloPath.apply(this,arguments)),this.plotY=this.plotHigh,h&&v(this.plotHighX)&&(this.plotX=this.plotHighX),this.isTopInside&&(u=u.concat(E.haloPath.apply(this,arguments))),u}isValid(){return v(this.low)&&v(this.high)}}}),G(n,"Series/AreaRange/AreaRangeSeries.js",[n["Series/AreaRange/AreaRangePoint.js"],n["Core/Globals.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(C,y,T,E){let{noop:b}=y,{area:v,area:{prototype:A},column:{prototype:h}}=T.seriesTypes,{addEvent:u,defined:c,extend:O,isArray:I,isNumber:g,pick:p,merge:l}=E;class o extends v{constructor(){super(...arguments),this.data=void 0,this.options=void 0,this.points=void 0,this.lowerStateMarkerGraphic=void 0,this.xAxis=void 0}toYData(e){return[e.low,e.high]}highToXY(e){let r=this.chart,a=this.xAxis.postTranslate(e.rectPlotX||0,this.yAxis.len-(e.plotHigh||
10));e.plotHighX=a.x-r.plotLeft,e.plotHigh=a.y-r.plotTop,e.plotLowX=e.plotX}getGraphPath(e){let P,D,R,r=[],a=[],d=A.getGraphPath,x=this.options,m=this.chart.polar,_=m&&!1!==x.connectEnds,S=x.connectNulls,N=x.step;for(P=(e=e||this.points).length;P--;){D=e[P];let $=m?{plotX:D.rectPlotX,plotY:D.yBottom,doCurve:!1}:{plotX:D.plotX,plotY:D.plotY,doCurve:!1};D.isNull||_||S||e[P+1]&&!e[P+1].isNull||a.push($),R={polarPlotY:D.polarPlotY,rectPlotX:D.rectPlotX,yBottom:D.yBottom,plotX:p(D.plotHighX,D.plotX),plotY:D.plotHigh,isNull:D.isNull},a.push(R),r.push(R),D.isNull||_||S||e[P-1]&&!e[P-1].isNull||a.push($)}let X=d.call(this,e);N&&(!0===N&&(N="left"),x.step={left:"right",center:"center",right:"left"}[N]);let L=d.call(this,r),F=d.call(this,a);x.step=N;let B=[].concat(X,L);return!this.chart.polar&&F[0]&&"M"===F[0][0]&&(F[0]=["L",F[0][1],F[0][2]]),this.graphPath=B,this.areaPath=X.concat(F),B.isArea=!0,B.xMap=X.xMap,this.areaPath.xMap=X.xMap,B}drawDataLabels(){let e,r,a,d,x,m=this.points,_=m.length,S=[],P=this.options.dataLabels,D=this.chart.inverted;if(P){if(I(P)?(d=P[0]||{enabled:!1},x=P[1]||{enabled:!1}):((d=O({},P)).x=P.xHigh,d.y=P.yHigh,(x=O({},P)).x=P.xLow,x.y=P.yLow),d.enabled||this.hasDataLabels?.()){for(e=_;e--;)if(r=m[e]){let{plotHigh:R=0,plotLow:N=0}=r;a=d.inside?R<N:R>N,r.y=r.high,r._plotY=r.plotY,r.plotY=R,S[e]=r.dataLabel,r.dataLabel=r.dataLabelUpper,r.below=a,D?d.align||(d.align=a?"right":"left"):d.verticalAlign||(d.verticalAlign=a?"top":"bottom")}for(this.options.dataLabels=d,A.drawDataLabels&&A.drawDataLabels.apply(this,arguments),e=_;e--;)(r=m[e])&&(r.dataLabelUpper=r.dataLabel,r.dataLabel=S[e],delete r.dataLabels,r.y=r.low,r.plotY=r._plotY)}if(x.enabled||this.hasDataLabels?.()){for(e=_;e--;)if(r=m[e]){let{plotHigh:R=0,plotLow:N=0}=r;a=x.inside?R<N:R>N,r.below=!a,D?x.align||(x.align=a?"left":"right"):x.verticalAlign||(x.verticalAlign=a?"bottom":"top")}this.options.dataLabels=x,A.drawDataLabels&&A.drawDataLabels.apply(this,arguments)}if(d.enabled)for(e=_;e--;)(r=m[e])&&(r.dataLabels=[r.dataLabelUpper,r.dataLabel].filter(function(R){return!!R}));this.options.dataLabels=P}}alignDataLabel(){h.alignDataLabel.apply(this,arguments)}modifyMarkerSettings(){let e={marker:this.options.marker,symbol:this.symbol};if(this.options.lowMarker){let{options:{marker:r,lowMarker:a}}=this;this.options.marker=l(r,a),a.symbol&&(this.symbol=a.symbol)}return e}restoreMarkerSettings(e){this.options.marker=e.marker,this.symbol=e.symbol}drawPoints(){let e,r,a=this.points.length,d=this.modifyMarkerSettings();for(A.drawPoints.apply(this,arguments),this.restoreMarkerSettings(d),e=0;e<a;)(r=this.points[e]).graphics=r.graphics||[],r.origProps={plotY:r.plotY,plotX:r.plotX,isInside:r.isInside,negative:r.negative,zone:r.zone,y:r.y},(r.graphic||r.graphics[0])&&(r.graphics[0]=r.graphic),r.graphic=r.graphics[1],r.plotY=r.plotHigh,c(r.plotHighX)&&(r.plotX=r.plotHighX),r.y=p(r.high,r.origProps.y),r.negative=r.y<(this.options.threshold||0),this.zones.length&&(r.zone=r.getZone()),this.chart.polar||(r.isInside=r.isTopInside=void 0!==r.plotY&&r.plotY>=0&&r.plotY<=this.yAxis.len&&r.plotX>=0&&r.plotX<=this.xAxis.len),e++;for(A.drawPoints.apply(this,arguments),e=0;e<a;)(r=this.points[e]).graphics=r.graphics||[],(r.graphic||r.graphics[1])&&(r.graphics[1]=r.graphic),r.graphic=r.graphics[0],r.origProps&&(O(r,r.origProps),delete r.origProps),e++}hasMarkerChanged(e,r){let a=e.lowMarker,d=r.lowMarker||{};return a&&(!1===a.enabled||d.symbol!==a.symbol||d.height!==a.height||d.width!==a.width)||super.hasMarkerChanged(e,r)}}return o.defaultOptions=l(v.defaultOptions,{lineWidth:1,threshold:null,tooltip:{pointFormat:'<span style="color:{series.color}">\u25cf</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}}),u(o,"afterTranslate",function(){"low,high"===this.pointArrayMap.join(",")&&this.points.forEach(i=>{let e=i.high,r=i.plotY;i.isNull?i.plotY=void 0:(i.plotLow=r,i.plotHigh=g(e)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(e):e,!1,!0,void 0,!0):void 0,this.dataModify&&(i.yBottom=i.plotHigh))})},{order:0}
1),u(o,"afterTranslate",function(){this.points.forEach(i=>{if(this.chart.polar)this.highToXY(i),i.plotLow=i.plotY,i.tooltipPos=[((i.plotHighX||0)+(i.plotLowX||0))/2,((i.plotHigh||0)+(i.plotLow||0))/2];else{let e=i.pos(!1,i.plotLow),r=i.pos(!1,i.plotHigh);e&&r&&(e[0]=(e[0]+r[0])/2,e[1]=(e[1]+r[1])/2),i.tooltipPos=e}})},{order:3}),O(o.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:C,pointValKey:"low",setStackedPoints:b}),T.registerSeriesType("arearange",o),o}),G(n,"Series/AreaSplineRange/AreaSplineRangeSeries.js",[n["Series/AreaRange/AreaRangeSeries.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(C,y,T){let{spline:{prototype:E}}=y.seriesTypes,{merge:b,extend:v}=T;class A extends C{constructor(){super(...arguments),this.options=void 0,this.data=void 0,this.points=void 0}}return A.defaultOptions=b(C.defaultOptions),v(A.prototype,{getPointSpline:E.getPointSpline}),y.registerSeriesType("areasplinerange",A),A}),G(n,"Series/BoxPlot/BoxPlotSeriesDefaults.js",[],function(){return{threshold:null,tooltip:{pointFormat:'<span style="color:{point.color}">\u25cf</span> <b>{series.name}</b><br/>Maximum: {point.high}<br/>Upper quartile: {point.q3}<br/>Median: {point.median}<br/>Lower quartile: {point.q1}<br/>Minimum: {point.low}<br/>'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2}}),G(n,"Series/BoxPlot/BoxPlotSeries.js",[n["Series/BoxPlot/BoxPlotSeriesDefaults.js"],n["Series/Column/ColumnSeries.js"],n["Core/Globals.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(C,y,T,E,b){let{noop:v}=T,{extend:A,merge:h,pick:u}=b;class c extends y{constructor(){super(...arguments),this.data=void 0,this.options=void 0,this.points=void 0}pointAttribs(){return{}}translate(){let I=this.yAxis,g=this.pointArrayMap;super.translate.apply(this),this.points.forEach(function(p){g.forEach(function(l){null!==p[l]&&(p[l+"Plot"]=I.translate(p[l],0,1,0,1))}),p.plotHigh=p.highPlot})}drawPoints(){let e,r,a,d,x,_,D,R,N,X,L,F,I=this.points,g=this.options,p=this.chart,l=p.renderer,o=!1!==this.doQuartiles,i=this.options.whiskerLength,S=0;for(let B of I){D=B.graphic;let $=D?"animate":"attr",tt=B.shapeArgs,J={},j={},W={},V={},et=B.color||this.color;if(void 0!==B.plotY){let H;R=Math.round(tt.width),X=(N=Math.floor(tt.x))+R,L=Math.round(R/2),e=Math.floor(o?B.q1Plot:B.lowPlot),r=Math.floor(o?B.q3Plot:B.lowPlot),a=Math.floor(B.highPlot),d=Math.floor(B.lowPlot),D||(B.graphic=D=l.g("point").add(this.group),B.stem=l.path().addClass("highcharts-boxplot-stem").add(D),i&&(B.whiskers=l.path().addClass("highcharts-boxplot-whisker").add(D)),o&&(B.box=l.path(void 0).addClass("highcharts-boxplot-box").add(D)),B.medianShape=l.path(void 0).addClass("highcharts-boxplot-median").add(D)),p.styledMode||(j.stroke=B.stemColor||g.stemColor||et,j["stroke-width"]=u(B.stemWidth,g.stemWidth,g.lineWidth),j.dashstyle=B.stemDashStyle||g.stemDashStyle||g.dashStyle,B.stem.attr(j),i&&(W.stroke=B.whiskerColor||g.whiskerColor||et,W["stroke-width"]=u(B.whiskerWidth,g.whiskerWidth,g.lineWidth),W.dashstyle=B.whiskerDashStyle||g.whiskerDashStyle||g.dashStyle,B.whiskers.attr(W)),o&&(J.fill=B.fillColor||g.fillColor||et,J.stroke=g.lineColor||et,J["stroke-width"]=g.lineWidth||0,J.dashstyle=B.boxDashStyle||g.boxDashStyle||g.dashStyle,B.box.attr(J)),V.stroke=B.medianColor||g.medianColor||et,V["stroke-width"]=u(B.medianWidth,g.medianWidth,g.lineWidth),V.dashstyle=B.medianDashStyle||g.medianDashStyle||g.dashStyle,B.medianShape.attr(V)),H=[["M",S=N+L+(_=B.stem.strokeWidth()%2/2),r],["L",S,a],["M",S,e],["L",S,d]],B.stem[$]({d:H}),o&&(e=Math.floor(e)+(_=B.box.strokeWidth()%2/2),r=Math.floor(r)+_,N+=_,X+=_,H=[["M",N,r],["L",N,e],["L",X,e],["L",X,r],["L",N,r],["Z"]],B.box[$]({d:H})),i&&(a+=_=B.whiskers.strokeWidth()%2/2,d+=_,H=[["M",S-(F=/%$/.test(i)?L*parseFloat(i)/100:i/2),a],["L",S+F,a],["M",S-F,d],["L",S+F,d]],B.whiskers[$]({d:H})),H=[["M",N,x=Math.round(B.medianPlot)+(_=B.medianShape.strokeWidth()%2/2)],["L",X,x]],B.medianShape[$]({d:H})}}}toYData(I){return[I.low,I.q1,I.median,I.q3,I.high]}}return c.defaultOptions=h(y.defaultOptions,C),A(c.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointV
1alKey:"high",drawDataLabels:v,setStackedPoints:v}),E.registerSeriesType("boxplot",c),c}),G(n,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),G(n,"Series/Bubble/BubbleLegendItem.js",[n["Core/Color/Color.js"],n["Core/Templating.js"],n["Core/Globals.js"],n["Core/Utilities.js"]],function(C,y,T,E){let{parse:b}=C,{noop:v}=T,{arrayMax:A,arrayMin:h,isNumber:u,merge:c,pick:O,stableSort:I}=E;return class{constructor(g,p){this.chart=void 0,this.legend=void 0,this.maxLabel=void 0,this.movementX=void 0,this.ranges=void 0,this.selected=void 0,this.visible=void 0,this.symbols=void 0,this.options=void 0,this.setState=v,this.init(g,p)}init(g,p){this.options=g,this.visible=!0,this.chart=p.chart,this.legend=p}addToLegend(g){g.splice(this.options.legendIndex,0,this)}drawLegendSymbol(g){let p,l=O(g.options.itemDistance,20),o=this.legendItem||{},i=this.options,e=i.ranges,r=i.connectorDistance;if(!e||!e.length||!u(e[0].value))return void(g.options.bubbleLegend.autoRanges=!0);I(e,function(m,_){return _.value-m.value}),this.ranges=e,this.setOptions(),this.render();let a=this.getMaxLabelSize(),d=this.ranges[0].radius,x=2*d;p=(p=r-d+a.width)>0?p:0,this.maxLabel=a,this.movementX="left"===i.labels.align?p:0,o.labelWidth=x+p+l,o.labelHeight=x+a.height/2}setOptions(){let g=this.ranges,p=this.options,l=this.chart.series[p.seriesIndex],o=this.legend.baseline,i={zIndex:p.zIndex,"stroke-width":p.borderWidth},e={zIndex:p.zIndex,"stroke-width":p.connectorWidth},r={align:this.legend.options.rtl||"left"===p.labels.align?"right":"left",zIndex:p.zIndex},a=l.options.marker.fillOpacity,d=this.chart.styledMode;g.forEach(function(x,m){d||(i.stroke=O(x.borderColor,p.borderColor,l.color),i.fill=O(x.color,p.color,1!==a?b(l.color).setOpacity(a).get("rgba"):l.color),e.stroke=O(x.connectorColor,p.connectorColor,l.color)),g[m].radius=this.getRangeRadius(x.value),g[m]=c(g[m],{center:g[0].radius-g[m].radius+o}),d||c(!0,g[m],{bubbleAttribs:c(i),connectorAttribs:c(e),labelAttribs:r})},this)}getRangeRadius(g){let p=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,p.ranges[p.ranges.length-1].value,p.ranges[0].value,p.minSize,p.maxSize,g)}render(){let g=this.legendItem||{},p=this.chart.renderer,l=this.options.zThreshold;for(let o of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),g.symbol=p.g("bubble-legend"),g.label=p.g("bubble-legend-item").css(this.legend.itemStyle||{}),g.symbol.translateX=0,g.symbol.translateY=0,g.symbol.add(g.label),g.label.add(g.group),this.ranges))o.value>=l&&this.renderRange(o);this.hideOverlappingLabels()}renderRange(g){let p=this.ranges[0],l=this.legend,o=this.options,i=o.labels,e=this.chart,r=e.series[o.seriesIndex],a=e.renderer,d=this.symbols,x=d.labels,m=g.center,_=Math.abs(g.radius),S=o.connectorDistance||0,P=i.align,N=o.connectorWidth,X=p.radius||0,L=m-_-o.borderWidth/2+N/2,F=(L%1?1:.5)-(N%2?0:.5),B=a.styledMode,$=l.options.rtl||"left"===P?-S:S;"center"===P&&($=0,o.connectorDistance=0,g.labelAttribs.align="center"),d.bubbleItems.push(a.circle(X,m+F,_).attr(B?{}:g.bubbleAttribs).addClass((B?"highcharts-color-"+r.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(o.className||"")).add(this.legendItem.symbol)),d.connectors.push(a.path(a.crispLine([["M",X,L],["L",X+$,L]],o.connectorWidth)).attr(B?{}:g.connectorAttribs).addClass((B?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(o.connectorClassName||"")).add(this.legendItem.symbol));let tt=a.text(this.formatLabel(g)).attr(B?{}:g.labelAttribs).css(B?{}:i.style).addClass("highcharts-bubble-legend-labels "+(o.labels.className||"")).add(this.legendItem.symbol),J={x:X+$+o.labels.x,y:L+o.labels.y+.4*tt.getBBox().height};tt.attr(J),x.push(tt),tt.placed=!0,tt.alignAttr=J}getMaxLabelSize(){let g,p;
1return this.symbols.labels.forEach(function(o){p=o.getBBox(!0),g=g?p.width>g.width?p:g:p}),g||{}}formatLabel(g){let p=this.options,l=p.labels.formatter,o=p.labels.format,{numberFormatter:i}=this.chart;return o?y.format(o,g):l?l.call(g):i(g.value,1)}hideOverlappingLabels(){let l=this.symbols;!this.options.labels.allowOverlap&&l&&(this.chart.hideOverlappingLabels(l.labels),l.labels.forEach(function(o,i){o.newOpacity?o.newOpacity!==o.oldOpacity&&l.connectors[i].show():l.connectors[i].hide()}))}getRanges(){let o,i,g=this.legend.bubbleLegend,l=g.options.ranges,e=Number.MAX_VALUE,r=-Number.MAX_VALUE;return g.chart.series.forEach(function(a){a.isBubble&&!a.ignoreSeries&&(i=a.zData.filter(u)).length&&(e=O(a.options.zMin,Math.min(e,Math.max(h(i),!1===a.options.displayNegative?a.options.zThreshold:-Number.MAX_VALUE))),r=O(a.options.zMax,Math.max(r,A(i))))}),o=e===r?[{value:r}]:[{value:e},{value:(e+r)/2},{value:r,autoRanges:!0}],l.length&&l[0].radius&&o.reverse(),o.forEach(function(a,d){l&&l[d]&&(o[d]=c(l[d],a))}),o}predictBubbleSizes(){let _,g=this.chart,p=g.legend.options,l=p.floating,o="horizontal"===p.layout,i=o?g.legend.lastLineHeight:0,e=g.plotSizeX,r=g.plotSizeY,a=g.series[this.options.seriesIndex],d=a.getPxExtremes(),x=Math.ceil(d.minPxSize),m=Math.ceil(d.maxPxSize),S=a.options.maxSize;return l||!/%$/.test(S)?_=m:(_=(Math.min(r,e)+i)*(S=parseFloat(S))/100/(S/100+1),(
1o&&r-_>=e||!o&&e-_>=r)&&(_=m)),[x,Math.ceil(_)]}updateRanges(g,p){let l=this.legend.options.bubbleLegend;l.minSize=g,l.maxSize=p,l.ranges=this.getRanges()}correctSizes(){let g=this.legend,o=this.chart.series[this.options.seriesIndex].getPxExtremes(),e=this.options.maxSize;Math.abs(Math.ceil(o.maxPxSize)-e)>1&&(this.updateRanges(this.options.minSize,o.maxPxSize),g.render())}}}),G(n,"Series/Bubble/BubbleLegendComposition.js",[n["Series/Bubble/BubbleLegendDefaults.js"],n["Series/Bubble/BubbleLegendItem.js"],n["Core/Defaults.js"],n["Core/Utilities.js"]],function(C,y,T,E){let{setOptions:b}=T,{addEvent:v,objectEach:A,wrap:h}=E,u=[];function c(o,i,e){let r,a,d,x=this.legend,m=O(this)>=0;x&&x.options.enabled&&x.bubbleLegend&&x.options.bubbleLegend.autoRanges&&m?(r=x.bubbleLegend.options,a=x.bubbleLegend.predictBubbleSizes(),x.bubbleLegend.updateRanges(a[0],a[1]),r.placed||(x.group.placed=!1,x.allItems.forEach(_=>{(d=_.legendItem||{}).group&&(d.group.translateY=void 0)})),x.render(),this.getMargins(),this.axes.forEach(function(_){_.visible&&_.render(),r.placed||(_.setScale(),_.updateNames(),A(_.ticks,function(S){S.isNew=!0,S.isNewLabel=!0}))}),r.placed=!0,this.getMargins(),o.call(this,i,e),x.bubbleLegend.correctSizes(),l(x,I(x))):(o.call(this,i,e),x&&x.options.enabled&&x.bubbleLegend&&(x.render(),l(x,I(x))))}function O(o){let i=o.series,e=0;for(;e<i.length;){if(i[e]&&i[e].isBubble&&i[e].visible&&i[e].zData.length)return e;e++}return-1}function I(o){let a,d,x,i=o.allItems,e=[],r=i.length,m=0,_=0;for(m=0;m<r;m++)if(d=i[m].legendItem||{},x=(i[m+1]||{}).legendItem||{},d.labelHeight&&(i[m].itemHeight=d.labelHeight),i[m]===i[r-1]||d.y!==x.y){for(e.push({height:0}),a=e[e.length-1];_<=m;_++)i[_].itemHeight>a.height&&(a.height=i[_].itemHeight);a.step=m}return e}function g(o){let i=this.bubbleLegend,e=this.options,r=e.bubbleLegend,a=O(this.chart);i&&i.ranges&&i.ranges.length&&(r.ranges.length&&(r.autoRanges=!!r.ranges[0].autoRanges),this.destroyItem(i)),a>=0&&e.enabled&&r.enabled&&(r.seriesIndex=a,this.bubbleLegend=new y(r,this),this.bubbleLegend.addToLegend(o.allItems))}function p(o){let i;if(o.defaultPrevented)return!1;let e=this.chart,r=this.visible,a=this.chart.legend;a&&a.bubbleLegend&&(this.visible=!r,this.ignoreSeries=r,i=O(e)>=0,a.bubbleLegend.visible!==i&&(a.update({bubbleLegend:{enabled:i}}),a.bubbleLegend.visible=i),this.visible=r)}function l(o,i){let a,d,x,m,r=o.options.rtl,_=0;o.allItems.forEach((S,P)=>{(m=S.legendItem||{}).group&&(a=m.group.translateX||0,d=m.y||0,((x=S.movementX)||r&&S.ranges)&&(x=r?a-S.options.maxSize/2:a+x,m.group.attr({translateX:x})),P>i[_].step&&_++,m.group.attr({translateY:Math.round(d+i[_].height/2)}),m.y=d+i[_].height/2)})}return{compose:function(o,i,e){E.pushUnique(u,o)&&(b({legend:{bubbleLegend:C}}),h(o.prototype,"drawChartBox",c)),E.pushUnique(u,i)&&v(i,"afterGetAllItems",g),E.pushUnique(u,e)&&v(e,"legendItemClick",p)}}}),G(n,"Series/Bubble/BubblePoint.js",[n["Core/Series/Point.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(C,y,T){let{seriesTypes:{scatter:{prototype:{pointClass:E}}}}=y,{extend:b}=T;class v extends E{constructor(){super(...arguments),this.options=void 0,this.series=void 0}haloPath(h){return C.prototype.haloPath.call(this,0===h?0:(this.marker&&this.marker.radius||0)+h)}}return b(v.prototype,{ttBelow:!1}),v}),G(n,"Series/Bubble/BubbleSeries.js",[n["Series/Bubble/BubbleLegendComposition.js"],n["Series/Bubble/BubblePoint.js"],n["Core/Color/Color.js"],n["Core/Globals.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(C,y,T,E,b,v){let{parse:A}=T,{noop:h}=E,{series:u,seriesTypes:{column:{prototype:c},scatter:O}}=b,{addEvent:I,arrayMax:g,arrayMin:p,clamp:l,extend:o,isNumber:i,merge:e,pick:r}=v,a=[];function d(){let L,m=this.len,_=this.isXAxis,S=_?"xData":"yData",P=this.min,D=this.max-P,R=0,N=m,X=m/D;this.series.forEach(F=>{if(F.bubblePadding&&F.reserveSpace()){this.allowZoomOutside=!0,L=!0;let B=F[S];if(_&&((F.onPoint||F).getRadii(0,0,F),F.onPoint&&(F.radii=F.onPoint.radii)),D>0){let $=B.length;for(;$--;)if(i(B[$])&&this.dataMin<=B[$]&&B[$]<=this.max){let tt=F.radii&&F.radii[$]||0;R=Math.min((B[$]-P)*X-tt,R),N=Math.max((B[$]-P)*X+tt,N)}}}}),L&&D>0&&!this.logarithmic&&(N-=m,X*=(m+Math.max(0,R)-Math.min(N,m))/m,[["min","userMin",R],["max","userMax",N]].forEac
1h(F=>{void 0===r(this.options[F[0]],this[F[1]])&&(this[F[0]]+=F[2]/X)}))}class x extends O{constructor(){super(...arguments),this.data=void 0,this.maxPxSize=void 0,this.minPxSize=void 0,this.options=void 0,this.points=void 0,this.radii=void 0,this.yData=void 0,this.zData=void 0}static compose(_,S,P,D){C.compose(S,P,D),v.pushUnique(a,_)&&(_.prototype.beforePadding=d)}animate(_){!_&&this.points.length<this.options.animationLimit&&this.points.forEach(function(S){let{graphic:P}=S;P&&P.width&&(this.hasRendered||P.attr({x:S.plotX,y:S.plotY,width:1,height:1}),P.animate(this.markerAttribs(S),this.options.animation))},this)}getRadii(){let D,R,N,_=this.zData,S=this.yData,P=[],X=this.chart.bubbleZExtremes,{minPxSize:L,maxPxSize:F}=this.getPxExtremes();if(!X){let B,$=Number.MAX_VALUE,tt=-Number.MAX_VALUE;this.chart.series.forEach(J=>{if(J.bubblePadding&&J.reserveSpace()){let j=(J.onPoint||J).getZExtremes();j&&($=Math.min(r($,j.zMin),j.zMin),tt=Math.max(r(tt,j.zMax),j.zMax),B=!0)}}),B?(X={zMin:$,zMax:tt},this.chart.bubbleZExtremes=X):X={zMin:0,zMax:0}}for(R=0,D=_.length;R<D;R++)N=_[R],P.push(this.getRadius(X.zMin,X.zMax,L,F,N,S&&S[R]));this.radii=P}getRadius(_,S,P,D,R,N){let X=this.options,L="width"!==X.sizeBy,F=X.zThreshold,B=S-_,$=.5;if(null===N||null===R)return null;if(i(R)){if(X.sizeByAbsoluteValue&&(R=Math.abs(R-F),S=B=Math.max(S-F,Math.abs(_-F)),_=0),R<_)return P/2-1;B>0&&($=(R-_)/B)}return L&&$>=0&&($=Math.sqrt($)),Math.ceil(P+$*(D-P))/2}hasData(){return!!this.processedXData.length}pointAttribs(_,S){let D=this.options.marker.fillOpacity,R=u.prototype.pointAttribs.call(this,_,S);return 1!==D&&(R.fill=A(R.fill).setOpacity(D).get("rgba")),R}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:_,options:S,radii:P}=this,{minPxSize:D}=this.getPxExtremes(),R=_.length;for(;R--;){let N=_[R],X=P?P[R]:0;"z"===this.zoneAxis&&(N.negative=(N.z||0)<(S.zThreshold||0)),i(X)&&X>=D/2?(N.marker=o(N.marker,{radius:X,width:2*X,height:2*X}),N.dlBox={x:N.plotX-X,y:N.plotY-X,width:2*X,height:2*X}):(N.shapeArgs=N.plotY=N.dlBox=void 0,N.isInside=!1)}}getPxExtremes(){let _=Math.min(this.chart.plotWidth,this.chart.plotHeight),S=R=>{let N;return"string"==typeof R&&(N=/%$/.test(R),R=parseInt(R,10)),N?_*R/100:R},P=S(r(this.options.minSize,8));return{minPxSize:P,maxPxSize:Math.max(S(r(this.options.maxSize,"20%")),P)}}getZExtremes(){let _=this.options,S=(this.zData||[]).filter(i);if(S.length){let P=r(_.zMin,l(p(S),!1===_.displayNegative?_.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),D=r(_.zMax,g(S));if(i(P)&&i(D))return{zMin:P,zMax:D}}}}return x.defaultOptions=e(O.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:m}=this.series.chart,{z:_}=this.point;return i(_)?m(_,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),o(x.prototype,{alignDataLabel:c.alignDataLabel,applyZones:h,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:y,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),I(x,"updatedData",m=>{delete m.target.chart.bubbleZExtremes}),I(x,"remove",m=>{delete m.target.chart.bubbleZExtremes}),b.registerSeriesType("bubble",x),x}),G(n,"Series/ColumnRange/ColumnRangePoint.js",[n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(C,y){let{seriesTypes:{column:{prototype:{pointClass:{prototype:T}}},arearange:{prototype:{pointClass:E}}}}=C,{extend:b,isNumber:v}=y;class A extends E{constructor(){super(...arguments),this.options=void 0,this.series=void 0}isValid(){return v(this.low)}}return b(A.prototype,{setState:T.setState}),A}),G(n,"Series/ColumnRange/ColumnRangeSeries.js",[n["Series/ColumnRange/ColumnRangePoint.js"],n["Core/Globals.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(C,y,T,E){let{noop:b}=y,{seriesTypes:{arearange:v,column:A,column:{prototype:h}}}=T,{addEvent:u,clamp:c,extend:O,isNumber:I,merge:g,pick:p}=E;class l extends v{setOptions(){return g(!0,arguments[0],{stacking:void 0}),v.prototype.setOptions.apply(this,arguments)}translate(){return h.translate.apply(this)}pointAttribs(){return h.pointAttribs.apply(this,arguments)}translate3dPoints(){return h.translate3dPoints.apply(this,arguments)}translate3dShapes(){return h.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){let i,e,r,a,d=this.yAxis,x=this.xAxis,m=x.startAngleRad,_=this.chart,S=this.xAxis.isRadial,P=M
1ath.max(_.chartWidth,_.chartHeight)+999;this.points.forEach(D=>{let R=D.shapeArgs||{},N=this.options.minPointLength,X=D.plotY,L=d.translate(D.high,0,1,0,1);if(I(L)&&I(X))if(D.plotHigh=c(L,-P,P),D.plotLow=c(X,-P,P),a=D.plotHigh,Math.abs(i=p(D.rectPlotY,D.plotY)-D.plotHigh)<N?(e=N-i,i+=e,a-=e/2):i<0&&(i*=-1,a-=i),S&&this.polar)r=D.barX+m,D.shapeType="arc",D.shapeArgs=this.polar.arc(a+i,a,r,r+D.pointWidth);else{R.height=i,R.y=a;let{x:F=0,width:B=0}=R;D.shapeArgs=g(D.shapeArgs,this.crispCol(F,a,B,i)),D.tooltipPos=_.inverted?[d.len+d.pos-_.plotLeft-a-i/2,x.len+x.pos-_.plotTop-F-B/2,i]:[x.left-_.plotLeft+F+B/2,d.pos-_.plotTop+a+i/2,i]}})}}return l.defaultOptions=g(A.defaultOptions,v.defaultOptions,{borderRadius:{where:"all"},pointRange:null,marker:null,states:{hover:{halo:!1}}}),u(l,"afterColumnTranslate",function(){l.prototype.afterColumnTranslate.apply(this)},{order:5}),O(l.prototype,{directTouch:!0,pointClass:C,trackerGroups:["group","dataLabelsGroup"],adjustForMissingColumns:h.adjustForMissingColumns,animate:h.animate,crispCol:h.crispCol,drawGraph:b,drawPoints:h.drawPoints,getSymbol:b,drawTracker:h.drawTracker,getColumnMetrics:h.getColumnMetrics}),T.registerSeriesType("columnrange",l),l}),G(n,"Series/ColumnPyramid/ColumnPyramidSeriesDefaults.js",[],function(){return{}}),G(n,"Series/ColumnPyramid/ColumnPyramidSeries.js",[n["Series/ColumnPyramid/ColumnPyramidSeriesDefaults.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(C,y,T){let{column:E}=y.seriesTypes,{clamp:b,merge:v,pick:A}=T;
1class h extends E{constructor(){super(...arguments),this.data=void 0,this.options=void 0,this.points=void 0}translate(){let c=this.chart,O=this.options,I=this.dense=this.closestPointRange*this.xAxis.transA<2,g=this.borderWidth=A(O.borderWidth,I?0:1),p=this.yAxis,l=O.threshold,o=A(O.minPointLength,5),i=this.getColumnMetrics(),e=i.width,r=this.pointXOffset=i.offset,a=this.translatedThreshold=p.getThreshold(l),d=this.barW=Math.max(e,1+2*g);for(let x of(c.inverted&&(a-=.5),O.pointPadding&&(d=Math.ceil(d)),super.translate(),this.points)){let X,L,F,B,$,tt,J,j,W,V,et,H,m=A(x.yBottom,a),_=999+Math.abs(m),S=b(x.plotY,-_,p.len+_),P=d/2,D=Math.min(S,m),R=Math.max(S,m)-D,N=x.plotX+r;O.centerInCategory&&(N=this.adjustForMissingColumns(N,e,x,i)),x.barX=N,x.pointWidth=e,x.tooltipPos=c.inverted?[p.len+p.pos-c.plotLeft-S,this.xAxis.len-N-P,R]:[N+P,S+p.pos-c.plotTop,R],X=l+(x.total||x.y),"percent"===O.stacking&&(X=l+(x.y<0)?-100:100),F=p.toPixels(X,!0),B=(L=c.plotHeight-F-(c.plotHeight-a))?P*(D-F)/L:0,$=L?P*(D+R-F)/L:0,J=N-B+P,j=N+B+P,W=N+$+P,V=N-$+P,et=D-o,H=D+R,x.y<0&&(et=D,H=D+R+o),c.inverted&&(tt=p.width-D,L=F-(p.width-a),B=P*(F-tt)/L,$=P*(F-(tt-R))/L,j=(J=N+P+B)-2*B,W=N-$+P,V=N+$+P,et=D,H=D+R-o,x.y<0&&(H=D+R+o)),x.shapeType="path",x.shapeArgs={x:J,y:et,width:j-J,height:R,d:[["M",J,et],["L",j,et],["L",W,H],["L",V,H],["Z"]]}}}}return h.defaultOptions=v(E.defaultOptions,C),y.registerSeriesType("columnpyramid",h),h}),G(n,"Series/ErrorBar/ErrorBarSeriesDefaults.js",[],function(){return{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},whiskerWidth:null}}),G(n,"Series/ErrorBar/ErrorBarSeries.js",[n["Series/BoxPlot/BoxPlotSeries.js"],n["Series/Column/ColumnSeries.js"],n["Series/ErrorBar/ErrorBarSeriesDefaults.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(C,y,T,E,b){let{arearange:v}=E.seriesTypes,{addEvent:A,merge:h,extend:u}=b;class c extends C{constructor(){super(...arguments),this.data=void 0,this.options=void 0,this.points=void 0}getColumnMetrics(){return this.linkedParent&&this.linkedParent.columnMetrics||y.prototype.getColumnMetrics.call(this)}drawDataLabels(){let I=this.pointValKey;if(v)for(let g of(v.prototype.drawDataLabels.call(this),this.data))g.y=g[I]}toYData(I){return[I.low,I.high]}}return c.defaultOptions=h(C.defaultOptions,T),A(c,"afterTranslate",function(){for(let O of this.points)O.plotLow=O.plotY},{order:0}),u(c.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),E.registerSeriesType("errorbar",c),c}),G(n,"Series/Gauge/GaugePoint.js",[n["Core/Series/SeriesRegistry.js"]],function(C){let{series:{prototype:{pointClass:y}}}=C;return class extends y{constructor(){super(...arguments),this.options=void 0,this.series=void 0,this.shapeArgs=void 0}setState(T){this.state=T}}}),G(n,"Series/Gauge/GaugeSeries.js",[n["Series/Gauge/GaugePoint.js"],n["Core/Globals.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(C,y,T,E){let{noop:b}=y,{series:v,seriesTypes:{column:A}}=T,{clamp:h,isNumber:u,extend:c,merge:O,pick:I,pInt:g,defined:p}=E;class l extends v{constructor(){super(...arguments),this.data=void 0,this.points=void 0,this.options=void 0,this.yAxis=void 0}translate(){let i=this.yAxis,e=this.options,r=i.center;this.generatePoints(),this.points.forEach(a=>{let d=O(e.dial,a.dial),x=g(d.radius)*r[2]/200,m=g(d.baseLength)*x/100,_=g(d.rearLength)*x/100,S=d.baseWidth,P=d.topWidth,D=e.overshoot,R=i.startAngleRad+i.translate(a.y,void 0,void 0,void 0,!0);(u(D)||!1===e.wrap)&&(D=u(D)?D/180*Math.PI:0,R=h(R,i.startAngleRad-D,i.endAngleRad+D)),R=180*R/Math.PI,a.shapeType="path",a.shapeArgs={d:d.path||[["M",-_,-S/2],["L",m,-S/2],["L",x,-P/2],["L",x,P/2],["L",m,S/2],["L",-_,S/2],["Z"]],translateX:r[0],translateY:r[1],rotation:R},a.plotX=r[0],a.plotY=r[1],p(a.y)&&i.max-i.min&&(a.percentage=(a.y-i.min)/(i.max-i.min)*100)})}drawPoints(){let i=this,e=i.chart,r=i.yAxis.center,a=i.pivot,d=i.options,x=d.pivot,m=e.renderer;i.points.forEach(_=>{let S=_.graphic,P=_.shapeArgs,D=P.d,R=O(d.dial,_.dial);S?(S.animate(P),P.d=D):_.graphic=m[_.shapeType](P).addClass("highcharts-dial").add(i.group),e.styledMode||_.graphic[S?"animate":"attr"]({stroke:R.borderColor,"stroke-width":R.borderWidth,fill:R.backgroundColor})}),a?a.animate({translateX:r[0],translateY:r[1]}
1):x&&(i.pivot=m.circle(0,0,x.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(r[0],r[1]).add(i.group),e.styledMode||i.pivot.attr({fill:x.backgroundColor,stroke:x.borderColor,"stroke-width":x.borderWidth}))}animate(i){let e=this;i||e.points.forEach(r=>{let a=r.graphic;a&&(a.attr({rotation:180*e.yAxis.startAngleRad/Math.PI}),a.animate({rotation:r.shapeArgs.rotation},e.options.animation))})}render(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup),v.prototype.render.call(this),this.group.clip(this.chart.clipRect)}setData(i,e){v.prototype.setData.call(this,i,!1),this.processData(),this.generatePoints(),I(e,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}return l.defaultOptions=O(v.defaultOptions,{dataLabels:{borderColor:"#cccccc",borderRadius:3,borderWidth:1,crop:!1,defer:!1,enabled:!0,verticalAlign:"top",y:15,zIndex:2},dial:{backgroundColor:"#000000",baseLength:"70%",baseWidth:3,borderColor:"#cccccc",borderWidth:0,radius:"80%",rearLength:"10%",topWidth:1},pivot:{radius:5,borderWidth:0,borderColor:"#cccccc",backgroundColor:"#000000"},tooltip:{headerFormat:""},showInLegend:!1}),c(l.prototype,{angular:!0,directTouch:!0,drawGraph:b,drawTracker:A.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:C,trackerGroups:["group","dataLabelsGroup"]}),T.registerSeriesType("gauge",l),l}),G(n,"Series/DragNodesComposition.js",[n["Core/Utilities.js"]],function(C){let{addEvent:y}=C,T=[];function E(){let b,v,A,h=this;h.container&&(b=y(h.container,"mousedown",u=>{let c=h.hoverPoint;c&&c.series&&c.series.hasDraggableNodes&&c.series.options.draggable&&(c.series.onMouseDown(c,u),v=y(h.container,"mousemove",O=>c&&c.series&&c.series.onMouseMove(c,O)),A=y(h.container.ownerDocument,"mouseup",O=>(v(),A(),c&&c.series&&c.series.onMouseUp(c,O))))})),y(h,"destroy",function(){b()})}return{compose:function(b){C.pushUnique(T,b)&&y(b,"load",E)},onMouseDown:function(b,v){let A=this.chart.pointer.normalize(v);b.fixedPosition={chartX:A.chartX,chartY:A.chartY,plotX:b.plotX,plotY:b.plotY},b.inDragMode=!0},onMouseMove:function(b,v){if(b.fixedPosition&&b.inDragMode){let A,h,u=this.chart,c=u.pointer.normalize(v),O=b.fixedPosition.chartX-c.chartX,I=b.fixedPosition.chartY-c.chartY,g=u.graphLayoutsLookup;(Math.abs(O)>5||Math.abs(I)>5)&&(A=b.fixedPosition.plotX-O,h=b.fixedPosition.plotY-I,u.isInsidePlot(A,h)&&(b.plotX=A,b.plotY=h,b.hasDragged=!0,this.redrawHalo(b),g.forEach(p=>{p.restartSimulation()})))}}
1,onMouseUp:function(b,v){b.fixedPosition&&(b.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),b.inDragMode=b.hasDragged=!1,this.options.fixedDraggable||delete b.fixedPosition)},redrawHalo:function(b){b&&this.halo&&this.halo.attr({d:b.haloPath(this.options.states.hover.halo.size)})}}}),G(n,"Series/GraphLayoutComposition.js",[n["Core/Animation/AnimationUtilities.js"],n["Core/Utilities.js"]],function(C,y){let{setAnimation:T}=C,{addEvent:E}=y,b=[];function v(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(c=>{c.updateSimulation()}),this.redraw())}function A(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(c=>{c.updateSimulation(!1)}),this.redraw())}function h(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(c=>{c.stop()})}function u(){let c,O=!1,I=g=>{g.maxIterations--&&isFinite(g.temperature)&&!g.isStable()&&!g.enableSimulation&&(g.beforeStep&&g.beforeStep(),g.step(),c=!1,O=!0)};if(this.graphLayoutsLookup){for(T(!1,this),this.graphLayoutsLookup.forEach(g=>g.start());!c;)c=!0,this.graphLayoutsLookup.forEach(I);O&&this.series.forEach(g=>{g&&g.layout&&g.render()})}}return{compose:function(c){y.pushUnique(b,c)&&(E(c,"afterPrint",v),E(c,"beforePrint",A),E(c,"predraw",h),E(c,"render",u))},integrations:{},layouts:{}}}),G(n,"Series/PackedBubble/PackedBubblePoint.js",[n["Core/Chart/Chart.js"],n["Core/Series/Point.js"],n["Core/Series/SeriesRegistry.js"]],function(C,y,T){let{seriesTypes:{bubble:{prototype:{pointClass:E}}}}=T;return class extends E{constructor(){super(...arguments),this.degree=NaN,this.mass=NaN,this.radius=NaN,this.options=void 0,this.series=void 0,this.value=null}destroy(){return this.series.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),y.prototype.destroy.apply(this,arguments)}firePointEvent(){let v=this.series.options;if(this.isParentNode&&v.parentNode){let A=v.allowPointSelect;v.allowPointSelect=v.parentNode.allowPointSelect,y.prototype.firePointEvent.apply(this,arguments),v.allowPointSelect=A}else y.prototype.firePointEvent.apply(this,arguments)}select(){let v=this.series.chart;this.isParentNode?(v.getSelectedPoints=v.getSelectedParentNodes,y.prototype.select.apply(this,arguments),v.getSelectedPoints=C.prototype.getSelectedPoints):y.prototype.select.apply(this,arguments)}}}),G(n,"Series/PackedBubble/PackedBubbleSeriesDefaults.js",[n["Core/Utilities.js"]],function(C){let{isNumber:y}=C;return{minSize:"10%",maxSize:"50%",sizeBy:"area",zoneAxis:"y",crisp:!1,tooltip:{pointFormat:"Value: {point.value}"},draggable:!0,useSimulation:!0,parentNode:{allowPointSelect:!1},dataLabels:{formatter:function(){let{numberFormatter:T}=this.series.chart,{value:E}=this.point;return y(E)?T(E,-1):""},parentNodeFormatter:function(){return this.name},parentNodeTextPath:{enabled:!0},padding:0,style:{transition:"opacity 2000ms"}},layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:20,bubblePadding:5,parentNodeLimit:!1,seriesInteraction:!0,dragBetweenSeries:!1,parentNodeOptions:{maxIterations:400,gravitationalConstant:.03,maxSpeed:50,initialPositionRadius:100,seriesInteraction:!0,marker:{fillColor:null,fillOpacity:1,lineWidth:null,lineColor:null,symbol:"circle"}},enableSimulation:!0,type:"packedbubble",integration:"packedbubble",maxIterations:1e3,splitSeries:!1,maxSpeed:5,gravitationalConstant:.01,friction:-.981}}}),G(n,"Series/Networkgraph/VerletIntegration.js",[],function(){return{attractive:function(C,y,T){let E=C.getMass(),b=-T.x*y*this.diffTemperature,v=-T.y*y*this.diffTemperature;C.fromNode.fixedPosition||(C.fromNode.plotX-=b*E.fromNode/C.fromNode.degree,C.fromNode.plotY-=v*E.fromNode/C.fromNode.degree),C.toNode.fixedPosition||(C.toNode.plotX+=b*E.toNode/C.toNode.degree,C.toNode.plotY+=v*E.toNode/C.toNode.degree)},attractiveForceFunction:function(C,y){return(y-C)/C},barycenter:function(){let C=this.options.gravitationalConstant,y=this.barycenter.xFactor,T=this.barycenter.yFactor;y=(y-(this.box.left+this.box.width)/2)*C,T=(T-(this.box.top+this.box.height)/2)*C,this.nodes.forEach(function(E){E.fixedPosition||(E.plotX-=y/E.mass/E.degree,E.plotY-=T/E.mass/E.degree)})},getK:function(C){return Math.pow(C.box.width*C.box.height/C.nodes.length,.5)},integrate:function(C,y){let T=-C.options.friction,E=C.options.maxSpeed,A=(y.plotX+y.dispX-y.prevX)*T,h=(y.plotY+y.dispY-y.prevY)*T,u=Math.abs,c=u(A)/(A||1),O=u(h)/(h||1);A=c*Math.min(E,Math.abs(A)),h=O*Math.min(E,Math.abs(h)),y.prevX=y.plotX+y.dispX,y.prevY=y.plotY+y.dispY,y.plotX+=A,y.plotY+=h,y.temperature=C.vectorLength({x:A,y:h})},repulsive:function(C,y,T){let E=y*this.diffTemperature/C.mass/C.degree;C.fixedPosition||(C.plotX+=T.x*E,C.plotY+=T.y*E)},repulsiveForceFunction:function(C,y){return(y-C)/C*(y>C?1:0)}}}),G(n,"Series/PackedBubble/PackedBubbleIntegration.js",[n["Core/Globals.js"],n["Series/Networkgraph/VerletIntegration.js"]],function(C,y){let{noop:T}=C;return{barycenter:function(){let b,v,A=this.options.gravitationalConstant,h=this.box,u=this.nodes;for(let c of u)this.options.splitSeries&&!c.isParentNode?(b=c.series.parentNode.plotX,v=c.series.parentNode.plotY):(b=h.width/2,v=h.height/2),c.fixedPosition||(c.plotX-=(c.plotX-b)*A/(c.mass*Math.sqrt(u.length)),c.plotY-=(c.plotY-v)*A/(c.mass*Math.sqrt(u.length)))},getK:T,integrate:y.integrate,repulsive:function(b,v,A,h){let u=v*this.diffTemperature/b.mass/b.degree,c=A.x*u,O=A.y*u;b.fixedPosition||(b.plotX+=c,b.plotY+=O),h.fixedPosition||(h.plotX-=c,h.plotY-=O)}
1,repulsiveForceFunction:function(b,v,A,h){return Math.min(b,(A.marker.radius+h.marker.radius)/2)}}}),G(n,"Series/Networkgraph/EulerIntegration.js",[],function(){return{attractive:function(C,y,T,E){let b=C.getMass(),v=T.x/E*y,A=T.y/E*y;C.fromNode.fixedPosition||(C.fromNode.dispX-=v*b.fromNode/C.fromNode.degree,C.fromNode.dispY-=A*b.fromNode/C.fromNode.degree),C.toNode.fixedPosition||(C.toNode.dispX+=v*b.toNode/C.toNode.degree,C.toNode.dispY+=A*b.toNode/C.toNode.degree)},attractiveForceFunction:function(C,y){return C*C/y},barycenter:function(){let C=this.options.gravitationalConstant,y=this.barycenter.xFactor,T=this.barycenter.yFactor;this.nodes.forEach(function(E){if(!E.fixedPosition){let b=E.getDegree(),v=b*(1+b/2);E.dispX+=(y-E.plotX)*C*v/E.degree,E.dispY+=(T-E.plotY)*C*v/E.degree}})},getK:function(C){return Math.pow(C.box.width*C.box.height/C.nodes.length,.3)},integrate:function(C,y){let T;y.dispX+=y.dispX*C.options.friction,y.dispY+=y.dispY*C.options.friction,0!==(T=y.temperature=C.vectorLength({x:y.dispX,y:y.dispY}))&&(y.plotX+=y.dispX/T*Math.min(Math.abs(y.dispX),C.temperature),y.plotY+=y.dispY/T*Math.min(Math.abs(y.dispY),C.temperature))},repulsive:function(C,y,T,E){C.dispX+=T.x/E*y/C.degree,C.dispY+=T.y/E*y/C.degree},repulsiveForceFunction:function(C,y){return y*y/C}}}),G(n,"Series/Networkgraph/QuadTreeNode.js",[],function(){class C{constructor(T){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=T,this.boxSize=Math.min(T.width,T.height)}divideBox(){let T=this.box.width/2,E=this.box.height/2;this.nodes[0]=new C({left:this.box.left,top:this.box.top,width:T,height:E}),this.nodes[1]=new C({left:this.box.left+T,top:this.box.top,width:T,height:E}),this.nodes[2]=new C({left:this.box.left+T,top:this.box.top+E,width:T,height:E}),this.nodes[3]=new C({left:this.box.left,top:this.box.top+E,width:T,height:E})}getBoxPosition(T){let b=T.plotY<this.box.top+this.box.height/2;return T.plotX<this.box.left+this.box.width/2?b?0:3:b?1:2}insert(T,E){let b;this.isInternal?this.nodes[this.getBoxPosition(T)].insert(T,E-1):(this.isEmpty=!1,this.body?E?(this.isInternal=!0,this.divideBox(),!0!==this.body&&(this.nodes[this.getBoxPosition(this.body)].insert(this.body,E-1),this.body=!0),this.nodes[this.getBoxPosition(T)].insert(T,E-1)):((b=new C({top:T.plotX||NaN,left:T.plotY||NaN,width:.1,height:.1})).body=T,b.isInternal=!1,this.nodes.push(b)):(this.isInternal=!1,this.body=T))}updateMassAndCenter(){let T=0,E=0,b=0;if(this.isInternal){for(let v of this.nodes)v.isEmpty||(T+=v.mass,E+=v.plotX*v.mass,b+=v.plotY*v.mass);E/=T,b/=T}else this.body&&(T=this.body.mass,E=this.body.plotX,b=this.body.plotY);this.mass=T,this.plotX=E,this.plotY=b}}return C}),G(n,"Series/Networkgraph/QuadTree.js",[n["Series/Networkgraph/QuadTreeNode.js"]],function(C){return class{constructor(y,T,E,b){this.box={left:y,top:T,width:E,height:b},this.maxDepth=25,this.root=new C(this.box),this.root.isInternal=!0,this.root.isRoot=!0,this.root.divideBox()}calculateMassAndCenter(){this.visitNodeRecursive(null,null,function(y){y.updateMassAndCenter()})}insertNodes(y){for(let T of y)this.root.insert(T,this.maxDepth)}visitNodeRecursive(y,T,E){let b;if(y||(y=this.root),y===this.root&&T&&(b=T(y)),!1!==b){for(let v of y.nodes){if(v.isInternal){if(T&&(b=T(v)),!1===b)continue;this.visitNodeRecursive(v,T,E)}else v.body&&T&&T(v.body);E&&E(v)}y===this.root&&E&&E(y)}}}}),G(n,"Series/Networkgraph/ReingoldFruchtermanLayout.js",[n["Series/Networkgraph/EulerIntegration.js"],n["Core/Globals.js"],n["Series/GraphLayoutComposition.js"],n["Series/Networkgraph/QuadTree.js"],n["Core/Utilities.js"],n["Series/Networkgraph/VerletIntegration.js"]],function(C,y,T,E,b,v){let{win:A}=y,{clamp:h,defined:u,isFunction:c,fireEvent:O,pick:I}=b;class g{constructor(){this.attractiveForce=void 0,this.box={},this.currentStep=0,this.initialRendering=!0,this.integration=void 0,this.links=[],this.nodes=[],this.options=void 0,this.quadTree=void 0,this.repulsiveForce=void 0,this.series=[],this.simulation=!1}static compose(l){T.compose(l),T.integrations.euler=C,T.integrations.verlet=v,T.layouts["reingold-fruchterman"]=g}init(l){this.options=l,this.nodes=[],this.links=[],this.series=[],this.box={x:0,y:0,width:0,height:0},this.setInitialRendering(!0),this.integration=T.integrations[l.integration],this.enableSimulation=l.enableSimulation,this.attractiveForce=I(l.attractiveForce,this.integration.attractiveForceFunction),this.repulsiveForce=I(l.repulsiveForce,this.integration.repulsiveForceFunction),this.approximation=l.approximation}updateSimulation(l){this.enableSimulation=I(l,this.options.enableSimulation)}start(){let l=this.series,o=this.options;this.currentStep=0,this.forces=l[0]&&l[0].forces||[],this.chart=l[0]&&l[0].chart,this.initialRendering&&(this.initPositions(),l.forEach(function(i){i.finishedAnimating=!0,i.render()})),this.setK(),this.resetSimulation(o),this.enableSimulation&&this.step()}step(){let l=this.series;for(let o of(this.currentStep++,"barnes-hut"===this.approximation&&(this.createQuadTree(),this.quadTree.calculateMassAndCenter()),this.forces||[]))this[o+"Forces"](this.temperature);if(this.applyLimits(),this.temperature=this.coolDown(this.startTemperature,this.diffTemperature,this.currentStep),this.prevSystemTemperature=this.systemTemperature,this.systemTemperature=this.getSystemTemperature(),this.enableSimulation){for(let o of l)o.chart&&o.render();this.maxIterations--&&isFinite(this.temperature)&&!this.isStable()?(this.simulation&&A.cancelAnimationFrame(this.simulation),this.simulation=A.requestAnimationFrame(()=>
1this.step())):(this.simulation=!1,this.series.forEach(o=>{O(o,"afterSimulation")}))}}stop(){this.simulation&&A.cancelAnimationFrame(this.simulation)}setArea(l,o,i,e){this.box={left:l,top:o,width:i,height:e}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(l,o){for(let i of l)-1===o.indexOf(i)&&o.push(i)}removeElementFromCollection(l,o){let i=o.indexOf(l);-1!==i&&o.splice(i,1)}clear(){this.nodes.length=0,this.links.length=0,this.series.length=0,this.resetSimulation()}resetSimulation(){this.forcedStop=!1,this.systemTemperature=0,this.setMaxIterations(),this.setTemperature(),this.setDiffTemperature()}restartSimulation(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))}setMaxIterations(l){this.maxIterations=I(l,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(l){this.initialRendering=l}createQuadTree(){this.quadTree=new E(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){let l=this.options.initialPositions;if(c(l))for(let o of(l.call(this),this.nodes))u(o.prevX)||(o.prevX=o.plotX),u(o.prevY)||(o.prevY=o.plotY),o.dispX=0,o.dispY=0;else"circle"===l?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){let l,o=this.box,i=this.nodes,r=2*Math.PI/(i.length+1),a=i.filter(function(S){return 0===S.linksTo.length}),d={},x=this.options.initialPositionRadius,m=S=>{for(let P of S.linksFrom||[])d[P.toNode.id]||(d[P.toNode.id]=!0,_.push(P.toNode),m(P.toNode))},_=[];for(let S of a)_.push(S),m(S);if(_.length)for(let S of i)-1===_.indexOf(S)&&_.push(S);else _=i;for(let S=0,P=_.length;S<P;++S)(l=_[S]).plotX=l.prevX=I(l.plotX,o.width/2+x*Math.cos(S*r)),l.plotY=l.prevY=I(l.plotY,o.height/2+x*Math.sin(S*r)),l.dispX=0,l.dispY=0}setRandomPositions(){let l,o=this.box,i=this.nodes,e=i.length+1,r=a=>{let d=a*a/Math.PI;return d-Math.floor(d)};for(let a=0,d=i.length;a<d;++a)(l=i[a]).plotX=l.prevX=I(l.plotX,o.width*r(a)),l.plotY=l.prevY=I(l.plotY,o.height*r(e+a)),l.dispX=0,l.dispY=0}force(l,...o){this.integration[l].apply(this,o)}barycenterForces(){this.getBarycenter(),this.force("barycenter")}getBarycenter(){let l=0,o=0,i=0;for(let e of this.nodes)o+=e.plotX*e.mass,i+=e.plotY*e.mass,l+=e.mass;return this.barycenter={x:o,y:i,xFactor:o/l,yFactor:i/l},this.barycenter}barnesHutApproximation(l,o){let i,e,r=this.getDistXY(l,o),a=this.vectorLength(r);return l!==o&&0!==a&&(o.isInternal?o.boxSize/a<this.options.theta&&0!==a?(e=this.repulsiveForce(a,this.k),this.force("repulsive",l,e*o.mass,r,a),i=!1):i=!0:(e=this.repulsiveForce(a,this.k),this.force("repulsive",l,e*o.mass,r,a))),i}repulsiveForces(){if("barnes-hut"===this.approximation)for(let l of this.nodes)this.quadTree.visitNodeRecursive(null,o=>this.barnesHutApproximation(l,o));else{let l,o,i;for(let e of this.nodes)for(let r of this.nodes)e===r||e.fixedPosition||(i=this.getDistXY(e,r),0!==(o=this.vectorLength(i))&&(l=this.repulsiveForce(o,this.k),this.force("repulsive",e,l*r.mass,i,o)))}}attractiveForces(){let l,o,i;for(let e of this.links)e.fromNode&&e.toNode&&(l=this.getDistXY(e.fromNode,e.toNode),0!==(o=this.vectorLength(l))&&(i=this.attractiveForce(o,this.k),this.force("attractive",e,i,l,o)))}applyLimits(){let l=this.nodes;for(let o of l){if(o.fixedPosition)return;this.integration.integrate(this,o),this.applyLimitBox(o,this.box),o.dispX=0,o.dispY=0}}applyLimitBox(l,o){let i=l.radius;l.plotX=h(l.plotX,o.left+i,o.width-i),l.plotY=h(l.plotY,o.top+i,o.height-i)}coolDown(l,o,i){return l-o*i}isStable(){return 1e-5>Math.abs(this.systemTemperature-this.prevSystemTemperature)||this.temperature<=0}getSystemTemperature(){let l=0;for(let o of this.nodes)l+=o.temperature;return l}vectorLength(l){return Math.sqrt(l.x*l.x+l.y*l.y)}getDistR(l,o){let i=this.getDistXY(l,o);return this.vectorLength(i)}getDistXY(l,o){let i=l.plotX-o.plotX,e=l.plotY-o.plotY;return{x:i,y:e,absX:Math.abs(i),absY:Math.abs(e)}}}return g}),G(n,"Series/PackedBubble/PackedBubbleLayout.js",[n["Series/GraphLayoutComposition.js"],n["Series/PackedBubble/PackedBubbleIntegration.js"],n["Series/Networkgraph/ReingoldFruchtermanLayout.js"],n["Core/Utilities.js"]],function(C,y,T,E){let{addEvent:b,pick:v}=E,A=[];function h(){let I=[];
1return this.series.forEach(g=>{g.parentNode&&g.parentNode.selected&&I.push(g.parentNode)}),I}function u(){this.allDataPoints&&delete this.allDataPoints}class c extends T{constructor(){super(...arguments),this.index=NaN,this.nodes=[],this.options=void 0,this.series=[]}static compose(I){T.compose(I),C.integrations.packedbubble=y,C.layouts.packedbubble=c,E.pushUnique(A,I)&&(b(I,"beforeRedraw",u),I.prototype.getSelectedParentNodes=h)}beforeStep(){this.options.marker&&this.series.forEach(I=>{I&&I.calculateParentRadius()})}isStable(){let I=Math.abs(this.prevSystemTemperature-this.systemTemperature),g=10*this.systemTemperature/Math.sqrt(this.nodes.length);return 1>Math.abs(g)&&I<1e-5||this.temperature<=0}setCircularPositions(){let i,e,I=this.box,g=this.nodes,l=2*Math.PI/(g.length+1),o=this.options.initialPositionRadius,r=0;for(let a of g)this.options.splitSeries&&!a.isParentNode?(i=a.series.parentNode.plotX,e=a.series.parentNode.plotY):(i=I.width/2,e=I.height/2),a.plotX=a.prevX=v(a.plotX,i+o*Math.cos(a.index||r*l)),a.plotY=a.prevY=v(a.plotY,e+o*Math.sin(a.index||r*l)),a.dispX=0,a.dispY=0,r++}repulsiveForces(){let I,g,p,l=this,o=l.options.bubblePadding;l.nodes.forEach(i=>{i.degree=i.mass,i.neighbours=0,l.nodes.forEach(e=>{I=0,i!==e&&!i.fixedPosition&&(l.options.seriesInteraction||i.series===e.series)&&(p=l.getDistXY(i,e),(g=l.vectorLength(p)-(i.marker.radius+e.marker.radius+o))<0&&(i.degree+=.01,i.neighbours++,I=l.repulsiveForce(-g/Math.sqrt(i.neighbours),l.k,i,e)),l.force("repulsive",i,I*e.mass,p,e,g))})})}applyLimitBox(I,g){let p,l;this.options.splitSeries&&!I.isParentNode&&this.options.parentNodeLimit&&(p=this.getDistXY(I,I.series.parentNode),(l=I.series.parentNodeRadius-I.marker.radius-this.vectorLength(p))<0&&l>-2*I.marker.radius&&(I.plotX-=.01*p.x,I.plotY-=.01*p.y)),super.applyLimitBox(I,g)}}return C.layouts.packedbubble=c,c}),G(n,"Series/SimulationSeriesUtilities.js",[n["Core/Utilities.js"],n["Core/Animation/AnimationUtilities.js"]],function(C,y){let{syncTimeout:T}=C,{animObject:E}=y;return{initDataLabels:function(){let b=this.options.dataLabels;if(!this.dataLabelsGroup){let v=this.initDataLabelsGroup();return!this.chart.styledMode&&b?.style&&v.css(b.style),v.attr({opacity:0}),this.visible&&v.show(),v}return this.dataLabelsGroup.attr({opacity:1}),this.dataLabelsGroup},initDataLabelsDefer:function(){let b=this.options.dataLabels;b?.defer&&this.options.layoutAlgorithm?.enableSimulation?T(()=>{this.deferDataLabels=!1},b?E(b.animation).defer:0):this.deferDataLabels=!1}}}),G(n,"Series/PackedBubble/PackedBubbleSeries.js",[n["Core/Color/Color.js"],n["Series/DragNodesComposition.js"],n["Series/GraphLayoutComposition.js"],n["Core/Globals.js"],n["Series/PackedBubble/PackedBubblePoint.js"],n["Series/PackedBubble/PackedBubbleSeriesDefaults.js"],n["Series/PackedBubble/PackedBubbleLayout.js"],n["Core/Series/SeriesRegistry.js"],n["Series/SimulationSeriesUtilities.js"],n["Core/Utilities.js"],n["Core/Animation/AnimationUtilities.js"]],function(C,y,T,E,b,v,A,h,u,c,O){let{parse:I}=C,{noop:g}=E,{series:{prototype:p},seriesTypes:{bubble:l}}=h,{initDataLabels:o,initDataLabelsDefer:i}=u,{addEvent:e,clamp:r,defined:a,extend:d,fireEvent:x,isArray:m,isNumber:_,merge:S,pick:P}=c;class N extends l{constructor(){super(...arguments),this.chart=void 0,this.data=void 0,this.layout=void 0,this.options=void 0,this.parentNodeMass=0,this.points=void 0,this.xData=void 0,this.deferDataLabels=!0}static compose(L,F,B,$){l.compose(L,F,B,$),y.compose(F),A.compose(F)}accumulateAllPoints(){let L,F=this.chart,B=[];for(let $ of F.series)if($.is("packedbubble")&&$.reserveSpace()){L=$.yData||[];for(let tt=0;tt<L.length;tt++)B.push([null,null,L[tt],$.index,tt,{id:tt,marker:{radius:0}}])}return B}addLayout(){let J,L=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},F=L.type||"packedbubble",B=this.chart.options.chart,$=this.chart.graphLayoutsStorage,tt=this.chart.graphLayoutsLookup;$||(this.chart.graphLayoutsStorage=$={},this.chart.graphLayoutsLookup=tt=[]),(J=$[F])||(L.enableSimulation=a(B.forExport)?!B.forExport:L.enableSimulation,$[F]=J=new T.layouts[F],J.init(L),tt.splice(J.index,0,J)),this.layout=J,this.points.forEac
1h(j=>{j.mass=2,j.degree=1,j.collisionNmb=1}),J.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),J.addElementsToCollection([this],J.series),J.addElementsToCollection(this.points,J.nodes)}addSeriesLayout(){let L=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},F=L.type||"packedbubble",B=this.chart.graphLayoutsStorage,$=this.chart.graphLayoutsLookup,tt=S(L,L.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation}),J=B[F+"-series"];J||(B[F+"-series"]=J=new T.layouts[F],J.init(tt),$.splice(J.index,0,J)),this.parentNodeLayout=J,this.createParentNodes()}calculateParentRadius(){let L=this.seriesBox();this.parentNodeRadius=r(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,L?Math.max(Math.sqrt(Math.pow(L.width,2)+Math.pow(L.height,2))/2+20,20):Math.sqrt(2*this.parentNodeMass/Math.PI)+20),this.parentNode&&(this.parentNode.marker.radius=this.parentNode.radius=this.parentNodeRadius)}calculateZExtremes(){let B=this.options.zMin,$=this.options.zMax,tt=1/0,J=-1/0;return B&&$?[B,$]:(this.chart.series.forEach(j=>{j.yData.forEach(W=>{a(W)&&(W>J&&(J=W),W<tt&&(tt=W))})}),[B=P(B,tt),$=P($,J)])}checkOverlap(L,F){let B=L[0]-F[0],$=L[1]-F[1],tt=L[2]+F[2];return Math.sqrt(B*B+$*$)-Math.abs(tt)<-.001}createParentNodes(){let tt,L=this.pointClass,F=this.chart,B=this.parentNodeLayout,$=this.layout.options,J=this.parentNode,j={radius:this.parentNodeRadius,lineColor:this.color,fillColor:I(this.color).brighten(.4).get()};$.parentNodeOptions&&(j=S($.parentNodeOptions.marker||{},j)),this.parentNodeMass=0,this.points.forEach(W=>{this.parentNodeMass+=Math.PI*Math.pow(W.marker.radius,2)}),this.calculateParentRadius(),B.nodes.forEach(W=>{W.seriesIndex===this.index&&(tt=!0)}),B.setArea(0,0,F.plotWidth,F.plotHeight),tt||(J||(J=(new L).init(this,{mass:this.parentNodeRadius/2,marker:j,dataLabels:{inside:!1},states:{normal:{marker:j},hover:{marker:j}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index})),this.parentNode&&(J.plotX=this.parentNode.plotX,J.plotY=this.parentNode.plotY),this.parentNode=J,B.addElementsToCollection([this],B.series),B.addElementsToCollection([J],B.nodes))}deferLayout(){let L=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),L.splitSeries&&this.addSeriesLayout())}destroy(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(L=>{L.removeElementFromCollection(this,L.series)},this),this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy())),p.destroy.apply(this,arguments)}drawDataLabels(){!this.deferDataLabels&&(p.drawDataLabels.call(this,this.points),this.parentNode&&(this.parentNode.formatPrefix="parentNode",p.drawDataLabels.call(this,[this.parentNode])))}drawGraph(){if(!this.layout||!this.layout.options.splitSeries)return;let L=this.chart,F=this.layout.options.parentNodeOptions.marker,B={fill:F.fillColor||I(this.color).brighten(.4).get(),opacity:F.fillOpacity,stroke:F.lineColor||this.color,"stroke-width":P(F.lineWidth,this.options.lineWidth)},$={};this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?"inherit":"hidden",.1,L.seriesGroup),this.group?.attr({zIndex:2}),this.calculateParentRadius(),this.parentNode&&a(this.parentNode.plotX)&&a(this.parentNode.plotY)&&a(this.parentNodeRadius)&&($=S({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},B),this.parentNode.graphic||(this.graph=this.parentNode.graphic=L.renderer.symbol(B.symbol).add(this.parentNodesGroup)),this.parentNode.graphic.attr($))}drawTracker(){let L,F=this.parentNode;super.drawTracker(),F&&(L=m(F.dataLabels)?F.dataLabels:F.dataLabel?[F.dataLabel]:[],F.graphic&&(F.graphic.element.point=F),L.forEach(B=>{B.div?B.div.point=F:B.element.point=F}))}getPointRadius(){let L,F,B,$,tt=this.chart,W=this.options,V=W.useSimulation,et=Math.min(tt.plotWidth,tt.plotHeight),H={},it=[],nt=tt.allDataPoints||[],pt=nt.length;["minSize","maxSize"].forEach(U=>{let K=parseInt(W[U],10),Q=/%$/.test(W[U]);H[U]=Q?et*K/100:K*Math.sqrt(pt)}),tt.minRadius=L=H.minSize/Math.sqrt(pt),tt.maxRadius=F=H.maxSize/Math.sqrt(pt);let mt=V?this.calculateZExtremes():[L,F];nt.forEach((U,K)=>{B=V?r(U[2],mt[0],mt[1]):U[2],0===($=this.getRadius(mt[0],mt[1],L,F,B))&&($=null),nt[K][2]=$,it.push($)}),this.radii=it}init(){return p.init.apply(this,arguments),i.call(this),this.eventsToUnbind.push(e(this,"updatedData",function(){this.chart.series.forEac
1h(L=>{L.type===this.type&&(L.isDirty=!0)},this)})),this}onMouseUp(L){if(L.fixedPosition&&!L.removed){let F,B=this.layout,$=this.parentNodeLayout;$&&B.options.dragBetweenSeries&&$.nodes.forEach(tt=>{L&&L.marker&&tt!==L.series.parentNode&&(F=B.getDistXY(L,tt),B.vectorLength(F)-tt.marker.radius-L.marker.radius<0&&(tt.series.addPoint(S(L.options,{plotX:L.plotX,plotY:L.plotY}),!1),B.removeElementFromCollection(L,B.nodes),L.remove()))}),y.onMouseUp.apply(this,arguments)}}placeBubbles(L){let W,et,F=this.checkOverlap,B=this.positionBubble,$=[],tt=1,J=0,j=0,V=[],H=L.sort((it,nt)=>nt[2]-it[2]);if(H.length){if($.push([[0,0,H[0][2],H[0][3],H[0][4]]]),H.length>1)for($.push([[0,0-H[1][2]-H[0][2],H[1][2],H[1][3],H[1][4]]]),et=2;et<H.length;et++)H[et][2]=H[et][2]||1,F(W=B($[tt][J],$[tt-1][j],H[et]),$[tt][0])?($.push([]),j=0,$[tt+1].push(B($[tt][J],$[tt][0],H[et])),tt++,J=0):tt>1&&$[tt-1][j+1]&&F(W,$[tt-1][j+1])?(j++,$[tt].push(B($[tt][J],$[tt-1][j],H[et])),J++):(J++,$[tt].push(W));this.chart.stages=$,this.chart.rawPositions=[].concat.apply([],$),this.resizeRadius(),V=this.chart.rawPositions}return V}pointAttribs(L,F){let B=this.options,tt=B.marker;L&&L.isParentNode&&B.layoutAlgorithm&&B.layoutAlgorithm.parentNodeOptions&&(tt=B.layoutAlgorithm.parentNodeOptions.marker);let J=tt.fillOpacity,j=p.pointAttribs.call(this,L,F);return 1!==J&&(j["fill-opacity"]=J),j}positionBubble(L,F,B){let $=Math.pow,tt=(0,Math.sqrt)($(L[0]-F[0],2)+$(L[1]-F[1],2)),J=(0,Math.acos)(($(tt,2)+$(B[2]+F[2],2)-$(B[2]+L[2],2))/(2*(B[2]+F[2])*tt)),j=(0,Math.asin)((0,Math.abs)(L[0]-F[0])/tt),et=(L[1]-F[1]<0?0:Math.PI)+J+j*((L[0]-F[0])*(L[1]-F[1])<0?1:-1);return[F[0]+(F[2]+B[2])*Math.sin(et),F[1]-(F[2]+B[2])*Math.cos(et),B[2],B[3],B[4]]}render(){let L=[];p.render.apply(this,arguments),!this.options.dataLabels.allowOverlap&&(this.data.forEach(F=>
1{m(F.dataLabels)&&F.dataLabels.forEach(B=>{L.push(B)})}),this.options.useSimulation&&this.chart.hideOverlappingLabels(L))}resizeRadius(){let L,F,B,$,tt,J=this.chart,j=J.rawPositions,W=Math.min,V=Math.max,et=J.plotLeft,H=J.plotTop,it=J.plotHeight,nt=J.plotWidth;for(let K of(L=B=Number.POSITIVE_INFINITY,F=$=Number.NEGATIVE_INFINITY,j))tt=K[2],L=W(L,K[0]-tt),F=V(F,K[0]+tt),B=W(B,K[1]-tt),$=V($,K[1]+tt);let pt=[F-L,$-B],U=W.apply([],[(nt-et)/pt[0],(it-H)/pt[1]]);if(Math.abs(U-1)>1e-10){for(let K of j)K[2]*=U;this.placeBubbles(j)}else J.diffY=it/2+H-B-($-B)/2,J.diffX=nt/2+et-L-(F-L)/2}seriesBox(){let L,F=this.chart,$=Math.max,tt=Math.min,J=[F.plotLeft,F.plotLeft+F.plotWidth,F.plotTop,F.plotTop+F.plotHeight];return this.data.forEach(j=>{a(j.plotX)&&a(j.plotY)&&j.marker.radius&&(L=j.marker.radius,J[0]=tt(J[0],j.plotX-L),J[1]=$(J[1],j.plotX+L),J[2]=tt(J[2],j.plotY-L),J[3]=$(J[3],j.plotY+L))}),_(J.width/J.height)?J:null}setVisible(){let L=this;p.setVisible.apply(L,arguments),L.parentNodeLayout&&L.graph?L.visible?(L.graph.show(),L.parentNode.dataLabel&&L.parentNode.dataLabel.show()):(L.graph.hide(),L.parentNodeLayout.removeElementFromCollection(L.parentNode,L.parentNodeLayout.nodes),L.parentNode.dataLabel&&L.parentNode.dataLabel.hide()):L.layout&&(L.visible?L.layout.addElementsToCollection(L.points,L.layout.nodes):L.points.forEach(F=>{L.layout.removeElementFromCollection(F,L.layout.nodes)}))}translate(){let L,F,B,$=this.chart,tt=this.data,J=this.index,j=this.options.useSimulation;for(let W of(this.processedXData=this.xData,this.generatePoints(),a($.allDataPoints)||($.allDataPoints=this.accumulateAllPoints(),this.getPointRadius()),j?B=$.allDataPoints:(B=this.placeBubbles($.allDataPoints),this.options.draggable=!1),B))W[3]===J&&(L=tt[W[4]],F=P(W[2],void 0),j||(L.plotX=W[0]-$.plotLeft+$.diffX,L.plotY=W[1]-$.plotTop+$.diffY),_(F)&&(L.marker=d(L.marker,{radius:F,width:2*F,height:2*F}),L.radius=F));j&&this.deferLayout(),x(this,"afterTranslate")}}return N.defaultOptions=S(l.defaultOptions,v),d(N.prototype,{pointClass:b,axisTypes:[],directTouch:!0,forces:["barycenter","repulsive"],hasDraggableNodes:!0,isCartesian:!1,noSharedTooltip:!0,pointArrayMap:["value"],pointValKey:"value",requireSorting:!1,trackerGroups:["group","dataLabelsGroup","parentNodesGroup"],initDataLabels:o,alignDataLabel:p.alignDataLabel,indexateNodes:g,onMouseDown:y.onMouseDown,onMouseMove:y.onMouseMove,redrawHalo:y.redrawHalo,searchPoint:g}),h.registerSeriesType("packedbubble",N),N}),G(n,"Series/Polygon/PolygonSeriesDefaults.js",[],function(){return{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0,legendSymbol:"rectangle"}}),G(n,"Series/Polygon/PolygonSeries.js",[n["Core/Globals.js"],n["Series/Polygon/PolygonSeriesDefaults.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(C,y,T,E){let{noop:b}=C,{area:v,line:A,scatter:h}=T.seriesTypes,{extend:u,merge:c}=E;class O extends h{constructor(){super(...arguments),this.data=void 0,this.options=void 0,this.points=void 0}getGraphPath(){let g=A.prototype.getGraphPath.call(this),p=g.length+1;for(;p--;)(p===g.length||"M"===g[p][0])&&p>0&&g.splice(p,0,["Z"]);return this.areaPath=g,g}drawGraph(){this.options.fillColor=this.color,v.prototype.drawGraph.call(this)}}return O.defaultOptions=c(h.defaultOptions,y),u(O.prototype,{type:"polygon",drawTracker:A.prototype.drawTracker,setStackedPoints:b}),T.registerSeriesType("polygon",O),O}),G(n,"Core/Axis/RadialAxis.js",[n["Core/Axis/AxisDefaults.js"],n["Core/Defaults.js"],n["Core/Globals.js"],n["Core/Utilities.js"]],function(C,y,T,E){var b;let{defaultOptions:v}=y,{noop:A}=T,{addEvent:h,correctFloat:u,defined:c,extend:O,fireEvent:I,merge:g,pick:p,relativeLength:l,wrap:o}=E;return function(i){let e=[],r={gridLineWidth:1,labels:{align:void 0,x:0,y:void 0,style:{textOverflow:"none"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},a={labels:{align:"center",distance:-25,x:0,y:void 0},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2},d={gridLineInterpolation:"circle",gridLineWidth:1,labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}};function x(){this.autoConnect=this.isCircular&&void 0===p(this.userMax,this.options.max)&&u(this.endAngleRad-this.startAngleRad)===u(2*Math.PI),!this.isCircular&&this.chart.inverted&&this.max++,this.autoConnect&&(this.max+=(this.categories?1:this.pointRange)||this.closestPointRange||0)}function m(){return()=>{if(this.isRadial&&this.tickPositions&&this.options.labels&&!0!==this.options.labels.allowOverlap)return this.tickPositions.map(U=>this.ticks[U]&&this.ticks[U].label).filter(U=>!!U)}}function _(){return A}function S(U,K,Q){let ct,rt,ot,dt=this.pane.center,st=U.value;return this.isCircular?(c(st)?U.point&&(U.point.shapeArgs||{}).start&&(st=this.chart.inverted?this.translate(U.point.rectPlotY,!0):U.point.x):(rt=U.chartX||0,ot=U.chartY||0,st=this.translate(Math.atan2(ot-Q,rt-K)-this.startAngleRad,!0)),rt=(ct=this.getPosition(st)).x,ot=ct.y):(c(st)||(rt=U.chartX,ot=U.chartY),c(rt)&&c(ot)&&(Q=dt[1]+this.chart.plotTop,st=this.translate(Math.min(Math.sqrt(Math.pow(rt-K,2)+Math.pow(ot-Q,2)),dt[2]/2)-dt[3]/2,!0))),[st,rt||0,ot||0]}function P(U,K,Q){let ot,ht,dt=this.pane.center,st=this.chart,ct=this.left||0,rt=this.top||0,lt=p(K,dt[2]/2-this.offset);return void 0===Q&&(Q=this.horiz?0:this.center&&-this.center[3]/2),Q&&(lt+=Q),this.isCircular||void 0!==K?((ht=this.chart.renderer.symbols.arc(ct+dt[0],rt+dt[1],lt,lt,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0})).xBounds=[ct+dt[0]],ht.yBounds=[rt+dt[1]-lt]):(ot=this.postTranslate(this.angleRad,lt),ht=[["M",this.center[0]+st.plotLeft,this.center[1]+st.plotTop],["L",ot.x,ot.y]]),ht}function D(){this.constructor.prototype.getOffset.call(this),this.chart.axisOffset[this.side]=0}function R(U,K,Q){let gt,ft,bt,xt,Dt,Mt,dt=this.chart,st=St=>{if("string"==typeof St){let It=parseInt(St,10);return Et.test(St)&&(It=It*ot/100),It}return St},ct=this.center,rt=this.startAngleRad,ot=ct[2]/2,lt=Math.min(this.offset,0),ht=this.left||0,vt=this.top||0,Et=/%$/,Ct=this.isCircular,Tt=p(st(Q.outerRadius),ot),At=st(Q.innerRadius),Ft=p(st(Q.thickness),10);if("polygon"===this.options.gridLineInterpolation)Mt=this.getPlotLinePath({value:U}).concat(this.getPlotLinePath({value:K,reverse:!0}));else{U=Math.max(U,this.min),K=Math.min(K,this.max);let St=this.translate(U),It=this.translate(K);Ct||(Tt=St||0,At=It||0),"circle"!==Q.shape&&Ct?(gt=rt+(St||0),ft=rt+(It||0)):(gt=-Math.PI/2,ft=1.5*Math.PI,Dt=!0),Tt-=lt,Ft-=lt,Mt=dt.renderer.symbols.arc(ht+ct[0],vt+ct[1],Tt,Tt,{start:Math.min(gt,ft),end:Math.max(gt,ft),innerR:p(At,Tt-Ft),open:Dt}),Ct&&(bt=(ft+gt)/2,xt=ht+ct[0]+ct[2]/2*Math.cos(bt),Mt.xBounds=bt>-Math.PI/2&&bt<Math.PI/2?[xt,dt.plotWidth]:[0,xt],Mt.yBounds=[vt+ct[1]+ct[2]/2*Math.sin(bt)],Mt.yBounds[0]+=bt>-Math.PI&&bt<0||bt>Math.PI?-10:10)}return Mt}function N(U){let ft,bt,xt,Dt,Mt,Tt,At,Ft,St,K=this.pane.center,Q=this.chart,dt=Q.inverted,st=U.reverse,ct=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},rt=ct.innerRadius||"0%",ot=ct.outerRadius||"100%",lt=K[0]+Q.plotLeft,ht=K[1]+Q.plotTop,vt=this.height,Et=U.isCrosshair,Ct=K[3]/2,gt=U.value,It=this.getPosition(gt),kt=It.x,Rt=It.y;if(Et&&(gt=(Ft=this.getCrosshairPosition(U,lt,ht))[0],kt=Ft[1],Rt=Ft[2]),this.isCircular)bt=Math.sqrt(Math.pow(kt-lt,2)+Math.pow(Rt-ht,2)),xt="string"==typeof rt?l(rt,1):rt/bt,Dt="string"==typeof ot?l(ot,1):ot/bt,K&&Ct&&(xt<(ft=Ct/bt)&&(xt=ft),Dt<ft&&(Dt=ft)),St=[["M",lt+xt*(kt-lt),ht-xt*(ht-Rt)],["L",kt-(1-Dt)*(kt-lt),Rt+(1-Dt)*(ht-Rt)]];else if((gt=this.translate(gt))&&(gt<0||gt>vt)&&(gt=0),"circle"===this.options.gridLineInterpolation)St=this.getLinePath(0,gt,Ct);else if(St=[],Q[dt?"yAxis":"xAxis"].forEach(Nt=>{Nt.pane===this.pane&&(Mt=Nt)}),Mt){At=Mt.tickPositions,Mt.autoConnect&&(At=At.concat([At[0]])),st&&(At=At.slice().reverse()),gt&&(gt+=Ct);for(let Nt=0;Nt<At.length;Nt++)Tt=Mt.getPosition(At[Nt],gt),St.push(Nt?["L",Tt.x,Tt.y]:["M",Tt.x,Tt.y])}return St}function X(U,K){let Q=this.translate(U);return this.postTranslate(this.isCircular?Q:this.angleRad,p(this.isCircular?K:Q<0?0:Q,this.center[2]/2)-this.offset)}function L(){let U=this.center,K=this.chart,Q=this.options.title;return{x:K.plotLeft+U[0]+(Q.x||0),y:K.plotTop+U[1]-{high:.5,middle:.25,low:0}[Q.align]*U[2]+(Q.y||0)}}function F(U){U.beforeSetTickPositions=x,U.createLabelCollector=m,U.getCrosshairPosition=S,U.getLinePath=P,U.getOffset=D,U.getPlotBandPath=R,U.getPlotLinePath=N,U.getPosition=X,U.getTitlePosition=L,U.postTranslate=et,U.setAxisSize=it,U.setAxisTranslation=nt,U.setOptions=pt}function B(){let U=this.chart,K=this.options,dt=this.pane,st=dt&&dt.options;if((!U.angular||!this.isXAxis)&&dt&&(U.angular||U.polar)){let ct=2*Math.PI,rt=(p(st.startAngle,0)-90)*Math.PI/180,ot=(p(st.endAngle,p(st.startAngle,0)+360)-90)*Math.PI/180;this.angleRad=(K.angle||0)*Math.PI/180,this.startAngleRad=rt,this.endAngleRad=ot,this.offset=K.offset||0;let lt=(rt%ct+ct)%ct,ht=(ot%ct+ct)%ct;lt>Math.PI&&(lt-=ct),ht>Math.PI&&(ht-=ct),this.normalizedStartAngleRad=lt,this.normalizedEndAngleRad=ht}}function $(U){this.isRadial&&(U.align=void 0,U.preventDefault())}function tt(){if(this.chart&&this.chart.labelCollectors){let U=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;U>=0&&this.chart.labelCollectors.splice(U,1)}}function J(U){let K,Q=this.chart,dt=Q.inverted,st=Q.angular,ct=Q.polar,rt=this.isXAxis,ot=this.coll,ht=this.pane=Q.pane&&Q.pane[U.userOptions.pane||0];"colorAxis"!==ot?(st?(st&&rt?(this.isHidden=!0,this.createLabelCollector=_,this.getOffset=A,this.redraw=H,this.render=H,this.setScale=A,this.setCategories=A,this.setTitle=A):F(this),(K=!rt)&&(this.defaultPolarOptions=a)):ct&&(F(this),K=this.horiz,this.defaultPolarOptions=K?r:g("xAxis"===ot?C.defaultXAxisOptions:C.defaultYAxisOptions,d),dt&&"yAxis"===ot&&(this.defaultPolarOptions.stackLabels=C.defaultYAxisOptions.stackLabels,this.defaultPolarOptions.reversedStacks=!0)),st||ct?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&Q.labelCollectors.push(this.labelCollector)):this.isRadial=!1,ht&&K&&(ht.axis=this),this.isCircular=K):this.isRadial=!1}function j(){this.isRadial&&this.beforeSetTickPositions()}function W(U){let K=this.label;if(!K)return;let ht,Q=this.axis,dt=K.getBBox(),st=Q.options.labels,ct=(Q.translate(this.pos)+Q.startAngleRad+Math.PI/2)/Math.PI*180%360,rt=Math.round(ct),ot=c(st.y)?0:-.3*dt.height,lt=st.y,vt=20,Et=st.align,Ct="end",gt=rt<0?rt+360:rt,ft=gt,bt=0,xt=0;Q.isRadial&&(ht=Q.getPosition(this.pos,Q.center[2]/2+l(p(st.distance,-25),Q.center[2]/2,-Q.center[2]/2)),"auto"===st.rotation?K.attr({rotation:ct}):c(lt)||(lt=Q.chart.renderer.fontMetrics(K).b-dt.height/2),c(Et)||(Q.isCircular?(dt.width>
1Q.len*Q.tickInterval/(Q.max-Q.min)&&(vt=0),Et=ct>vt&&ct<180-vt?"left":ct>180+vt&&ct<360-vt?"right":"center"):Et="center",K.attr({align:Et})),"auto"===Et&&2===Q.tickPositions.length&&Q.isCircular&&(gt>90&&gt<180?gt=180-gt:gt>270&&gt<=360&&(gt=540-gt),ft>180&&ft<=360&&(ft=360-ft),(Q.pane.options.startAngle===rt||Q.pane.options.startAngle===rt+360||Q.pane.options.startAngle===rt-360)&&(Ct="start"),Et=rt>=-90&&rt<=90||rt>=-360&&rt<=-270||rt>=270&&rt<=360?"start"===Ct?"right":"left":"start"===Ct?"left":"right",ft>70&&ft<110&&(Et="center"),gt<15||gt>=180&&gt<195?bt=.3*dt.height:gt>=15&&gt<=35?bt="start"===Ct?0:.75*dt.height:gt>=195&&gt<=215?bt="start"===Ct?.75*dt.height:0:gt>35&&gt<=90?bt="start"===Ct?-.25*dt.height:dt.height:gt>215&&gt<=270&&(bt="start"===Ct?dt.height:-.25*dt.height),ft<15?xt="start"===Ct?-.15*dt.height:.15*dt.height:ft>165&&ft<=180&&(xt="start"===Ct?.15*dt.height:-.15*dt.height),K.attr({align:Et}),K.translate(xt,bt+ot)),U.pos.x=ht.x+(st.x||0),U.pos.y=ht.y+(lt||0))}function V(U){this.axis.getPosition&&O(U.pos,this.axis.getPosition(this.pos))}function et(U,K){let Q=this.chart,dt=this.center;return U=this.startAngleRad+U,{x:Q.plotLeft+dt[0]+Math.cos(U)*K,y:Q.plotTop+dt[1]+Math.sin(U)*K}}function H(){this.isDirty=!1}function it(){let U,K;this.constructor.prototype.setAxisSize.call(this),this.isRadial&&(this.pane.updateCenter(this),U=this.center=this.pane.center.slice(),this.isCircular?this.sector=this.endAngleRad-this.startAngleRad:(K=this.postTranslate(this.angleRad,U[3]/2),U[0]=K.x-this.chart.plotLeft,U[1]=K.y-this.chart.plotTop),this.len=this.width=this.height=(U[2]-U[3])*p(this.sector,1)/2)}function nt(){this.constructor.prototype.setAxisTranslation.call(this),this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):(this.center[2]-this.center[3])/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)}function pt(U){let K=this.options=g(this.constructor.defaultOptions,this.defaultPolarOptions,v[this.coll],U);K.plotBands||(K.plotBands=[]),I(this,"afterSetOptions")}function mt(U,K,Q,dt,st,ct,rt){let ot,lt=this.axis;return lt.isRadial?["M",K,Q,"L",(ot=lt.getPosition(this.pos,lt.center[2]/2+dt)).x,ot.y]:U.call(this,K,Q,dt,st,ct,rt)}i.compose=function(U,K){return E.pushUnique(e,U)&&(h(U,"afterInit",B),h(U,"autoLabelAlign",$),h(U,"destroy",tt),h(U,"init",J),h(U,"initialAxisTranslation",j)),E.pushUnique(e,K)&&(h(K,"afterGetLabelPosition",W),h(K,"afterGetPosition",V),o(K.prototype,"getMarkPath",mt)),U}}(b||(b={})),b}),G(n,"Series/PolarComposition.js",[n["Core/Animation/AnimationUtilities.js"],n["Core/Globals.js"],n["Core/Series/Series.js"],n["Extensions/Pane.js"],n["Core/Axis/RadialAxis.js"],n["Core/Utilities.js"]],function(C,y,T,E,b,v){let{animObject:A}=C,{addEvent:h,defined:u,find:c,isNumber:O,merge:I,pick:g,relativeLength:p,splat:l,uniqueKey:o,wrap:i}=v,e=[];function r(){(this.pane||[]).forEach(j=>{j.render()})}function a(j){let W=j.args[0].xAxis,V=j.args[0].yAxis,et=j.args[0].chart;W&&V&&("polygon"===V.gridLineInterpolation?(W.startOnTick=!0,W.endOnTick=!0):"polygon"===W.gridLineInterpolation&&et.inverted&&(V.startOnTick=!0,V.endOnTick=!0))}function d(){this.pane||(this.pane=[]),this.options.pane=l(this.options.pane),this.options.pane.forEach(j=>{new E(j,this)},this)}function x(j){let W=j.args.marker,V=this.chart.xAxis[0],et=this.chart.yAxis[0],H=this.chart.inverted,it=H?et:V,nt=H?V:et;if(this.chart.polar){j.preventDefault();let pt=(W.attr?W.attr("start"):W.start)-it.startAngleRad,mt=W.attr?W.attr("r"):W.r,U=(W.attr?W.attr("end"):W.end)-it.startAngleRad,K=W.attr?W.attr("innerR"):W.innerR;j.result.x=pt+it.pos,j.result.width=U-pt,j.result.y=nt.len+nt.pos-K,j.result.height=K-mt}}function m(j){let W=this.chart;if(W.polar&&W.hoverPane&&W.hoverPane.axis){j.preventDefault();let V=W.hoverPane.center,et=this.mouseDownX||0,H=this.mouseDownY||0,it=j.args.chartY,nt=j.args.chartX,pt=2*Math.PI,mt=W.hoverPane.axis.startAngleRad,U=W.hoverPane.axis.endAngleRad,K=W.inverted?W.xAxis[0]:W.yAxis[0],Q={},dt="arc";if(Q.x=V[0]+W.plotLeft,Q.y=V[1]+W.plotTop,this.zoomHor){let st=mt>0?U-mt:Math.abs(mt)+Math.abs(U),ct=Math.atan2(H-W.plotTop-V[1],et-W.plotLeft-V[0])-mt,rt=Math.atan2(it-W.plotTop-V[1],nt-W.plotLeft-V[0])-mt;Q.r=V[2]/2,Q.innerR=V[3]/2,ct<=0&&(ct+=pt),rt<=0&&(rt+=pt),rt<ct&&(rt=[ct,ct=rt][0]),st<pt&&mt+rt>U+(pt-st)/2&&(rt=ct,ct=mt<=0?mt:0);let ot=Q.start=Math.max(ct+mt,mt),lt=Q.end=Math.min(rt+mt,U);if("polygon"===K.options.gridLineInterpolation){let ht=W.hoverPane.axis,vt=ot-ht.startAngleRad+ht.pos,Et=K.getPlotLinePath({value:K.max}),Ct=ht.toValue(vt),gt=ht.toValue(vt+(lt-ot));if(Ct<ht.getExtremes().min){let{min:ft,max:bt}=ht.getExtremes();Ct=bt-(ft-Ct)}if(gt<ht.getExtremes().min){let{min:ft,max:bt}=ht.getExtremes();gt=bt-(ft-gt)}gt<Ct&&(gt=[Ct,Ct=gt][0]),(Et=D(Et,Ct,gt,ht)).push(["L",V[0]+W.plotLeft,W.plotTop+V[1]]),Q.d=Et,dt="path"}}if(this.zoomVert){let st=W.inverted?W.xAxis[0]:W.yAxis[0],ct=Math.sqrt(Math.pow(et-W.plotLeft-V[0],2)+Math.pow(H-W.plotTop-V[1],2)),rt=Math.sqrt(Math.pow(nt-W.plotLeft-V[0],2)+Math.pow(it-W.plotTop-V[1],2));
1if(rt<ct&&(ct=[rt,rt=ct][0]),rt>V[2]/2&&(rt=V[2]/2),ct<V[3]/2&&(ct=V[3]/2),this.zoomHor||(Q.start=mt,Q.end=U),Q.r=rt,Q.innerR=ct,"polygon"===st.options.gridLineInterpolation){let ot=st.toValue(st.len+st.pos-ct),lt=st.toValue(st.len+st.pos-rt),ht=st.getPlotLinePath({value:lt}).concat(st.getPlotLinePath({value:ot,reverse:!0}));Q.d=ht,dt="path"}}if(this.zoomHor&&this.zoomVert&&"polygon"===K.options.gridLineInterpolation){let st=W.hoverPane.axis,ct=Q.start||0,rt=Q.end||0,ot=ct-st.startAngleRad+st.pos,lt=st.toValue(ot),ht=st.toValue(ot+(rt-ct));if(Q.d instanceof Array){let vt=Q.d.slice(0,Q.d.length/2),Et=Q.d.slice(Q.d.length/2,Q.d.length);Et=[...Et].reverse();let Ct=W.hoverPane.axis;vt=D(vt,lt,ht,Ct),(Et=D(Et,lt,ht,Ct))&&(Et[0][0]="L"),Et=[...Et].reverse(),Q.d=vt.concat(Et),dt="path"}}j.attrs=Q,j.shapeType=dt}}function _(){let j=this.chart;j.polar&&(this.polar=new J(this),j.inverted&&(this.isRadialSeries=!0,this.is("column")&&(this.isRadialBar=!0)))}function S(){if(this.chart.polar&&this.xAxis){let{xAxis:j,yAxis:W}=this,V=this.chart;this.kdByAngle=V.tooltip&&V.tooltip.shared,this.kdByAngle?this.searchPoint=P:this.options.findNearestPointBy="xy";let et=this.points,H=et.length;for(;H--;)this.is("column")||this.is("columnrange")||this.polar.toXY(et[H]),V.hasParallelCoordinates||this.yAxis.reversed||(g(et[H].y,Number.MIN_VALUE)<W.min||et[H].x<j.min||et[H].x>j.max?(et[H].isNull=!0,et[H].plotY=NaN):et[H].isNull=et[H].isValid&&!et[H].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!this.eventsToUnbind.push(h(this,"afterRender",function(){let it;V.polar&&!1!==this.options.clip&&(it=this.yAxis.pane.center,this.clipCircle?this.clipCircle.animate({x:it[0],y:it[1],r:it[2]/2,innerR:it[3]/2}):this.clipCircle=function(nt,pt,mt,U,K){let Q=o(),dt=nt.createElement("clipPath").attr({id:Q}).add(nt.defs),st=K?nt.arc(pt,mt,U,K,0,2*Math.PI).add(dt):nt.circle(pt,mt,U).add(dt);return st.id=Q,st.clipPath=dt,st}(V.renderer,it[0],it[1],it[2]/2,it[3]/2),this.group.clip(this.clipCircle),this.setClip=y.noop)})))}}function P(j){let W=this.chart,V=this.xAxis,et=V.pane&&V.pane.center;return this.searchKDTree({clientX:180+Math.atan2(j.chartX-(et&&et[0]||0)-W.plotLeft,j.chartY-(et&&et[1]||0)-W.plotTop)*(-180/Math.PI)})}function D(j,W,V,et){let H=et.tickInterval,it=et.tickPositions,nt=c(it,mt=>mt>=V),pt=c([...it].reverse(),mt=>mt<=W);return u(nt)||(nt=it[it.length-1]),u(pt)||(pt=it[0],nt+=H,j[0][0]="L",j.unshift(j[j.length-3])),(j=j.slice(it.indexOf(pt),it.indexOf(nt)+1))[0][0]="M",j}function R(j,W){return c(this.pane||[],function(V){return V.options.id===W})||j.call(this,W)}function N(j,W,V,et,H,it){let nt,pt,mt,U=this.chart,K=g(et.inside,!!this.options.stacking);var Q;U.polar?(nt=W.rectPlotX/Math.PI*180,U.inverted?(this.forceDL=U.isInsidePlot(W.plotX,W.plotY),K&&W.shapeArgs?(pt=W.shapeArgs,H=I(H,{x:(mt=this.yAxis.postTranslate(((pt.start||0)+(pt.end||0))/2-this.xAxis.startAngleRad,W.barX+W.pointWidth/2)).x-U.plotLeft,y:mt.y-U.plotTop})):W.tooltipPos&&(H=I(H,{x:W.tooltipPos[0],y:W.tooltipPos[1]})),et.align=g(et.align,"center"),et.verticalAlign=g(et.verticalAlign,"middle")):(null===(Q=et).align&&(Q.align=nt>20&&nt<160?"left":nt>200&&nt<340?"right":"center"),null===Q.verticalAlign&&(Q.verticalAlign=nt<45||nt>315?"bottom":nt>135&&nt<225?"top":"middle"),et=Q),T.prototype.alignDataLabel.call(this,W,V,et,H,it),this.isRadialBar&&W.shapeArgs&&W.shapeArgs.start===W.shapeArgs.end?V.hide():V.show()):j.call(this,W,V,et,H,it)}function X(){let dt,st,ct,rt,ot,vt,Et,Ct,gt,ft,bt,xt,Dt,j=this.options,W=j.stacking,V=this.chart,et=this.xAxis,H=this.yAxis,it=H.reversed,nt=H.center,pt=et.startAngleRad,U=et.endAngleRad-pt,K=j.threshold,Q=0,lt=0,ht=0;if(et.isRadial)for(ct=(dt=this.points).length,rt=H.translate(H.min),ot=H.translate(H.max),K=j.threshold||0,V.inverted&&O(K)&&u(Q=H.translate(K))&&(Q<0?Q=0:Q>U&&(Q=U),this.translatedThreshold=Q+pt);ct--;){if(bt=(st=dt[ct]).barX,Et=st.x,Ct=st.y,st.shapeType="arc",V.inverted){st.plotY=H.translate(Ct),W&&H.stacking?(ft=H.stacking.stacks[(Ct<0?"-":"")+this.stackKey],this.visible&&ft&&ft[Et]&&!st.isNull&&(gt=ft[Et].points[this.get
1StackIndicator(void 0,Et,this.index).key],lt=H.translate(gt[0]),ht=H.translate(gt[1]),u(lt)&&(lt=v.clamp(lt,0,U)))):(lt=Q,ht=st.plotY),lt>ht&&(ht=[lt,lt=ht][0]),it?ht>rt?ht=rt:lt<ot?lt=ot:(lt>rt||ht<ot)&&(lt=ht=U):lt<rt?lt=rt:ht>ot?ht=ot:(ht<rt||lt>ot)&&(lt=ht=0),H.min>H.max&&(lt=ht=it?U:0),lt+=pt,ht+=pt,nt&&(st.barX=bt+=nt[3]/2),xt=Math.max(bt,0),Dt=Math.max(bt+st.pointWidth,0);let Mt=j.borderRadius,At=p(("object"==typeof Mt?Mt.radius:Mt)||0,Dt-xt);st.shapeArgs={x:nt[0],y:nt[1],r:Dt,innerR:xt,start:lt,end:ht,borderRadius:At},st.opacity=lt===ht?0:void 0,st.plotY=(u(this.translatedThreshold)&&(lt<this.translatedThreshold?lt:ht))-pt}else lt=bt+pt,st.shapeArgs=this.polar.arc(st.yBottom,st.plotY,lt,lt+st.pointWidth),st.shapeArgs.borderRadius=0;this.polar.toXY(st),V.inverted?(vt=H.postTranslate(st.rectPlotY,bt+st.pointWidth/2),st.tooltipPos=[vt.x-V.plotLeft,vt.y-V.plotTop]):st.tooltipPos=[st.plotX,st.plotY],nt&&(st.ttBelow=st.plotY>nt[1])}}function L(j,W){let V,et,H=this;if(this.chart.polar){W=W||this.points;for(let nt=0;nt<W.length;nt++)if(!W[nt].isNull){V=nt;break}!1!==this.options.connectEnds&&void 0!==V&&(this.connectEnds=!0,W.splice(W.length,0,W[V]),et=!0),W.forEach(nt=>{void 0===nt.polarPlotY&&H.polar.toXY(nt)})}let it=j.apply(this,[].slice.call(arguments,1));return et&&W.pop(),it}function F(j,W){let V=this.chart,et={xAxis:[],yAxis:[]};return V.polar?V.axes.forEach(H=>{if("colorAxis"===H.coll)return;let it=H.isXAxis,nt=H.center,pt=W.chartX-nt[0]-V.plotLeft,mt=W.chartY-nt[1]-V.plotTop;et[it?"xAxis":"yAxis"].push({axis:H,value:H.translate(it?Math.PI-Math.atan2(pt,mt):Math.sqrt(Math.pow(pt,2)+Math.pow(mt,2)),!0)})}):et=j.call(this,W),et}function B(j,W){this.chart.polar||j.call(this,W)}function $(j,W){let K,Q,dt,st,ct,rt,V=this,et=this.chart,H=this.group,it=this.markerGroup,nt=this.xAxis&&this.xAxis.center,pt=et.plotLeft,mt=et.plotTop,U=this.options.animation;et.polar?V.isRadialBar?W||(V.startAngleRad=g(V.translatedThreshold,V.xAxis.startAngleRad),y.seriesTypes.pie.prototype.animate.call(V,W)):(U=A(U),V.is("column")?W||(Q=nt[3]/2,V.points.forEach(ot=>{dt=ot.graphic,ct=(st=ot.shapeArgs)&&st.r,rt=st&&st.innerR,dt&&st&&(dt.attr({r:Q,innerR:Q}),dt.animate({r:ct,innerR:rt},V.options.animation))})):W?(K={translateX:nt[0]+pt,translateY:nt[1]+mt,scaleX:.001,scaleY:.001},H.attr(K),it&&it.attr(K)):(K={translateX:pt,translateY:mt,scaleX:1,scaleY:1},H.animate(K,U),it&&it.animate(K,U))):j.call(this,W)}function tt(j,W,V,et){let H,it;if(this.chart.polar)if(et){it=function mt(U,K,Q,dt){let st,ct,rt,ot,lt,ht,vt=dt?1:0;st=K>=0&&K<=U.length-1?K:K<0?U.length-1+K:0;let Et=st-1<0?U.length-(1+vt):st-1,gt=U[Et],ft=U[st+1>U.length-1?vt:st+1],Tt=U[st].plotX,At=U[st].plotY;ct=(1.5*Tt+gt.plotX)/2.5,rt=(1.5*At+gt.plotY)/2.5,ot=(1.5*Tt+ft.plotX)/2.5,lt=(1.5*At+ft.plotY)/2.5;let Ft=Math.sqrt(Math.pow(ct-Tt,2)+Math.pow(rt-At,2)),St=Math.sqrt(Math.pow(ot-Tt,2)+Math.pow(lt-At,2)),It=Math.atan2(rt-At,ct-Tt),kt=Math.atan2(lt-At,ot-Tt);ht=Math.PI/2+(It+kt)/2,Math.abs(It-ht)>Math.PI/2&&(ht-=Math.PI),ct=Tt+Math.cos(ht)*Ft,rt=At+Math.sin(ht)*Ft,ot=Tt+Math.cos(Math.PI+ht)*St,lt=At+Math.sin(Math.PI+ht)*St;let Rt={rightContX:ot,rightContY:lt,leftContX:ct,leftContY:rt,plotX:Tt,plotY:At};return Q&&(Rt.prevPointCont=mt(U,Et,!1,dt)),Rt}(W,et,!0,this.connectEnds);let nt=it.prevPointCont&&it.prevPointCont.rightContX,pt=it.prevPointCont&&it.prevPointCont.rightContY;H=["C",O(nt)?nt:it.plotX,O(pt)?pt:it.plotY,O(it.leftContX)?it.leftContX:it.plotX,O(it.leftContY)?it.leftContY:it.plotY,it.plotX,it.plotY]}else H=["M",V.plotX,V.plotY];else H=j.call(this,W,V,et);return H}class J{static compose(W,V,et,H,it,nt,pt,mt,U){if(b.compose(W,it),v.pushUnique(e,V)&&(h(V,"afterDrawChartBox",r),h(V,"getAxes",d),h(V,"init",a),i(V.prototype,"get",R)),v.pushUnique(e,et)){let K=et.prototype;i(K,"getCoordinates",F),i(K,"pinch",B),h(et,"getSelectionMarkerAttrs",m),h(et,"getSelectionBox",x)}if(v.pushUnique(e,H)&&(h(H,"afterInit",_),h(H,"afterTranslate",S,{order:2}),h(H,"afterColumnTranslate",X,{order:4}),i(H.prototype,"animate",$)),pt&&v.pushUnique(e,pt)){let K=pt.prototype;i(K,"alignDataLabel",N),i(K,"animate",$)}if(mt&&v.pushUnique(e,mt)&&i(mt.prototype,"getGraphPath",L),U&&v.pushUnique(e,U)){let K=U.prototype;i(K,"getPointSpline",tt),nt&&v.pushUnique(e,nt)&&(nt.prototype.getPointSpline=K.getPointSpline)}}constructor(W){this.series=W}arc(W,V,et,H){let it=this.series,nt=it.xAxis.center,pt=it.yAxis.len,mt=nt[3]/2,U=pt-V+mt,K=pt-g(W,pt)+mt;return it.yAxis.reversed&&(U<0&&(U=mt),K<0&&(K=mt)),{x:nt[0],y:nt[1],r:U,innerR:K,start:et,end:H}}toXY(W){let Q,V=this.series,et=V.chart,H=V.xAxis,it=V.yAxis,nt=W.plotX,pt=et.inverted,mt=W.y,U=W.plotY,K=pt?nt:it.len-U;if(pt&&V&&!V.isRadialBar&&(W.plotY=U=O(mt)?it.translate(mt):0),W.rectPlotX=nt,W.rectPlotY=U,it.center&&(K+=it.center[3]/2),O(U)){let dt=pt?it.postTranslate(U,K):H.postTranslate(nt,K);W.plotX=W.polarPlotX=dt.x-et.plotLeft,W.plotY=W.polarPlotY=dt.y-et.plotTop}
1V.kdByAngle?((Q=(nt/Math.PI*180+H.pane.options.startAngle)%360)<0&&(Q+=360),W.clientX=Q):W.clientX=W.plotX}}return J}),G(n,"Core/Axis/WaterfallAxis.js",[n["Core/Axis/Stacking/StackItem.js"],n["Core/Utilities.js"]],function(C,y){var T;let{addEvent:E,objectEach:b,pushUnique:v}=y;return function(A){let h=[];function u(){let p=this.waterfall.stacks;p&&(p.changed=!1,delete p.alreadyChanged)}function c(){let p=this.options.stackLabels;p&&p.enabled&&this.waterfall.stacks&&this.waterfall.renderStackTotals()}function O(){this.waterfall||(this.waterfall=new g(this))}function I(){let p=this.axes,l=this.series;for(let o of l)if(o.options.stacking){for(let i of p)i.isXAxis||(i.waterfall.stacks.changed=!0);break}}A.compose=function(p,l){v(h,p)&&(E(p,"init",O),E(p,"afterBuildStacks",u),E(p,"afterRender",c)),v(h,l)&&E(l,"beforeRedraw",I)};class g{constructor(l){this.axis=l,this.stacks={changed:!1}}renderStackTotals(){let l=this.axis,o=l.waterfall.stacks,i=l.stacking&&l.stacking.stackTotalGroup,e=new C(l,l.options.stackLabels||{},!1,0,void 0);this.dummyStackItem=e,i&&b(o,r=>{b(r,(a,d)=>{e.total=a.stackTotal,e.x=+d,a.label&&(e.label=a.label),C.prototype.render.call(e,i),a.label=e.label,delete e.label})}),e.total=null}}A.Composition=g}(T||(T={})),T}),G(n,"Series/Waterfall/WaterfallPoint.js",[n["Series/Column/ColumnSeries.js"],n["Core/Series/Point.js"],n["Core/Utilities.js"]],function(C,y,T){let{isNumber:E}=T;return class b extends C.prototype.pointClass{constructor(){super(...arguments),this.options=void 0,this.series=void 0}getClassName(){let A=y.prototype.getClassName.call(this);return this.isSum?A+=" highcharts-sum":this.isIntermediateSum&&(A+=" highcharts-intermediate-sum"),A}isValid(){return E(this.y)||this.isSum||!!this.isIntermediateSum}}}),G(n,"Series/Waterfall/WaterfallSeriesDefaults.js",[],function(){return{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}}}),G(n,"Series/Waterfall/WaterfallSeries.js",[n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"],n["Core/Axis/WaterfallAxis.js"],n["Series/Waterfall/WaterfallPoint.js"],n["Series/Waterfall/WaterfallSeriesDefaults.js"]],function(C,y,T,E,b){let{column:v,line:A}=C.seriesTypes,{addEvent:h,arrayMax:u,arrayMin:c,correctFloat:O,extend:I,isNumber:g,merge:p,objectEach:l,pick:o}=y;function i(r,a){return Object.hasOwnProperty.call(r,a)}class e extends v{constructor(){super(...arguments),this.chart=void 0,this.data=void 0,this.options=void 0,this.points=void 0,this.stackedYNeg=void 0,this.stackedYPos=void 0,this.stackKey=void 0,this.xData=void 0,this.yAxis=void 0,this.yData=void 0}generatePoints(){v.prototype.generatePoints.apply(this);for(let a=0,d=this.points.length;a<d;a++){let x=this.points[a],m=this.processedYData[a];g(m)&&(x.isIntermediateSum||x.isSum)&&(x.y=O(m))}}processData(a){let d,x,m,_,S,P,D=this.options,R=this.yData,N=D.data,X=R.length,L=D.threshold||0;m=x=_=S=0;for(let F=0;F<X;F++)P=R[F],d=N&&N[F]?N[F]:{},"sum"===P||d.isSum?R[F]=O(m):"intermediateSum"===P||d.isIntermediateSum?(R[F]=O(x),x=0):(m+=P,x+=P),_=Math.min(m,_),S=Math.max(m,S);super.processData.call(this,a),D.stacking||(this.dataMin=_+L,this.dataMax=S)}toYData(a){return a.isSum?"sum":a.isIntermediateSum?"intermediateSum":a.y}updateParallelArrays(a,d){super.updateParallelArrays.call(this,a,d),("sum"===this.yData[0]||"intermediateSum"===this.yData[0])&&(this.yData[0]=null)}pointAttribs(a,d){let x=this.options.upColor;x&&!a.options.color&&g(a.y)&&(a.color=a.y>0?x:void 0);let m=v.prototype.pointAttribs.call(this,a,d);return delete m.dashstyle,m}getGraphPath(){return[["M",0,0]]}getCrispPath(){let a=this.data.filter(N=>g(N.y)),d=this.yAxis,x=a.length,m=Math.round(this.graph.strokeWidth())%2/2,_=Math.round(this.borderWidth)%2/2,S=this.xAxis.reversed,P=this.yAxis.reversed,D=this.options.stacking,R=[];for(let N=1;N<x;N++){if(!this.options.connectNulls&&!g(this.data[a[N].index-1].y))continue;let X=a[N].box,L=a[N-1],F=L.y||0,B=a[N-1].box;if(!X||!B)continue;let $=d.waterfall.stacks[this.stackKey],tt=F>0?-B.height:0;if($&&B&&X){let J;J=D?Math.round(d.translate($[N-1].connectorThreshold,!1,!0,!1,!0)+(P?tt:0))-m:B.y+L.minPointLengthOffset+_-m,R.push(["M",(B.x||0)+(S?0:B.width||0),J],["L",(X.x||0)+(S&&X.width||0),J])}if(B&&R.length&&(!D&&F<0&&!P||F>0&&P)){let J=R[R.length-2];J&&"number"==typeof J[2]&&(J[2]+=B.height||0);let j=R[R.length-1];j&&"number"==typeof j[2]&&(j[2]+=B.height||0)}}return R}drawGraph(){A.prototype.drawGraph.call(this),this.graph&&this.graph.attr({d:this.getCrispPath()})}setStackedPoints(a){let N,B,$,tt,J,j,W,V,et,d=this.options,x=a.waterfall?.stacks,m=d.threshold||0,_=this.stackKey,S=this.xData,P=S.length,D=m,R=D,X=0,L=0,F=0,H=(it,nt,pt,mt)=>{if(N){if(B)for(;pt<B;pt++)N.stackState[pt]+=mt;else N.stackState[0]=it,B=N.stackState.length;N.stackState.push(N.stackState[B-1]+nt)}};if(a.stacking&&x&&this.reserveSpace()){et=x.changed,(V=x.alreadyChanged)&&0>V.indexOf(_)&&(et=!0),x[_]||(x[_]={});let it=x[_];if(it)for(let nt=0;nt<P;nt++)(!it[W=S[nt]]||et)&&(it[W]={negTotal:0,posTotal:0,stackTotal:0,threshold:0,stateIndex:0,stackState:[],label:et&&it[W]?it[W].label:void 0}),N=it[W],(j=this.yData[nt])>=0?N.posTotal+=j:N.negTotal+=j,J=d.data[nt],$=N.absolutePos=N.posTotal,tt=N.absoluteNeg=N.negTotal,N.stackTotal=$+tt,B=N.stackState.length,J&&J.isIntermediateSum?(H(F,L,0,F),F=L,L=m,D^=R,R^=D,D^=R):J&&J.isSum?(H(m,X,B,0),D=m):(H(D,j,0,X),J&&(X+=j,L+=j)),N.stateIndex++,N.threshold=D,D+=N.stackTotal;x.changed=!1,x.alreadyChanged||(x.alreadyChanged=[]),x.alreadyChanged.push(_)}}getExtremes(){let a,d,x,m=this.options.stacking;return m?(a=this.yAxis.waterfall.stacks,d=this.stackedYNeg=[],x=this.stackedYPos=[],l(a[this.stackKey],"overlap"===m?function(_){d.push(c(_.stackState)),x.push(u(_.stackState))}:function(_){d.push(_.negTotal+_.threshold),x.push(_.posTotal+_.threshold)}),{dataMin:c(d),dataMax:u(x)}):{dataMin:this.dataMin,dataMax:this.dataMax}}}return e.defaultOptions=p(v.defaultOptions,b),e.compose=T.compose,I(e.prototype,{getZonesGra
1phs:A.prototype.getZonesGraphs,pointValKey:"y",showLine:!0,pointClass:E}),h(e,"afterColumnTranslate",function(){let N,X,L,F,{options:r,points:a,yAxis:d}=this,x=o(r.minPointLength,5),m=x/2,_=r.threshold||0,S=r.stacking,P=d.waterfall.stacks[this.stackKey],D=_,R=_;for(let B=0;B<a.length;B++){let $=a[B],tt=this.processedYData[B],j=I({x:0,y:0,width:0,height:0},$.shapeArgs||{});$.box=j;let W=[0,tt],V=$.y||0;if(S){if(P){let H=P[B];"overlap"===S?(X=H.stackState[H.stateIndex--],N=V>=0?X:X-V,i(H,"absolutePos")&&delete H.absolutePos,i(H,"absoluteNeg")&&delete H.absoluteNeg):(V>=0?(X=H.threshold+H.posTotal,H.posTotal-=V,N=X):(X=H.threshold+H.negTotal,H.negTotal-=V,N=X-V),!H.posTotal&&g(H.absolutePos)&&i(H,"absolutePos")&&(H.posTotal=H.absolutePos,delete H.absolutePos),!H.negTotal&&g(H.absoluteNeg)&&i(H,"absoluteNeg")&&(H.negTotal=H.absoluteNeg,delete H.absoluteNeg)),$.isSum||(H.connectorThreshold=H.threshold+H.stackTotal),d.reversed?(L=V>=0?N-V:N+V,F=N):(L=N,F=N-V),$.below=L<=_,j.y=d.translate(L,!1,!0,!1,!0),j.height=Math.abs(j.y-d.translate(F,!1,!0,!1,!0));let it=d.waterfall.dummyStackItem;it&&(it.x=B,it.label=P[B].label,it.setOffset(this.pointXOffset||0,this.barW||0,this.stackedYNeg[B],this.stackedYPos[B],void 0,this.xAxis))}}else N=Math.max(R,R+V)+W[0],j.y=d.translate(N,!1,!0,!1,!0),$.isSum?(j.y=d.translate(W[1],!1,!0,!1,!0),j.height=Math.min(d.translate(W[0],!1,!0,!1,!0),d.len)-j.y,$.below=W[1]<=_):$.isIntermediateSum?(V>=0?(L=W[1]+D,F=D):(L=D,F=W[1]+D),d.reversed&&(L^=F,F^=L,L^=F),j.y=d.translate(L,!1,!0,!1,!0),j.height=Math.abs(j.y-Math.min(d.translate(F,!1,!0,!1,!0),d.len)),D+=W[1],$.below=L<=_):(j.height=tt>0?d.translate(R,!1,!0,!1,!0)-j.y:d.translate(R,!1,!0,!1,!0)-d.translate(R-tt,!1,!0,!1,!0),R+=tt,$.below=R<_),j.height<0&&(j.y+=j.height,j.height*=-1);$.plotY=j.y=Math.round(j.y||0)-this.borderWidth%2/2,j.height=Math.max(Math.round(j.height||0),.001),$.yBottom=j.y+j.height,j.height<=x&&!$.isNull?(j.height=x,j.y-=m,$.plotY=j.y,$.minPointLengthOffset=V<0?-m:m):($.isNull&&(j.width=0),$.minPointLengthOffset=0);let et=$.plotY+($.negative?j.height:0);$.below&&($.plotY+=j.height),$.tooltipPos&&(this.chart.inverted?$.tooltipPos[0]=d.len-et:$.tooltipPos[1]=et),$.isInside=this.isPointInside($),p(!0,$.shapeArgs,j)}},{order:2}),C.registerSeriesType("waterfall",e),e}),G(n,"masters/highcharts-more.src.js",[n["Core/Globals.js"],n["Core/Series/SeriesRegistry.js"],n["Series/Bubble/BubbleSeries.js"],n["Series/PackedBubble/PackedBubbleSeries.js"],n["Series/PolarComposition.js"],n["Series/Waterfall/WaterfallSeries.js"]],function(C,y,T,E,b,v){T.compose(C.Axis,C.Chart,C.Legend,C.Series),E.compose(C.Axis,C.Chart,C.Legend,C.Series),b.compose(C.Axis,C.Chart,C.Pointer,C.Series,C.Tick,y.seriesTypes.areasplinerange,y.seriesTypes.column,y.seriesTypes.line,y.seriesTypes.spline),v.compose(C.Axis,C.Chart)})},_t.exports?(Y.default=Y,_t.exports=Y):(t=[f(84191)],void 0!==(Z=function(n){return Y(n),Y.Highcharts=n,Y}.apply(ut,t))&&(_t.exports=Z))},59927:(_t,ut,f)=>{var t,Z,Y;Y=function(Y){"use strict";var n=Y?Y._modules:{};function G(C,y,T,E){C.hasOwnProperty(y)||(C[y]=E.apply(null,T),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:y,module:C[y]}})))}G(n,"Core/Axis/Color/ColorAxisComposition.js",[n["Core/Color/Color.js"],n["Core/Utilities.js"]],function(C,y){var T;let{parse:E}=C,{addEvent:b,extend:v,merge:A,pick:h,splat:u}=y;return function(c){let O,I=[];function g(){let m=this.options;this.colorAxis=[],m.colorAxis&&(m.colorAxis=u(m.colorAxis),m.colorAxis.map(_=>new O(this,_)))}function p(m){let D,R,S=N=>{let X=m.allItems.indexOf(N);-1!==X&&(this.destroyItem(m.allItems[X]),m.allItems.splice(X,1))},P=[];for((this.chart.colorAxis||[]).forEach(function(N){(D=N.options)&&D.showInLegend&&(D.dataClasses&&D.visible?P=P.concat(N.getDataClassLegendSymbols()):D.visible&&P.push(N),N.series.forEach(function(X){(!X.options.showInLegend||D.dataClasses)&&("point"===X.options.legendType?X.points.forEach(function(L){S(L)}):S(X))}))}),R=P.length;R--;)m.allItems.unshift(P[R])}function l(m){m.visible&&m.item.legendColor&&m.item.legendItem.symbol.attr({fill:m.item.legendColor})}function o(m){this.chart.colorAxis?.forEach(_=>{_.update({},m.redraw)})}function i(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function e(){let m=this.axisTypes;m?-1===m.indexOf("colorAxis")&&m.push("colorAxis"):this.axisTypes=["colorAxis"]}function r(m){let _=this,S=m?"show":"hide";_.visible=_.options.visible=!!m,["graphic","dataLabel"].forEach(function(P){_[P]&&_[P][S]()}),this.series.buildKDTree()}function a(){let m=this,S=this.options.nullColor,P=this.colorAxis,D=this.colorKey;
1(this.data.length?this.data:this.points).forEach(R=>{let N=R.getNestedProperty(D),X=R.options.color||(R.isNull||null===R.value?S:P&&void 0!==N?P.toColor(N,R):R.color||m.color);X&&R.color!==X&&(R.color=X,"point"===m.options.legendType&&R.legendItem&&R.legendItem.label&&m.chart.legend.colorizeItem(R,R.visible))})}function d(){this.elem.attr("fill",E(this.start).tweenTo(E(this.end),this.pos),void 0,!0)}function x(){this.elem.attr("stroke",E(this.start).tweenTo(E(this.end),this.pos),void 0,!0)}c.compose=function(m,_,S,P,D){if(O||(O=m),y.pushUnique(I,_)){let R=_.prototype;R.collectionsWithUpdate.push("colorAxis"),R.collectionsWithInit.colorAxis=[R.addColorAxis],b(_,"afterGetAxes",g),function(N){let X=N.prototype.createAxis;N.prototype.createAxis=function(L,F){if("colorAxis"!==L)return X.apply(this,arguments);let B=new O(this,A(F.axis,{index:this[L].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach($=>{$.series=[]}),this.series.forEach($=>{$.bindAxes(),$.isDirtyData=!0}),h(F.redraw,!0)&&this.redraw(F.animation),B}}(_)}if(y.pushUnique(I,S)){let R=S.prototype;R.fillSetter=d,R.strokeSetter=x}y.pushUnique(I,P)&&(b(P,"afterGetAllItems",p),b(P,"afterColorizeItem",l),b(P,"afterUpdate",o)),y.pushUnique(I,D)&&(v(D.prototype,{optionalAxis:"colorAxis",translateColors:a}),v(D.prototype.pointClass.prototype,{setVisible:r}),b(D,"afterTranslate",i,{order:1}),b(D,"bindAxes",e))},c.pointSetVisible=r}(T||(T={})),T}),G(n,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{lineWidth:0,minPadding:0,maxPadding:0,gridLineColor:"#ffffff",gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{distance:8,overflow:"justify",rotation:0},minColor:"#e6e9ff",maxColor:"#0022ff",tickLength:5,showInLegend:!0}}),G(n,"Core/Axis/Color/ColorAxisLike.js",[n["Core/Color/Color.js"],n["Core/Utilities.js"]],function(C,y){var T,E;let{parse:b}=C,{merge:v}=y;return(E=T||(T={})).initDataClasses=function(A){let I,g,o,h=this.chart,u=this.legendItem=this.legendItem||{},c=this.options,O=A.dataClasses||[],p=h.options.chart.colorCount,l=0;this.dataClasses=g=[],u.labels=[];for(let i=0,e=O.length;i<e;++i)I=v(I=O[i]),g.push(I),(h.styledMode||!I.color)&&("category"===c.dataClassColor?(h.styledMode||(p=(o=h.options.colors||[]).length,I.color=o[l]),I.colorIndex=l,++l===p&&(l=0)):I.color=b(c.minColor).tweenTo(b(c.maxColor),e<2?.5:i/(e-1)))},E.initStops=function(){let A=this.options,h=this.stops=A.stops||[[0,A.minColor||""],[1,A.maxColor||""]];for(let u=0,c=h.length;u<c;++u)h[u].color=b(h[u][1])},E.normalizedValue=function(A){let h=this.max||0,u=this.min||0;return this.logarithmic&&(A=this.logarithmic.log2lin(A)),1-(h-A)/(h-u||1)},E.toColor=function(A,h){let u,c,O,I,g,p,l=this.dataClasses,o=this.stops;if(l){for(p=l.length;p--;)if(c=(g=l[p]).from,O=g.to,(void 0===c||A>=c)&&(void 0===O||A<=O)){I=g.color,h&&(h.dataClass=p,h.colorIndex=g.colorIndex);break}}else{for(u=this.normalizedValue(A),p=o.length;p--&&!(u>o[p][0]););c=o[p]||o[p+1],u=1-((O=o[p+1]||c)[0]-u)/(O[0]-c[0]||1),I=c.color.tweenTo(O.color,u)}return I},T}),G(n,"Core/Axis/Color/ColorAxis.js",[n["Core/Axis/Axis.js"],n["Core/Axis/Color/ColorAxisComposition.js"],n["Core/Axis/Color/ColorAxisDefaults.js"],n["Core/Axis/Color/ColorAxisLike.js"],n["Core/Legend/LegendSymbol.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(C,y,T,E,b,v,A){let{series:h}=v,{extend:u,fireEvent:c,isArray:O,isNumber:I,merge:g,pick:p}=A;class l extends C{static compose(i,e,r,a){y.compose(l,i,e,r,a)}constructor(i,e){super(i,e),this.beforePadding=!1,this.chart=void 0,this.coll="colorAxis",this.dataClasses=void 0,this.options=void 0,this.stops=void 0,this.visible=!0,this.init(i,e)}init(i,e){let r=i.options.legend||{},a=e.layout?"vertical"!==e.layout:"vertical"!==r.layout,x=g(l.defaultColorAxisOptions,e,{showEmpty:!1,title:null,visible:r.enabled&&!1!==e.visible});this.side=e.side||a?2:1,this.reversed=e.reversed||!a,this.opposite=!a,super.init(i,x,"colorAxis"),this.userOptions=e,O(i.userOptions.colorAxis)&&(i.userOptions.colorAxis[this.index]=e),e.dataClasses&&this.initDataClasses(e),this.initStops(),this.horiz=a,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(i){super.setOptions(i),this.options.crosshair=this.options.marker}setAxisSize(){let i,e,r,a,d=this.legendItem&&this.legendItem.symbol,x=this.chart,m=x.options.legend||{};d?(this.left=i=d.attr("x"),this.top=e=d.attr("y"),this.width=r=d.attr("width"),this.height=a=d.attr("height"),this.right=x.chartWidth-i-r,this.bottom=x.chartHe
1ight-e-a,this.len=this.horiz?r:a,this.pos=this.horiz?i:e):this.len=(this.horiz?m.symbolWidth:m.symbolHeight)||l.defaultLegendLength}getOffset(){let i=this.legendItem&&this.legendItem.group,e=this.chart.axisOffset[this.side];if(i){this.axisParent=i,super.getOffset();let r=this.chart.legend;r.allItems.forEach(function(a){a instanceof l&&a.drawLegendSymbol(r,a)}),r.render(),this.chart.getMargins(!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=e}}setLegendColor(){let e=this.reversed,r=e?1:0,a=e?0:1,d=this.horiz?[r,0,a,0]:[0,a,0,r];this.legendColor={linearGradient:{x1:d[0],y1:d[1],x2:d[2],y2:d[3]},stops:this.stops}}drawLegendSymbol(i,e){let r=e.legendItem||{},a=i.padding,d=i.options,x=this.options.labels,m=p(d.itemDistance,10),_=this.horiz,S=p(d.symbolWidth,_?l.defaultLegendLength:12),P=p(d.symbolHeight,_?12:l.defaultLegendLength),D=p(d.labelPadding,_?16:30);this.setLegendColor(),r.symbol||(r.symbol=this.chart.renderer.symbol("roundedRect",0,i.baseline-11,S,P,{r:d.symbolRadius??3}).attr({zIndex:1}).add(r.group)),r.labelWidth=S+a+(_?m:p(x.x,x.distance)+this.maxLabelLength),r.labelHeight=P+a+(_?D:0)}setState(i){this.series.forEach(function(e){e.setState(i)})}setVisible(){}getSeriesExtremes(){let e,r,a,d,x,m,S,P,i=this.series,_=i.length;for(this.dataMin=1/0,this.dataMax=-1/0;_--;){if(r=(m=i[_]).colorKey=p(m.options.colorKey,m.colorKey,m.pointValKey,m.zoneAxis,"y"),d=m.pointArrayMap,x=m[r+"Min"]&&m[r+"Max"],m[r+"Data"])e=m[r+"Data"];else if(d){if(e=[],a=d.indexOf(r),S=m.yData,a>=0&&S)for(P=0;P<S.length;P++)e.push(p(S[P][a],S[P]))}else e=m.yData;if(x)m.minColorValue=m[r+"Min"],m.maxColorValue=m[r+"Max"];else{let D=h.prototype.getExtremes.call(m,e);m.minColorValue=D.dataMin,m.maxColorValue=D.dataMax}void 0!==m.minColorValue&&(this.dataMin=Math.min(this.dataMin,m.minColorValue),this.dataMax=Math.max(this.dataMax,m.maxColorValue)),x||h.prototype.applyExtremes.call(m)}}drawCrosshair(i,e){let r,a=this.legendItem||{},d=e&&e.plotX,x=e&&e.plotY,m=this.pos,_=this.len;e&&((r=this.toPixels(e.getNestedProperty(e.series.colorKey)))<m?r=m-2:r>m+_&&(r=m+_+2),e.plotX=r,e.plotY=this.len-r,super.drawCrosshair(i,e),e.plotX=d,e.plotY=x,this.cross&&!this.cross.addedToColorAxis&&a.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(a.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(i){let e=this.left,r=i.translatedValue,a=this.top;return I(r)?this.horiz?[["M",r-4,a-6],["L",r+4,a-6],["L",r,a],["Z"]]:[["M",e,r],["L",e-6,r+6],["L",e-6,r-6],["Z"]]:super.getPlotLinePath(i)}update(i,e){let a=this.chart.legend;this.series.forEach(d=>{d.isDirtyData=!0}),(i.dataClasses&&a.allItems||this.dataClasses)&&this.destroyItems(),super.update(i,e),this.legendItem&&this.legendItem.label&&(this.setLegendColor(),a.colorizeItem(this,!0))}destroyItems(){let i=this.chart,e=this.legendItem||{};if(e.label)i.legend.destroyItem(this);else if(e.labels)for(let r of e.labels)i.legend.destroyItem(r);i.isDirtyLegend=!0}destroy(){this.chart.isDirtyLegend=!0,this.destroyItems(),super.destroy(...[].slice.call(arguments))}remove(i){this.destroyItems(),super.remove(i)}getDataClassLegendSymbols(){let i,e=this,r=e.chart,a=e.legendItem&&e.legendItem.labels||[],d=r.options.legend,x=p(d.valueDecimals,-1),m=p(d.valueSuffix,""),_=S=>e.series.reduce((P,D)=>(P.push(...D.points.filter(R=>R.dataClass===S)),P),[]);return a.length||e.dataClasses.forEach((S,P)=>{let D=S.from,R=S.to,{numberFormatter:N}=r,X=!0;i="",void 0===D?i="< ":void 0===R&&(i="> "),void 0!==D&&(i+=N(D,x)+m),void 0!==D&&void 0!==R&&(i+=" - "),void 0!==R&&(i+=N(R,x)+m),a.push(u({chart:r,name:i,options:{},drawLegendSymbol:b.rectangle,visible:!0,isDataClass:!0,setState:L=>{for(let F of _(P))F.setState(L)},setVisible:function(){this.visible=X=e.visible=!X;let L=[];for(let F of _(P))F.setVisible(X),-1===L.indexOf(F.series)&&L.push(F.series);r.legend.colorizeItem(this,X),L.forEach(F=>{c(F,"afterDataClassLegendClick")})}},S))}),a}}return l.defaultColorAxisOptions=T,l.defaultLegendLength=200,l.keepProps=["legendItem"],u(l.prototype,E),Array.prototype.push.apply(C.keepProps,l.keepProps),l}),G(n,"Series/ColorMapComposition.js",[n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(C,y){var T;let{column:{prototype:E}}=C.seriesTypes,{addEvent:b,defined:v}=y;return function(A){let h=[];function u(c){this.moveToTopOnHover&&this.graphic&&this.graphic.attr({zIndex:c&&"hover"===c.state?1:0})}
1A.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},A.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(c){let O={};return v(c.color)&&(!c.state||"normal"===c.state)&&(O[this.colorProp||"fill"]=c.color),O},pointAttribs:E.pointAttribs},A.compose=function(c){let O=c.prototype.pointClass;return y.pushUnique(h,O)&&b(O,"afterSetState",u),c}}(T||(T={})),T}),G(n,"Series/Heatmap/HeatmapPoint.js",[n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(C,y){let{scatter:{prototype:{pointClass:T}}}=C.seriesTypes,{clamp:E,defined:b,extend:v,pick:A}=y;class h extends T{constructor(){super(...arguments),this.options=void 0,this.series=void 0,this.value=void 0,this.x=void 0,this.y=void 0}applyOptions(c,O){return(this.isNull||null===this.value)&&delete this.color,super.applyOptions(c,O),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let c=this.series,O=c.options,I=(O.colsize||1)/2,g=(O.rowsize||1)/2,p=c.xAxis,l=c.yAxis,o=this.options.marker||c.options.marker,i=c.pointPlacementToXValue(),e=A(this.pointPadding,O.pointPadding,0),r={x1:E(Math.round(p.len-p.translate(this.x-I,!1,!0,!1,!0,-i)),-p.len,2*p.len),x2:E(Math.round(p.len-p.translate(this.x+I,!1,!0,!1,!0,-i)),-p.len,2*p.len),y1:E(Math.round(l.translate(this.y-g,!1,!0,!1,!0)),-l.len,2*l.len),y2:E(Math.round(l.translate(this.y+g,!1,!0,!1,!0)),-l.len,2*l.len)};for(let a of[["width","x"],["height","y"]]){let d=a[0],x=a[1],m=x+"1",_=x+"2",S=Math.abs(r[m]-r[_]),P=o&&o.lineWidth||0,D=Math.abs(r[m]+r[_])/2,R=o&&o[d];if(b(R)&&R<S){let N=R/2+P/2;r[m]=D-N,r[_]=D+N}e&&(("x"===x&&p.reversed||"y"===x&&!l.reversed)&&(m=_,_=x+"1"),r[m]+=e,r[_]-=e)}return r}haloPath(c){if(!c)return[];let{x:O=0,y:I=0,width:g=0,height:p=0}=this.shapeArgs||{};return[["M",O-c,I-c],["L",O-c,I+p+c],["L",O+g+c,I+p+c],["L",O+g+c,I-c],["Z"]]}isValid(){return this.value!==1/0&&this.value!==-1/0}}return v(h.prototype,{dataLabelOnNull:!0,moveToTopOnHover:!0,ttBelow:!1}),h}),G(n,"Series/Heatmap/HeatmapSeriesDefaults.js",[n["Core/Utilities.js"]],function(C){let{isNumber:y}=C;return{animation:!1,borderRadius:0,borderWidth:0,interpolation:!1,nullColor:"#f7f7f7",dataLabels:{formatter:function(){let{numberFormatter:T}=this.series.chart,{value:E}=this.point;return y(E)?T(E,-1):""},inside:!0,verticalAlign:"middle",crop:!1,overflow:"allow",padding:0},marker:{symbol:"rect",radius:0,lineColor:void 0,states:{hover:{lineWidthPlus:0},select:{}}},clip:!0,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}<br/>"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}}),G(n,"Series/InterpolationUtilities.js",[n["Core/Globals.js"],n["Core/Utilities.js"]],function(C,y){let{doc:T}=C,{defined:E,pick:b}=y;return{colorFromPoint:function(v,A){let h=A.series.colorAxis;if(h){let u=h.toColor(v||0,A).split(")")[0].split("(")[1].split(",").map(c=>b(parseFloat(c),parseInt(c,10)));return u[3]=255*b(u[3],1),E(v)&&A.visible||(u[3]=0),u}return[0,0,0,0]},getContext:function(v){let{canvas:A,context:h}=v;return A&&h?(h.clearRect(0,0,A.width,A.height),h):(v.canvas=T.createElement("canvas"),v.context=v.canvas.getContext("2d",{willReadFrequently:!0})||void 0,v.context)}}}),G(n,"Series/Heatmap/HeatmapSeries.js",[n["Core/Color/Color.js"],n["Series/ColorMapComposition.js"],n["Series/Heatmap/HeatmapPoint.js"],n["Series/Heatmap/HeatmapSeriesDefaults.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Renderer/SVG/SVGRenderer.js"],n["Core/Utilities.js"],n["Series/InterpolationUtilities.js"]],function(C,y,T,E,b,v,A,h){let{series:u,seriesTypes:{column:c,scatter:O}}=b,{prototype:{symbols:I}}=v,{addEvent:g,extend:p,fireEvent:l,isNumber:o,merge:i,pick:e}=A,{colorFromPoint:r,getContext:a}=h;class d extends O{constructor(){super(...arguments),this.canvas=void 0,this.colorAxis=void 0,this.context=void 0,this.data=void 0,this.options=void 0,this.points=void 0,this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let m=this,_=m.options,P=_.marker||{};if(_.interpolation){let{image:D,chart:R,xAxis:N,yAxis:X}=m,{reversed:L=!1,len:F}=N,{reversed:B=!1,len:$}=X,tt={width:F,height:$};if(!D||m.isDirtyData||m.isDirtyCanvas){let J=a(m),{canvas:j,options:{colsize:W=1,rowsize:V=1},points:et,points:{length:H}}=m;if(j&&J&&R.colorAxis&&R.colorAxis[0]){let{min:nt,max:pt}=N.getExtremes(),{min:mt,max:U}=X.getExtremes(),K=pt-nt,Q=U-mt,dt=Math.round(K/W/8*8),st=Math.round(Q/V/8*8),[ct,rt]=[[dt,dt/K,L,"ceil"],[st,st/Q,!B,"floor"]].map(([gt,ft,bt,xt])=>bt?Dt=>Math[xt](gt-ft*Dt):Dt=>Math[xt](ft*Dt)),ot=j.width=dt+1,lt=j.height=st+1,ht=ot*lt,vt=(H-1)/ht,Et=new Uint8ClampedArray(4*ht),Ct=(gt,ft)=>4*Math.ceil(ot*rt(ft-mt)+ct(gt-nt));m.buildKDTree();for(let gt=0;gt<ht;gt++){let ft=et[Math.ceil(vt*gt)],{x:bt,y:xt}=ft;Et.set(r(ft.value,ft),Ct(bt,xt))}J.putImageData(new ImageData(Et,ot),0,0),D?D.attr({...tt,href:j.toDataURL("image/png",1)}):(m.directTouch=!1,m.image=R.renderer.image(j.toDataURL("image/png",1)).attr(tt).add(m.group))}m.isDirtyCanvas=!1}else(D.width!==F||D.height!==$)&&D.attr(tt)}else(P.enabled||m._hasPointMarkers)&&(u.prototype.drawPoints.call(m),m.points.forEac
1h(D=>{D.graphic&&(D.graphic[m.chart.styledMode?"css":"animate"](m.colorAttribs(D)),null===D.value&&D.graphic.addClass("highcharts-null-point"))}))}getExtremes(){let{dataMin:m,dataMax:_}=u.prototype.getExtremes.call(this,this.valueData);return o(m)&&(this.valueMin=m),o(_)&&(this.valueMax=_),u.prototype.getExtremes.call(this)}getValidPoints(m,_){return u.prototype.getValidPoints.call(this,m,_,!0)}hasData(){return!!this.processedXData.length}init(){super.init.apply(this,arguments);let m=this.options;m.pointRange=e(m.pointRange,m.colsize||1),this.yAxis.axisPointRange=m.rowsize||1,I.ellipse=I.circle,m.marker&&o(m.borderRadius)&&(m.marker.r=m.borderRadius)}markerAttribs(m,_){let S=m.shapeArgs||{};if(m.hasImage)return{x:m.plotX,y:m.plotY};if(_&&"normal"!==_){let P=m.options.marker||{},D=this.options.marker||{},R=D.states&&D.states[_]||{},N=P.states&&P.states[_]||{},X=(N.width||R.width||S.width||0)+(N.widthPlus||R.widthPlus||0),L=(N.height||R.height||S.height||0)+(N.heightPlus||R.heightPlus||0);return{x:(S.x||0)+((S.width||0)-X)/2,y:(S.y||0)+((S.height||0)-L)/2,width:X,height:L}}return S}pointAttribs(m,_){let S=u.prototype.pointAttribs.call(this,m,_),P=this.options||{},D=this.chart.options.plotOptions||{},R=D.series||{},N=D.heatmap||{},L=m&&m.options.borderWidth||P.borderWidth||N.borderWidth||R.borderWidth||S["stroke-width"];if(S.stroke=m&&m.marker&&m.marker.lineColor||P.marker&&P.marker.lineColor||m&&m.options.borderColor||P.borderColor||N.borderColor||R.borderColor||this.color,S["stroke-width"]=L,_&&"normal"!==_){let F=i(P.states&&P.states[_],P.marker&&P.marker.states&&P.marker.states[_],m&&m.options.states&&m.options.states[_]||{});S.fill=F.color||C.parse(S.fill).brighten(F.brightness||0).get(),S.stroke=F.lineColor||S.stroke}return S}translate(){let m=this.options,{borderRadius:_,marker:S}=m,P=S&&S.symbol||"rect",D=I[P]?P:"rect",R=-1!==["circle","square"].indexOf(D);for(let N of(this.generatePoints(),this.points)){let X=N.getCellAttributes(),L=Math.min(X.x1,X.x2),F=Math.min(X.y1,X.y2),B=Math.max(Math.abs(X.x2-X.x1),0),$=Math.max(Math.abs(X.y2-X.y1),0);if(N.hasImage=0===(N.marker&&N.marker.symbol||P||"").indexOf("url"),R){let tt=Math.abs(B-$);L=Math.min(X.x1,X.x2)+(B<$?0:tt/2),F=Math.min(X.y1,X.y2)+(B<$?tt/2:0),B=$=Math.min(B,$)}N.hasImage&&(N.marker={width:B,height:$}),N.plotX=N.clientX=(X.x1+X.x2)/2,N.plotY=(X.y1+X.y2)/2,N.shapeType="path",N.shapeArgs=i(!0,{x:L,y:F,width:B,height:$},{d:I[D](L,F,B,$,{r:o(_)?_:0})})}l(this,"afterTranslate")}}return d.defaultOptions=i(O.defaultOptions,E),g(d,"afterDataClassLegendClick",function(){this.isDirtyCanvas=!0,this.drawPoints()}),p(d.prototype,{axisTypes:y.seriesMembers.axisTypes,colorKey:y.seriesMembers.colorKey,directTouch:!0,getExtremesFromAll:!0,parallelArrays:y.seriesMembers.parallelArrays,pointArrayMap:["y","value"],pointClass:T,specialGroup:"group",trackerGroups:y.seriesMembers.trackerGroups,alignDataLabel:c.prototype.alignDataLabel,colorAttribs:y.seriesMembers.colorAttribs,getSymbol:u.prototype.getSymbol}),y.compose(d),b.registerSeriesType("heatmap",d),d}),G(n,"masters/modules/heatmap.src.js",[n["Core/Globals.js"],n["Core/Axis/Color/ColorAxis.js"]],function(C,y){C.ColorAxis=y,y.compose(C.Chart,C.Fx,C.Legend,C.Series)})},_t.exports?(Y.default=Y,_t.exports=Y):(t=[f(84191)],void 0!==(Z=function(n){return Y(n),Y.Highcharts=n,Y}.apply(ut,t))&&(_t.exports=Z))},6810:(_t,ut,f)=>{var t,Z,Y;Y=function(Y){"use strict";var n=Y?Y._modules:{};function G(C,y,T,E){C.hasOwnProperty(y)||(C[y]=E.apply(null,T),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:y,module:C[y]}})))}G(n,"Core/Axis/Color/ColorAxisLike.js",[n["Core/Color/Color.js"],n["Core/Utilities.js"]],function(C,y){var T,E;let{parse:b}=C,{merge:v}=y;return(E=T||(T={})).initDataClasses=function(A){let I,g,o,h=this.chart,u=this.legendItem=this.legendItem||{},c=this.options,O=A.dataClasses||[],p=h.options.chart.colorCount,l=0;this.dataClasses=g=[],u.labels=[];for(let i=0,e=O.length;i<e;++i)I=v(I=O[i]),g.push(I),(h.styledMode||!I.color)&&("category"===c.dataClassColor?(h.styledMode||(p=(o=h.options.colors||[]).length,I.color=o[l]),I.colorIndex=l,++l===p&&(l=0)):I.color=b(c.minColor).tweenTo(b(c.maxColor),e<2?.5:i/(e-1)))},E.initStops=function(){let A=this.options,h=this.stops=A.stops||[[0,A.minColor||""],[1,A.maxColor||""]];for(let u=0,c=h.length;u<c;++u)h[u].color=b(h[u][1])},E.normalizedValue=function(A){let h=this.max||0,u=this.min||0;return this.logarithmic&&(A=this.logarithmic.log2lin(A)),1-(h-A)/(h-u||1)},E.toColor=function(A,h){let u,c,O,I,g,p,l=this.dataClasses,o=this.stops;if(l){for(p=l.length;p--;)if(c=(g=l[p]).from,O=g.to,(void 0===c||A>=c)&&(void 0===O||A<=O)){I=g.color,h&&(h.dataClass=p,h.colorIndex=g.colorIndex);break}}else{for(u=this.normalizedValue(A),p=o.length;p--&&!(u>o[p][0]););
1c=o[p]||o[p+1],u=1-((O=o[p+1]||c)[0]-u)/(O[0]-c[0]||1),I=c.color.tweenTo(O.color,u)}return I},T}),G(n,"Core/Axis/SolidGaugeAxis.js",[n["Core/Axis/Color/ColorAxisLike.js"],n["Core/Utilities.js"]],function(C,y){let{extend:T}=y;return{init:function(E){T(E,C)}}}),G(n,"Series/SolidGauge/SolidGaugeSeriesDefaults.js",[],function(){return{colorByPoint:!0,dataLabels:{y:0}}}),G(n,"Series/SolidGauge/SolidGaugeSeries.js",[n["Extensions/BorderRadius.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Axis/SolidGaugeAxis.js"],n["Series/SolidGauge/SolidGaugeSeriesDefaults.js"],n["Core/Utilities.js"]],function(C,y,T,E,b){let{gauge:v,pie:A}=y.seriesTypes,{clamp:h,extend:u,isNumber:c,merge:O,pick:I,pInt:g}=b;class p extends v{constructor(){super(...arguments),this.data=void 0,this.points=void 0,this.options=void 0,this.axis=void 0,this.yAxis=void 0,this.startAngleRad=void 0,this.thresholdAngleRad=void 0}translate(){let o=this.yAxis;T.init(o),!o.dataClasses&&o.options.dataClasses&&o.initDataClasses(o.options),o.initStops(),v.prototype.translate.call(this)}drawPoints(){let o,i=this.yAxis,e=i.center,r=this.options,a=this.chart.renderer,d=r.overshoot,x=r.rounded&&void 0===r.borderRadius,m=c(d)?d/180*Math.PI:0;for(let _ of(c(r.threshold)&&(o=i.startAngleRad+i.translate(r.threshold,void 0,void 0,void 0,!0)),this.thresholdAngleRad=I(o,i.startAngleRad),this.points))if(!_.isNull){let L,F,S=g(I(_.options.radius,r.radius,100))*e[2]/200,P=g(I(_.options.innerRadius,r.innerRadius,60))*e[2]/200,D=Math.min(i.startAngleRad,i.endAngleRad),R=Math.max(i.startAngleRad,i.endAngleRad),N=_.graphic,X=i.startAngleRad+i.translate(_.y,void 0,void 0,void 0,!0),B=i.toColor(_.y,_);"none"===B&&(B=_.color||this.color||"none"),"none"!==B&&(_.color=B),X=h(X,D-m,R+m),!1===r.wrap&&(X=h(X,D,R));let $=x?(S-P)/2/S:0,tt=Math.min(X,this.thresholdAngleRad)-$,J=Math.max(X,this.thresholdAngleRad)+$;J-tt>2*Math.PI&&(J=tt+2*Math.PI);let j=x?"50%":0;r.borderRadius&&(j=C.optionsToObject(r.borderRadius).radius),_.shapeArgs=L={x:e[0],y:e[1],r:S,innerR:P,start:tt,end:J,borderRadius:j},_.startR=S,N?(F=L.d,N.animate(u({fill:B},L)),F&&(L.d=F)):_.graphic=N=a.arc(L).attr({fill:B,"sweep-flag":0}).add(this.group),this.chart.styledMode||("square"!==r.linecap&&N.attr({"stroke-linecap":"round","stroke-linejoin":"round"}),N.attr({stroke:r.borderColor||"none","stroke-width":r.borderWidth||0})),N&&N.addClass(_.getClassName(),!0)}}animate(o){o||(this.startAngleRad=this.thresholdAngleRad,A.prototype.animate.call(this,o))}}return p.defaultOptions=O(v.defaultOptions,E),y.registerSeriesType("solidgauge",p),p}),G(n,"masters/modules/solid-gauge.src.js",[],function(){})},_t.exports?(Y.default=Y,_t.exports=Y):(t=[f(84191),f(98504)],void 0!==(Z=function(n){return Y(n),Y.Highcharts=n,Y}.apply(ut,t))&&(_t.exports=Z))},69076:(_t,ut,f)=>{"use strict";function t(Z){const Y=Z;Y.wrap(Y.seriesTypes.areaspline.prototype,"translate",function(A){A.call(this),this.points.filter(h=>!!h.change).forEach(h=>{const u=h.change>0?this.options.color:this.options.negativeColor;h.applyOptions({marker:{fillColor:u,lineColor:u}})})});const n=new Map,G=new Map,C=new Map,y=new Map,E=function(A,h){const u=y.get(A).groupings;if(h>u[0].zoomTimeSpan)return 0;for(let c=1;c<u.length;c++)if(h<=u[c-1].zoomTimeSpan&&h>u[c].zoomTimeSpan)return c;return u.length},b=function(A,h){A.points?(A.points=A.points.filter(u=>!u.destroyed),n.get(A).apply(A,[h,!1,!1])):h.forEach(u=>A.addPoint(u,!1))};var v=function(A){return A.renderTo.id===EXPORT_DATA_ID};Y.wrap(Y.Series.prototype,"setData",function(A){if(!v(this.chart)){const h=this.chart.options.flagsGrouping,u=arguments[1];"flags"===this.type&&h&&u&&u.length&&(u[0].initialPoints||(function(A,h,u){const I=u.groupings.map(function(g,p){const l=g.groupTimeSpan,o=[];let i=[],e=0,r=(h[0]?h[0].x:0)+l;for(let a=0;a<h.length;a++)if(i.push(h[a]),e+=h[a].x,!h[a+1]||h[a+1].x>r){e/=i.length;const d=i.reduce((m,_)=>m+_.value,0);o.push({x:e+100,title:i.length,data:{groupStartDate:i[0].x,groupEndDate:r,groupSum:d,multiple:i.length>1,header:i[0].data.header,suffix:i[0].data.suffix},initialPoints:i}),i=[],e=0,h[a+1]&&(r=h[a+1].x+l)}return o}
1);I.push(h),G.set(A,{isAddedToChart:!1,pointsLists:I})}(this,u,h),y.set(this.chart,h),arguments[1]=[])),n.set(this,A)}A.apply(this,Array.prototype.slice.call(arguments,1))}),Y.wrap(Y.Chart.prototype,"destroy",function(A){G.clear(),n.clear(),C.clear(),y.clear(),A.apply(this,Array.prototype.slice.call(arguments,1))}),Y.wrap(Y.Series.prototype,"translate",function(A){if(!v(this.chart)){var h=this.chart.options.flagsGrouping,c=G.get(this);if("flags"===this.type&&h&&c&&!c.isAddedToChart){var O=this.xAxis.getExtremes(),I=E(this.chart,O.max-O.min);C.set(this,I);var g=[...G.get(this).pointsLists[I]];b(this,g),G.get(this).isAddedToChart=!0}}A.apply(this,Array.prototype.slice.call(arguments,1))}),Y.wrap(Y.Axis.prototype,"setExtremes",function(A,h,u){if(!v(this.chart)){var O=this.chart,I=this,g=u-h;this.chart.options.flagsGrouping&&"xAxis"===I.coll&&(void 0===h&&void 0===u&&(h=I.getExtremes().dataMin,u=I.getExtremes().dataMax,g=u-h),G.forEach(function(p,l){if(l.chart===O&&l.xAxis===I&&G.get(l).isAddedToChart){var o=E(O,g);if(C.get(l)!==o){var i=G.get(l).pointsLists[o];b(l,i),C.set(l,o)}}}))}A.apply(this,Array.prototype.slice.call(arguments,1))}),Y.wrap(Y.Point.prototype,"firePointEvent",function(A,h){var u=this.series.chart.options.flagsGrouping;if(A.apply(this,Array.prototype.slice.call(arguments,1)),u&&u.selectGroupOnClick&&"click"===h&&this.series&&"flags"===this.series.type&&this.initialPoints&&this.initialPoints.length>1){var c=this.initialPoints[0].x,O=this.initialPoints[this.initialPoints.length-1].x;if(O-c<u.minSelectableDateRange){var I=(u.minSelectableDateRange-(O-c))/2;O+=I,(c-=I)<this.series.xAxis.dataMin?(O+=this.series.xAxis.dataMin-c,c=this.series.xAxis.dataMin):O>this.series.xAxis.dataMax&&(c-=O-this.series.xAxis.dataMax,O=this.series.xAxis.dataMax)}this.series.xAxis.setExtremes(c,O,!0,!0)}})}f.d(ut,{A:()=>t})},72510:(_t,ut,f)=>{"use strict";f.d(ut,{MQ:()=>Jt,QQ:()=>St,Uq:()=>Ct,aL:()=>$t,vr:()=>Kt});var t=f(54438),Z=f(89417),Y=f(56977),n=f(13798),G=f(99172),C=f(88141),y=f(70152),T=f(5964),E=f(96354),b=f(30536),v=f(25007),A=f(21413),h=f(33726),u=f(57786),c=f(60177);const O=["content"],I=["scroll"],g=["padding"],p=["*"],l=w=>({searchTerm:w});function o(w,z){if(1&w&&(t.j41(0,"div",6),t.eu8(1,7),t.k0s()),2&w){const s=t.XpG();t.R7$(),t.Y8G("ngTemplateOutlet",s.headerTemplate)("ngTemplateOutletContext",t.eq3(2,l,s.filterValue))}}function i(w,z){if(1&w&&(t.j41(0,"div",8),t.eu8(1,7),t.k0s()),2&w){const s=t.XpG();t.R7$(),t.Y8G("ngTemplateOutlet",s.footerTemplate)("ngTemplateOutletContext",t.eq3(2,l,s.filterValue))}}const e=["searchInput"],r=["clearButton"],a=(w,z,s)=>({item:w,clear:z,label:s}),d=(w,z)=>({items:w,clear:z}),x=(w,z,s,M)=>({item:w,item$:z,index:s,searchTerm:M});function m(w,z){if(1&w){const s=t.RV6();t.j41(0,"span",22),t.bIt("click",function(){t.eBV(s);const k=t.XpG().$implicit,q=t.XpG(2);return t.Njj(q.unselect(k))}),t.EFF(1,"\xd7"),t.k0s(),t.nrm(2,"span",23)}if(2&w){const s=t.XpG().$implicit,M=t.XpG(2);t.R7$(2),t.Y8G("ngItemLabel",s.label)("escape",M.escapeHTML)}}function _(w,z){}function S(w,z){if(1&w&&(t.j41(0,"div",20),t.DNE(1,m,3,2,"ng-template",null,1,t.C5r)(3,_,0,0,"ng-template",21),t.k0s()),2&w){const s=z.$implicit,M=t.sdS(2),k=t.XpG(2);t.AVh("ng-value-disabled",s.disabled),t.R7$(3),t.Y8G("ngTemplateOutlet",k.labelTemplate||M)("ngTemplateOutletContext",t.sMw(4,a,s.value,k.clearItem,s.label))}}function P(w,z){if(1&w&&(t.qex(0),t.DNE(1,S,4,8,"div",19),t.bVm()),2&w){const s=t.XpG();t.R7$(),t.Y8G("ngForOf",s.selectedItems)("ngForTrackBy",s.trackByOption)}}function D(w,z){}function R(w,z){if(1&w&&t.DNE(0,D,0,0,"ng-template",21),2&w){const s=t.XpG();t.Y8G("ngTemplateOutlet",s.multiLabelTemplate)("ngTemplateOutletContext",t.l_i(2,d,s.selectedValues,s.clearItem))}}function N(w,z){1&w&&t.nrm(0,"div",25)}function X(w,z){}function L(w,z){if(1&w&&(t.qex(0),t.DNE(1,N,1,0,"ng-template",null,2,t.C5r)(3,X,0,0,"ng-template",24),t.bVm()),2&w){const s=t.sdS(2),M=t.XpG();t.R7$(3),t.Y8G("ngTemplateOutlet",M.loadingSpinnerTemplate||s)}}function F(w,z){if(1&w&&(t.j41(0,"span",26,3)(2,"span",27),t.EFF(3,"\xd7"),t.k0s()()),2&w){const s=t.XpG();t.FS9("title",s.clearAllText)}}function B(w,z){if(1&w&&t.nrm(0,"span",32),2&w){const s=t.XpG().$implicit,M=t.XpG(2);t.Y8G("ngItemLabel",s.label)("escape",M.escapeHTML)}}function $(w,z){}function tt(w,z){if(1&w){const s=t.RV6();t.j41(0,"div",31),t.bIt("click",function(){const k=t.eBV(s).$implicit,q=t.XpG(2);return t.Njj(q.toggleItem(k))})("mouseover",function(){const k=t.eBV(s).$implicit,q=t.XpG(2);return t.Njj(q.onItemHover(k))}),t.DNE(1,B,1,2,"ng-template",null,4,t.C5r)(3,$,0,0,"ng-template",21),t.k0s()}if(2&w){const s=z.$implicit,M=t.sdS(2),k=t.XpG(2);t.AVh("ng-option-disabled",s.disabled)("ng-option-selected",s.selected)("ng-optgroup",s.children)("ng-option",!s.children)("ng-option-child",!!s.parent)("ng-option-marked",s===k.itemsList.markedItem),t.BMQ("role",s.children?"group":"option")("aria-selected",s.selected)("id",null==s?null:s.htmlId),t.R7$(3),t.Y8G("ngTemplateOutlet",s.children?k.optgroupTemplate||M:k.optionTemplate||M)("ngTemplateOutletContext",t.ziG(17,x,s.value,s,s.index,k.searchTerm))}}function J(w,z){if(1&w&&(t.j41(0,"span")(1,"span",34),t.EFF(2),t.k0s(),t.EFF(3),t.k0s()),2&w){const s=t.XpG(3);t.R7$(2),t.JRh(s.addTagText),t.R7$(),t.SpI('"',s.searchTerm,'"')}}function j(w,z){}function W(w,z){if(1&w){const s=t.RV6();t.j41(0,"div",33),t.bIt("mouseover",function(){t.eBV(s);const k=t.XpG(2);return t.Njj(k.itemsList.unmarkItem())})("click",function(){t.eBV(s);const k=t.XpG(2);return t.Njj(k.selectTag())}),t.DNE(1,J,4,2,"ng-template",null,5,t.C5r)(3,j,0,0,"ng-template",21),t.k0s()}if(2&w){const s=t.sdS(2),M=t.XpG(2);t.AVh("ng-option-marked",!M.itemsList.markedItem),t.R7$(3),t.Y8G("ngTemplateOutlet",M.tagTemplate||s)("ngTemplateOutletContext",t.eq3(4,l,M.searchTerm))}}function V(w,z){if(1&w&&(t.j41(0,"div",35),t.EFF(1),t.k0s()),2&w){const s=t.XpG(3);t.R7$(),t.JRh(s.notFoundText)}}function et(w,z){}function H(w,z){if(1&w&&(t.qex(0),t.DNE(1,V,2,1,"ng-template",null,6,t.C5r)(3,et,0,0,"ng-template",21),t.bVm()),2&w){const s=t.sdS(2),M=t.XpG(2);t.R7$(3),t.Y8G("ngTemplateOutlet",M.notFoundTemplate||s)("ngTemplateOutletContext",t.eq3(2,l,M.searchTerm))}}function it(w,z){if(1&w&&(t.j41(0,"div",35),t.EFF(1),t.k0s()),2&w){const s=t.XpG(3);t.R7$(),t.JRh(s.typeToSearchText)}}function nt(w,z){}function pt(w,z){if(1&w&&(t.qex(0),t.DNE(1,it,2,1,"ng-template",null,7,t.C5r)(3,nt,0,0,"ng-template",24),t.bVm()),2&w){const s=t.sdS(2),M=t.XpG(2);t.R7$(3),t.Y8G("ngTemplateOutlet",M.typeToSearchTemplate||s)}}function mt(w,z){if(1&w&&(t.j41(0,"div",35),t.EFF(1),t.k0s()),2&w){const s=t.XpG(3);t.R7$(),t.JRh(s.loadingText)}}function U(w,z){}function K(w,z){if(1&w&&(t.qex(0),t.DNE(1,mt,2,1,"ng-template",null,8,t.C5r)(3,U,0,0,"ng-template",21),t.bVm()),2&w){const s=t.sdS(2),M=t.XpG(2);t.R7$(3),t.Y8G("ngTemplateOutlet",M.loadingTextTemplate||s)("ngTemplateOutletContext",t.eq3(2,l,M.searchTerm))}}function Q(w,z){if(1&w){const s=t.RV6();t.j41(0,"ng-dropdown-panel",28),t.bIt("update",function(k){t.eBV(s);const q=t.XpG();return t.Njj(q.viewPortItems=k)})("scroll",function(k){t.eBV(s);const q=t.XpG();return t.Njj(q.scroll.emit(k))})("scrollToEnd",function(k){t.eBV(s);const q=t.XpG();return t.Njj(q.scrollToEnd.emit(k))})("outsideClick",function(){t.eBV(s);const k=t.XpG();return t.Njj(k.close())}),t.qex(1),t.DNE(2,tt,4,22,"div",29)(3,W,4,6,"div",30),t.bVm(),t.DNE(4,H,4,4,"ng-container",12)(5,pt,4,1,"ng-container",12)(6,K,4,4,"ng-container",12),t.k0s()}if(2&w){const s=t.XpG();t.AVh("ng-select-multiple",s.multiple),t.Y8G("virtualScroll",s.virtualScroll)("bufferAmount",s.bufferAmount)("appendTo",s.appendTo)("position",s.dropdownPosition)("headerTemplate",s.headerTemplate)("footerTemplate",s.footerTemplate)("filterValue",s.searchTerm)("items",s.itemsList.filteredItems)("markedItem",s.itemsList.markedItem)("ngClass",s.appendTo?s.classes:null)("id",s.dropdownId),t.R7$(2),t.Y8G("ngForOf",s.viewPortItems)("ngForTrackBy",s.trackByOption),t.R7$(),t.Y8G("ngIf",s.showAddTag),t.R7$(),t.Y8G("ngIf",s.showNoItemsFound()),t.R7$(),t.Y8G("ngIf",s.showTypeToSearch()),t.R7$(),t.Y8G("ngIf",s.loading&&0===s.itemsList.filteredItems.length)}}const dt=/[&<>"']/g,st=RegExp(dt.source),ct={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function ot(w){return null!=w}function lt(w){return"object"==typeof w&&ot(w)}function vt(w){return w instanceof Function}let Et=(()=>{class w{constructor(s){this.element=s,this.escape=!0}ngOnChanges(s){this.element.nativeElement.innerHTML=this.escape?function rt(w){return w&&st.test(w)?w.replace(dt,z=>ct[z]):w}(this.ngItemLabel):this.ngItemLabel}static{this.\u0275fac=function(M){return new(M||w)(t.rXU(t.aKT))}}static{this.\u0275dir=t.FsC({type:w,selectors:[["","ngItemLabel",""]],inputs:{ngItemLabel:"ngItemLabel",escape:"escape"},features:[t.OA$]})}}return w})(),Ct=(()=>{class w{constructor(s){this.template=s}static{this.\u0275fac=function(M){return new(M||w)(t.rXU(t.C4Q))}}static{this.\u0275dir=t.FsC({type:w,selectors:[["","ng-option-tmp",""]]})}}return w})(),gt=(()=>{class w{constructor(s){this.template=s}static{this.\u0275fac=function(M){return new(M||w)(t.rXU(t.C4Q))}}static{this.\u0275dir=t.FsC({type:w,selectors:[["","ng-optgroup-tmp",""]]})}}return w})(),ft=(()=>{class w{constructor(s){this.template=s}static{this.\u0275fac=function(M){return new(M||w)(t.rXU(t.C4Q))}}static{this.\u0275dir=t.FsC({type:w,selectors:[["","ng-label-tmp",""]]})}}return w})(),bt=(()=>{class w{constructor(s){this.template=s}static{this.\u0275fac=function(M){return new(M||w)(t.rXU(t.C4Q))}}static{this.\u0275dir=t.FsC({type:w,selectors:[["","ng-multi-label-tmp",""]]})}}return w})(),xt=(()=>{class w{constructor(s){this.template=s}static{this.\u0275fac=function(M){return new(M||w)(t.rXU(t.C4Q))}}static{this.\u0275dir=t.FsC({type:w,selectors:[["","ng-header-tmp",""]]})}}return w})(),Dt=(()=>{class w{constructor(s){this.template=s}static{this.\u0275fac=function(M){return new(M||w)(t.rXU(t.C4Q))}}static{this.\u0275dir=t.FsC({type:w,selectors:[["","ng-footer-tmp",""]]})}}return w})(),Mt=(()=>{class w{constructor(s){this.template=s}static{this.\u0275fac=function(M){return new(M||w)(t.rXU(t.C4Q))}}static{this.\u0275dir=t.FsC({type:w,selectors:[["","ng-notfound-tmp",""]]})}}return w})(),Tt=(()=>{class w{constructor(s){this.template=s}static{this.\u0275fac=function(M){return new(M||w)(t.rXU(t.C4Q))}}static{this.\u0275dir=t.FsC({type:w,selectors:[["","ng-typetosearch-tmp",""]]})}}return w})(),At=(()=>{class w{constructor(s){this.template=s}static{this.\u0275fac=function(M){return new(M||w)(t.rXU(t.C4Q))}}static{this.\u0275dir=t.FsC({type:w,selectors:[["","ng-loadingtext-tmp",""]]})}}return w})(),Ft=(()=>{class w{constructor(s){this.template=s}static{this.\u0275fac=function(M){return new(M||w)(t.rXU(t.C4Q))}}static{this.\u0275dir=t.FsC({type:w,selectors:[["","ng-tag-tmp",""]]})}}return w})(),St=(()=>{class w{constructor(s){this.template=s}static{this.\u0275fac=function(M){return new(M||w)(t.rXU(t.C4Q))}}static{this.\u0275dir=t.FsC({type:w,selectors:[["","ng-loadingspinner-tmp",""]]})}}return w})();function It(){return"axxxxxxxxxxx".replace(/[x]/g,()=>(16*Math.random()|0).toString(16))}const kt={"\u24b6":"A",\uff21:"A",\u00c0:"A",\u00c1:"A",\u00c2:"A",\u1ea6:"A",\u1ea4:"A",\u1eaa:"A",\u1ea8:"A",\u00c3:"A",\u0100:"A",\u0102:"A",\u1eb0:"A",\u1eae:"A",\u1eb4:"A",\u1eb2:"A",\u0226:"A",\u01e0:"A",\u00c4:"A",\u01de:"A",\u1ea2:"A",\u00c5:"A",\u01fa:"A",\u01cd:"A",\u0200:"A",\u0202:"A",\u1ea0:"A",\u1eac:"A",\u1eb6:"A",\u1e00:"A",\u0104:"A",\u023a:"A",\u2c6f:"A",\ua732:"AA",\u00c6:"AE",\u01fc:"AE",\u01e2:"AE",\ua734:"AO",\ua736:"AU",\ua738:"AV",\ua73a:"AV",\ua73c:"AY","\u24b7":"B",\uff22:"B",\u1e02:"B",\u1e04:"B",\u1e06:"B",\u0243:"B",\u0182:"B",\u0181:"B","\u24b8":"C",\uff23:"C",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u00c7:"C",\u1e08:"C",\u0187:"C",\u023b:"C",\ua73e:"C","\u24b9":"D",\uff24:"D",\u1e0a:"D",\u010e:"D",\u1e0c:"D",\u1e10:"D",\u1e12:"D",\u1e0e:"D",\u0110:"D",\u018b:"D",\u018a:"D",\u0189:"D",\ua779:"D",\u01f1:"DZ",\u01c4:"DZ",\u01f2:"Dz",\u01c5:"Dz","\u24ba":"E",\uff25:"E",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u1ec0:"E",\u1ebe:"E",\u1ec4:"E",\u1ec2:"E",\u1ebc:"E",\u0112:"E",\u1e14:"E",\u1e16:"E",\u0114:"E",\u0116:"E",\u00cb:"E",\u1eba:"E",\u011a:"E",\u0204:"E",\u0206:"E",\u1eb8:"E",\u1ec6:"E",\u0228:"E",\u1e1c:"E",\u0118:"E",\u1e18:"E",\u1e1a:"E",\u0190:"E",\u018e:"E","\u24bb":"F",\uff26:"F",\u1e1e:"F",\u0191:"F",\ua77b:"F","\u24bc":"G",\uff27:"G",\u01f4:"G",\u011c:"G",\u1e20:"G",\u011e:"G",\u0120:"G",\u01e6:"G",\u0122:"G",\u01e4:"G",\u0193:"G",\ua7a0:"G",\ua77d:"G",\ua77e:"G","\u24bd":"H",\uff28:"H",\u0124:"H",\u1e22:"H",\u1e26:"H",\u021e:"H",\u1e24:"H",\u1e28:"H",\u1e2a:"H",\u0126:"H",\u2c67:"H",\u2c75:"H",\ua78d:"H","\u24be":"I",\uff29:"I",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u0128:"I",\u012a:"I",\u012c:"I",\u0130:"I",\u00cf:"I",\u1e2e:"I",\u1ec8:"I",\u01cf:"I",\u0208:"I",\u020a:"I",\u1eca:"I",\u012e:"I",\u1e2c:"I",\u0197:"I","\u24bf":"J",\uff2a:"J",\u0134:"J",\u0248:"J","\u24c0":"K",\uff2b:"K",\u1e30:"K",\u01e8:"K",\u1e32:"K",\u0136:"K",\u1e34
1:"K",\u0198:"K",\u2c69:"K",\ua740:"K",\ua742:"K",\ua744:"K",\ua7a2:"K","\u24c1":"L",\uff2c:"L",\u013f:"L",\u0139:"L",\u013d:"L",\u1e36:"L",\u1e38:"L",\u013b:"L",\u1e3c:"L",\u1e3a:"L",\u0141:"L",\u023d:"L",\u2c62:"L",\u2c60:"L",\ua748:"L",\ua746:"L",\ua780:"L",\u01c7:"LJ",\u01c8:"Lj","\u24c2":"M",\uff2d:"M",\u1e3e:"M",\u1e40:"M",\u1e42:"M",\u2c6e:"M",\u019c:"M","\u24c3":"N",\uff2e:"N",\u01f8:"N",\u0143:"N",\u00d1:"N",\u1e44:"N",\u0147:"N",\u1e46:"N",\u0145:"N",\u1e4a:"N",\u1e48:"N",\u0220:"N",\u019d:"N",\ua790:"N",\ua7a4:"N",\u01ca:"NJ",\u01cb:"Nj","\u24c4":"O",\uff2f:"O",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u1ed2:"O",\u1ed0:"O",\u1ed6:"O",\u1ed4:"O",\u00d5:"O",\u1e4c:"O",\u022c:"O",\u1e4e:"O",\u014c:"O",\u1e50:"O",\u1e52:"O",\u014e:"O",\u022e:"O",\u0230:"O",\u00d6:"O",\u022a:"O",\u1ece:"O",\u0150:"O",\u01d1:"O",\u020c:"O",\u020e:"O",\u01a0:"O",\u1edc:"O",\u1eda:"O",\u1ee0:"O",\u1ede:"O",\u1ee2:"O",\u1ecc:"O",\u1ed8:"O",\u01ea:"O",\u01ec:"O",\u00d8:"O",\u01fe:"O",\u0186:"O",\u019f:"O",\ua74a:"O",\ua74c:"O",\u01a2:"OI",\ua74e:"OO",\u0222:"OU","\u24c5":"P",\uff30:"P",\u1e54:"P",\u1e56:"P",\u01a4:"P",\u2c63:"P",\ua750:"P",\ua752:"P",\ua754:"P","\u24c6":"Q",\uff31:"Q",\ua756:"Q",\ua758:"Q",\u024a:"Q","\u24c7":"R",\uff32:"R",\u0154:"R",\u1e58:"R",\u0158:"R",\u0210:"R",\u0212:"R",\u1e5a:"R",\u1e5c:"R",\u0156:"R",\u1e5e:"R",\u024c:"R",\u2c64:"R",\ua75a:"R",\ua7a6:"R",\ua782:"R","\u24c8":"S",\uff33:"S",\u1e9e:"S",\u015a:"S",\u1e64:"S",\u015c:"S",\u1e60:"S",\u0160:"S",\u1e66:"S",\u1e62:"S",\u1e68:"S",\u0218:"S",\u015e:"S",\u2c7e:"S",\ua7a8:"S",\ua784:"S","\u24c9":"T",\uff34:"T",\u1e6a:"T",\u0164:"T",\u1e6c:"T",\u021a:"T",\u0162:"T",\u1e70:"T",\u1e6e:"T",\u0166:"T",\u01ac:"T",\u01ae:"T",\u023e:"T",\ua786:"T",\ua728:"TZ","\u24ca":"U",\uff35:"U",\u00d9:"U",\u00da:"U",\u00db:"U",\u0168:"U",\u1e78:"U",\u016a:"U",\u1e7a:"U",\u016c:"U",\u00dc:"U",\u01db:"U",\u01d7:"U",\u01d5:"U",\u01d9:"U",\u1ee6:"U",\u016e:"U",\u0170:"U",\u01d3:"U",\u0214:"U",\u0216:"U",\u01af:"U",\u1eea:"U",\u1ee8:"U",\u1eee:"U",\u1eec:"U",\u1ef0:"U",\u1ee4:"U",\u1e72:"U",\u0172:"U",\u1e76:"U",\u1e74:"U",\u0244:"U","\u24cb":"V",\uff36:"V",\u1e7c:"V",\u1e7e:"V",\u01b2:"V",\ua75e:"V",\u0245:"V",\ua760:"VY","\u24cc":"W",\uff37:"W",\u1e80:"W",\u1e82:"W",\u0174:"W",\u1e86:"W",\u1e84:"W",\u1e88:"W",\u2c72:"W","\u24cd":"X",\uff38:"X",\u1e8a:"X",\u1e8c:"X","\u24ce":"Y",\uff39:"Y",\u1ef2:"Y",\u00dd:"Y",\u0176:"Y",\u1ef8:"Y",\u0232:"Y",\u1e8e:"Y",\u0178:"Y",\u1ef6:"Y",\u1ef4:"Y",\u01b3:"Y",\u024e:"Y",\u1efe:"Y","\u24cf":"Z",\uff3a:"Z",\u0179:"Z",\u1e90:"Z",\u017b:"Z",\u017d:"Z",\u1e92:"Z",\u1e94:"Z",\u01b5:"Z",\u0224:"Z",\u2c7f:"Z",\u2c6b:"Z",\ua762:"Z","\u24d0":"a",\uff41:"a",\u1e9a:"a",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u1ea7:"a",\u1ea5:"a",\u1eab:"a",\u1ea9:"a",\u00e3:"a",\u0101:"a",\u0103:"a",\u1eb1:"a",\u1eaf:"a",\u1eb5:"a",\u1eb3:"a",\u0227:"a",\u01e1:"a",\u00e4:"a",\u01df:"a",\u1ea3:"a",\u00e5:"a",\u01fb:"a",\u01ce:"a",\u0201:"a",\u0203:"a",\u1ea1:"a",\u1ead:"a",\u1eb7:"a",\u1e01:"a",\u0105:"a",\u2c65:"a",\u0250:"a",\ua733:"aa",\u00e6:"ae",\u01fd:"ae",\u01e3:"ae",\ua735:"ao",\ua737:"au",\ua739:"av",\ua73b:"av",\ua73d:"ay","\u24d1":"b",\uff42:"b",\u1e03:"b",\u1e05:"b",\u1e07:"b",\u0180:"b",\u0183:"b",\u0253:"b","\u24d2":"c",\uff43:"c",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u00e7:"c",\u1e09:"c",\u0188:"c",\u023c:"c",\ua73f:"c",\u2184:"c","\u24d3":"d",\uff44:"d",\u1e0b:"d",\u010f:"d",\u1e0d:"d",\u1e11:"d",\u1e13:"d",\u1e0f:"d",\u0111:"d",\u018c:"d",\u0256:"d",\u0257:"d",\ua77a:"d",\u01f3:"dz",\u01c6:"dz","\u24d4":"e",\uff45:"e",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u1ec1:"e",\u1ebf:"e",\u1ec5:"e",\u1ec3:"e",\u1ebd:"e",\u0113:"e",\u1e15:"e",\u1e17:"e",\u0115:"e",\u0117:"e",\u00eb:"e",\u1ebb:"e",\u011b:"e",\u0205:"e",\u0207:"e",\u1eb9:"e",\u1ec7:"e",\u0229:"e",\u1e1d:"e",\u0119:"e",\u1e19:"e",\u1e1b:"e",\u0247:"e",\u025b:"e",\u01dd:"e","\u24d5":"f",\uff46:"f",\u1e1f:"f",\u0192:"f",\ua77c:"f","\u24d6":"g",\uff47:"g",\u01f5:"g",\u011d:"g",\u1e21:"g",\u011f:"g",\u0121:"g",\u01e7:"g",\u0123:"g",\u01e5:"g",\u0260:"g",\ua7a1:"g",\u1d79:"g",\ua77f:"g","\u24d7":"h",\uff48:"h",\u0125:"h",\u1e23:"h",\u1e27:"h",\u021f:"h",\u1e25:"h",\u1e29:"h",\u1e2b:"h",\u1e96:"h",\u0127:"h",\u2c68:"h",\u2c76:"h",\u0265:"h",\u0195:"hv","\u24d8":"i",\uff49:"i",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u0129:"i",\u012b:"i",\u012d:"i",\u00ef:"i",\u1e2f:"i",\u1ec9:"i",\u01d0:"i",\u0209:"i",\u020b:"i",\u1ecb:"i",\u012f:"i",\u1e2d:"i",\u0268:"i",\u0131:"i","\u24d9":"j",\uff4a:"j",\u0135:"j",\u01f0:"j",\u0249:"j","\u24da":"k",\uff4b:"k",\u1e31:"k",\u01e9:"k",\u1e33:"k",\u0137:"k",\u1e35:"k",\u0199:"k",\u2c6a:"k",\ua741:"k",\ua743:"k",\ua745:"k",\ua7a3:"k","\u24db":"l",\uff4c:"l",\u0140:"l",\u013a:"l",\u013e:"l",\u1e37:"l",\u1e39:"l",\u013c:"l",\u1e3d:"l",\u1e3b:"l",\u017f:"l",\u0142:"l",\u019a:"l",\u026b:"l",\u2c61:"l",\ua749:"l",\ua781:"l",\ua747:"l",\u01c9:"lj","\u24dc":"m",\uff4d:"m",\u1e3f:"m",\u1e41:"m",\u1e43:"m",\u0271:"m",\u026f:"m","\u24dd":"n",\uff4e:"n",\u01f9:"n",\u0144:"n",\u00f1:"n",\u1e45:"n",\u0148:"n",\u1e47:"n",\u0146:"n",\u1e4b:"n",\u1e49:"n",\u019e:"n",\u0272:"n",\u0149:"n",\ua791:"n",\ua7a5:"n",\u01cc:"nj","\u24de":"o",\uff4f:"o",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u1ed3:"o",\u1ed1:"o",\u1ed7:"o",\u1ed5:"o",\u00f5:"o",\u1e4d:"o",\u022d:"o",\u1e4f:"o",\u014d:"o",\u1e51:"o",\u1e53:"o",\u014f:"o",\u022f:"o",\u0231:"o",\u00f6:"o",\u022b:"o",\u1ecf:"o",\u0151:"o",\u01d2:"o",\u020d:"o",\u020f:"o",\u01a1:"o",\u1edd:"o",\u1edb:"o",\u1ee1:"o",\u1edf:"o",\u1ee3:"o",\u1ecd:"o",\u1ed9:"o",\u01eb:"o",\u01ed:"o",\u00f8:"o",\u01ff:"o",\u0254:"o",\ua74b:"o",\ua74d:"o",\u0275:"o",\u01a3:"oi",\u0223:"ou",\ua74f:"oo","\u24df":"p",\uff50:"p",\u1e55:"p",\u1e57:"p",\u01a5:"p",\u1d7d:"p",\ua751:"p",\ua753:"p",\ua755:"p","\u24e0":"q",\uff51:"q",\u024b:"q",\ua757:"q",\ua759:"q","\u24e1":"r",\uff52:"r",\u0155:"r",\u1e59:"r",\u0159:"r",\u0211:"r",\u0213:"r",\u1e5b:"r",\u1e5d:"r",\u0157:"r",\u1e5f:"r",\u024d:"r",\u027d:"r",\ua75b:"r",\ua7a7:"r",\ua783:"r","\u24e2":"s",\uff53:"s",\u00df:"s",\u015b:"s",\u1e65:"s",\u015d:"s",\u1e61:"s",\u0161:"s",\u1e67:"s",\u1e63:"s",\u1e69:"s",\u0219:"s",\u015f:"s",\u023f:"s",\ua7a9:"s",\ua785:"s",\u1e9b:"s","\u24e3":"t",\uff54:"t",\u1e6b:"t",\u1e97:"t",\u0165:"t",\u1e6d:"t",\u021b:"t",\u0163:"t",\u1e71:"t",\u1e6f:"t",\u0167:"t",\u01ad:"t",\u0288:"t",\u2c66:"t",\ua787:"t",\ua729:"tz","\u24e4":"u",\uff55:"u",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u0169:"u",\u1e79:"u",\u016b:"u",\u1e7b:"u",\u016d:"u",\u00fc:"u",\u01dc:"u",\u01d8:"u",\u01d6:"u",\u01da:"u",\u1ee7:"u",\u016f:"u",\u0171:"u",\u01d4:"u",\u0215:"u",\u0217:"u",\u01b0:"u",\u1eeb:"u",\u1ee9:"u",\u1eef:"u",\u1eed:"u",\u1ef1:"u",\u1ee5:"u",\u1e73:"u",\u0173:"u",\u1e77:"u",\u1e75:"u",\u0289:"u","\u24e5":"v",\uff56:"v",\u1e7d:"v",\u1e7f:"v",\u028b:"v",\ua75f:"v",\u028c:"v",\ua761:"vy","\u24e6":"w",\uff57:"w",\u1e81:"w",\u1e83:"w",\u0175:"w",\u1e87:"w",\u1e85:"w",\u1e98:"w",\u1e89:"w",\u2c73:"w","\u24e7":"x",\uff58:"x",\u1e8b:"x",\u1e8d:"x","\u24e8":"y",\uff59:"y",\u1ef3:"y",\u00fd:"y",\u0177:"y",\u1ef9:"y",\u0233:"y",\u1e8f:"y",\u00ff:"y",\u1ef7:"y",\u1e99:"y",\u1ef5:"y",\u01b4:"y",\u024f:"y",\u1eff:"y","\u24e9":"z",\uff5a:"z",\u017a:"z",\u1e91:"z",\u017c:"z",\u017e:"z",\u1e93:"z",\u1e95:"z",\u01b6:"z",\u0225:"z",\u0240:"z",\u2c6c:"z",\ua763:"z",\u0386:"\u0391",\u0388:"\u0395",\u0389:"\u0397",\u038a:"\u0399",\u03aa:"\u0399",\u038c:"\u039f",\u038e:"\u03a5",\u03ab:"\u03a5",\u038f:"\u03a9",\u03ac:"\u03b1",\u03ad:"\u03b5",\u03ae:"\u03b7",\u03af:"\u03b9",\u03ca:"\u03b9",\u0390:"\u03b9",\u03cc:"\u03bf",\u03cd:"\u03c5",\u03cb:"\u03c5",\u03b0:"\u03c5",\u03c9:"\u03c9",\u03c2:"\u03c3"};
1function Rt(w){return w.replace(/[^\u0000-\u007E]/g,s=>kt[s]||s)}class Nt{constructor(z,s){this._ngSelect=z,this._selectionModel=s,this._items=[],this._filteredItems=[],this._markedIndex=-1}get items(){return this._items}get filteredItems(){return this._filteredItems}get markedIndex(){return this._markedIndex}get selectedItems(){return this._selectionModel.value}get markedItem(){return this._filteredItems[this._markedIndex]}get noItemsToSelect(){return this._ngSelect.hideSelected&&this._items.length===this.selectedItems.length}get maxItemsSelected(){return this._ngSelect.multiple&&this._ngSelect.maxSelectedItems<=this.selectedItems.length}get lastSelectedItem(){let z=this.selectedItems.length-1;for(;z>=0;z--){const s=this.selectedItems[z];if(!s.disabled)return s}return null}setItems(z){this._items=z.map((s,M)=>this.mapItem(s,M)),this._ngSelect.groupBy?(this._groups=this._groupBy(this._items,this._ngSelect.groupBy),this._items=this._flatten(this._groups)):(this._groups=new Map,this._groups.set(void 0,this._items)),this._filteredItems=[...this._items]}select(z){if(z.selected||this.maxItemsSelected)return;const s=this._ngSelect.multiple;s||this.clearSelected(),this._selectionModel.select(z,s,this._ngSelect.selectableGroupAsModel),this._ngSelect.hideSelected&&this._hideSelected(z)}unselect(z){z.selected&&(this._selectionModel.unselect(z,this._ngSelect.multiple),this._ngSelect.hideSelected&&ot(z.index)&&this._ngSelect.multiple&&this._showSelected(z))}findItem(z){let s;return s=this._ngSelect.compareWith?M=>this._ngSelect.compareWith(M.value,z):this._ngSelect.bindValue?M=>!M.children&&this.resolveNested(M.value,this._ngSelect.bindValue)===z:M=>M.value===z||!M.children&&M.label&&M.label===this.resolveNested(z,this._ngSelect.bindLabel),this._items.find(M=>s(M))}addItem(z){const s=this.mapItem(z,this._items.length);return this._items.push(s),this._filteredItems.push(s),s}clearSelected(z=!1){this._selectionModel.clear(z),this._items.forEach(s=>{s.selected=z&&s.selected&&s.disabled,s.marked=!1}),this._ngSelect.hideSelected&&this.resetFilteredItems()}findByLabel(z){return z=Rt(z).toLocaleLowerCase(),this.filteredItems.find(s=>Rt(s.label).toLocaleLowerCase().substr(0,z.length)===z)}filter(z){if(!z)return void this.resetFilteredItems();this._filteredItems=[],z=this._ngSelect.searchFn?z:Rt(z).toLocaleLowerCase();const s=this._ngSelect.searchFn||this._defaultSearchFn,M=this._ngSelect.hideSelected;for(const k of Array.from(this._groups.keys())){const q=[];for(const at of this._groups.get(k))M&&(at.parent&&at.parent.selected||at.selected)||s(z,this._ngSelect.searchFn?at.value:at)&&q.push(at);if(q.length>0){const[at]=q.slice(-1);if(at.parent){const yt=this._items.find(Pt=>Pt===at.parent);this._filteredItems.push(yt)}this._filteredItems.push(...q)}}}resetFilteredItems(){this._filteredItems.length!==this._items.length&&(this._filteredItems=this._ngSelect.hideSelected&&this.selectedItems.length>0?this._items.filter(z=>!z.selected):this._items)}unmarkItem(){this._markedIndex=-1}markNextItem(){this._stepToItem(1)}markPreviousItem(){this._stepToItem(-1)}markItem(z){this._markedIndex=this._filteredItems.indexOf(z)}markSelectedOrDefault(z){if(0===this._filteredItems.length)return;const s=this._getLastMarkedIndex();this._markedIndex=s>-1?s:z?this.filteredItems.findIndex(M=>!M.disabled):-1}resolveNested(z,s){if(!lt(z))return z;if(-1===s.indexOf("."))return z[s];{const M=s.split(".");let k=z;for(let q=0,at=M.length;q<at;++q){if(null==k)return null;k=k[M[q]]}return k}}mapItem(z,s){const M=ot(z.$ngOptionLabel)?z.$ngOptionLabel:this.resolveNested(z,this._ngSelect.bindLabel),k=ot(z.$ngOptionValue)?z.$ngOptionValue:z;return{index:s,label:ot(M)?M.toString():"",value:k,disabled:z.disabled,htmlId:`${this._ngSelect.dropdownId}-${s}`}}mapSelectedItems(){const z=this._ngSelect.multiple;for(const s of this.selectedItems){const M=this._ngSelect.bindValue?this.resolveNested(s.value,this._ngSelect.bindValue):s.value,k=ot(M)?this.findItem(M):null;this._selectionModel.unselect(s,z),this._selectionModel.select(k||s,z,this._ngSelect.selectableGroupAsModel)}this._ngSelect.hideSelected&&(this._filteredItems=this.filteredItems.filter(s=>-1===this.selectedItems.indexOf(s)))}_showSelected(z){if(this._filteredItems.push(z),z.parent){const s=z.parent;this._filteredItems.find(k=>k===s)||this._filteredItems.push(s)}else if(z.children)for(const s of z.children)s.selected=!1,this._filteredItems.push(s);this._filteredItems=[...this._filteredItems.sort((s,M)=>s.index-M.index)]}_hideSelected(z){this._filteredItems=this._filteredItems.filter(s=>s!==z),z.parent?z.parent.children.every(M=>M.selected)&&(this._filteredItems=this._filteredItems.filter(M=>M!==z.parent)):z.children&&(this._filteredItems=this.filteredItems.filter(s=>s.parent!==z))}_defaultSearchFn(z,s){return Rt(s.label).toLocaleLowerCase().indexOf(z)>-1}_getNextItemIndex(z){return z>0?this._markedIndex>=this._filteredItems.length-1?0:this._markedIndex+1:this._markedIndex<=0?this._filteredItems.length-1:this._markedIndex-1}_stepToItem(z){0===this._filteredItems.length||this._filteredItems.every(s=>s.disabled)||(this._markedIndex=this._getNextItemIndex(z),this.markedItem.disabled&&this._stepToItem(z))}_getLastMarkedIndex(){if(this._ngSelect.hideSelected||this._markedIndex>-1&&void 0===this.markedItem)return-1;const z=this._filteredItems.indexOf(this.lastSelectedItem);return this.lastSelectedItem&&z<0?-1:Math.max(this.markedIndex,z)}_groupBy(z,s){const M=new Map;if(0===z.length)return M;if(Array.isArray(z[0].value[s])){for(const at of z){const yt=(at.value[s]||[]).map((Pt,Ot)=>this.mapItem(Pt,Ot));M.set(at,yt)}return M}const k=vt(this._ngSelect.groupBy),q=at=>{const yt=k?s(at.value):at.value[s];return ot(yt)?yt:void 0};for(const at of z){const yt=q(at),Pt=M.get(yt);Pt?Pt.push(at):M.set(yt,[at])}return M}_flatten(z){const s=vt(this._ngSelect.groupBy),M=[];for(const k of Array.from(z.keys())){let q=M.length;if(void 0===k){const Lt=z.get(void 0)||[];M.push(...Lt.map(wt=>(wt.index=q++,wt)));continue}const at=lt(k),yt={label:at?"":String(k),children:void 0,parent:null,index:q++,disabled:!this._ngSelect.selectableGroup,htmlId:It()},Pt=s?this._ngSelect.bindLabel:this._ngSelect.groupBy,Ot=this._ngSelect.groupValue||(()=>at?k.value:{[Pt]:k}),Gt=z.get(k).map(Lt=>(Lt.parent=yt,Lt.children=void 0,Lt.index=q++,Lt));yt.children=Gt,yt.value=Ot(k,Gt.map(Lt=>Lt.value)),M.push(yt),M.push(...Gt)}return M}}var Bt=function(w){return w[w.Tab=9]="Tab",w[w.Enter=13]="Enter",w[w.Esc=27]="Esc",w[w.Space=32]="Space",w[w.ArrowUp=38]="ArrowUp",w[w.ArrowDown=40]="ArrowDown",w[w.Backspace=8]="Backspace",w}(Bt||{});let jt=(()=>{class w{constructor(){this._dimensions={itemHeight:0,panelHeight:0,itemsPerVie
1wport:0}}get dimensions(){return this._dimensions}calculateItems(s,M,k){const q=this._dimensions,at=q.itemHeight*M,Pt=Math.max(0,s)/at*M;let Ot=Math.min(M,Math.ceil(Pt)+(q.itemsPerViewport+1));const Lt=Math.max(0,Ot-q.itemsPerViewport);let wt=Math.min(Lt,Math.floor(Pt)),Wt=q.itemHeight*Math.ceil(wt)-q.itemHeight*Math.min(wt,k);return Wt=isNaN(Wt)?0:Wt,wt=isNaN(wt)?-1:wt,Ot=isNaN(Ot)?-1:Ot,wt-=k,wt=Math.max(0,wt),Ot+=k,Ot=Math.min(M,Ot),{topPadding:Wt,scrollHeight:at,start:wt,end:Ot}}setDimensions(s,M){const k=Math.max(1,Math.floor(M/s));this._dimensions={itemHeight:s,panelHeight:M,itemsPerViewport:k}}getScrollTo(s,M,k){const{panelHeight:q}=this.dimensions,at=s+M,Pt=k+q;return q>=at&&k===s?null:at>Pt?k+at-Pt:s<=k?s:null}static{this.\u0275fac=function(M){return new(M||w)}}static{this.\u0275prov=t.jDH({token:w,factory:w.\u0275fac})}}return w})();const zt=["top","right","bottom","left"],Xt=typeof requestAnimationFrame<"u"?b.X:v.$;let Ut=(()=>{class w{constructor(s,M,k,q,at){this._renderer=s,this._zone=M,this._panelService=k,this._document=at,this.items=[],this.position="auto",this.virtualScroll=!1,this.filterValue=null,this.update=new t.bkB,this.scroll=new t.bkB,this.scrollToEnd=new t.bkB,this.outsideClick=new t.bkB,this._destroy$=new A.B,this._scrollToEndFired=!1,this._updateScrollHeight=!1,this._lastScrollPosition=0,this._dropdown=q.nativeElement}get currentPosition(){return this._currentPosition}get itemsLength(){return this._itemsLength}set itemsLength(s){s!==this._itemsLength&&(this._itemsLength=s,this._onItemsLengthChanged())}get _startOffset(){if(this.markedItem){const{itemHeight:s,panelHeight:M}=this._panelService.dimensions,k=this.markedItem.index*s;return M>k?0:k}return 0}ngOnInit(){this._select=this._dropdown.parentElement,this._virtualPadding=this.paddingElementRef.nativeElement,this._scrollablePanel=this.scrollElementRef.nativeElement,this._contentPanel=this.contentElementRef.nativeElement,this._handleScroll(),this._handleOutsideClick(),this._appendDropdown(),this._setupMousedownListener()}ngOnChanges(s){if(s.items){const M=s.items;this._onItemsChange(M.currentValue,M.firstChange)}}ngOnDestroy(){this._destroy$.next(),this._destroy$.complete(),this._destroy$.unsubscribe(),this.appendTo&&this._renderer.removeChild(this._dropdown.parentNode,this._dropdown)}scrollTo(s,M=!1){if(!s)return;const k=this.items.indexOf(s);if(k<0||k>=this.itemsLength)return;let q;if(this.virtualScroll){const at=this._panelService.dimensions.itemHeight;q=this._panelService.getScrollTo(k*at,at,this._lastScrollPosition)}else{const at=this._dropdown.querySelector(`#${s.htmlId}`);q=this._panelService.getScrollTo(at.offsetTop,at.clientHeight,M?at.offsetTop:this._lastScrollPosition)}ot(q)&&(this._scrollablePanel.scrollTop=q)}scrollToTag(){const s=this._scrollablePanel;s.scrollTop=s.scrollHeight-s.clientHeight}adjustPosition(){this._updateYPosition()}_handleDropdownPosition(){this._currentPosition=this._calculateCurrentPosition(this._dropdown),zt.includes(this._currentPosition)?this._updateDropdownClass(this._currentPosition):this._updateDropdownClass("bottom"),this.appendTo&&this._updateYPosition(),this._dropdown.style.opacity="1"}_updateDropdownClass(s){zt.forEach(k=>{const q=`ng-select-${k}`;this._renderer.removeClass(this._dropdown,q),this._renderer.removeClass(this._select,q)});const M=`ng-select-${s}`;this._renderer.addClass(this._dropdown,M),this._renderer.addClass(this._select,M)}_handleScroll(){this._zone.runOutsideAngular(()=>{(0,h.R)(this.scrollElementRef.nativeElement,"scroll").pipe((0,Y.Q)(this._destroy$),(0,n.Z)(0,Xt)).subscribe(s=>{const M=s.path||s.composedPath&&s.composedPath();M&&(0!==M.length||s.target)&&this._onContentScrolled(M&&0!==M.length?M[0].scrollTop:s.target.scrollTop)})})}_handleOutsideClick(){this._document&&this._zone.runOutsideAngular(()=>{(0,u.h)((0,h.R)(this._document,"touchstart",{capture:!0}),(0,h.R)(this._document,"mousedown",{capture:!0})).pipe((0,Y.Q)(this._destroy$)).subscribe(s=>this._checkToClose(s))})}_checkToClose(s){if(this._select.contains(s.target)||this._dropdown.contains(s.target))return;const M=s.path||s.composedPath&&s.composedPath();s.target&&s.target.shadowRoot&&M&&M[0]&&this._select.contains(M[0])||this._zone.run(()=>this.outsideClick.emit())}_onItemsChange(s,M){this.items=s||[],this._scrollToEndFired=!1,this.itemsLength=s.length,this.virtualScroll?this._updateItemsRange(M):(this._setVirtualHeight(),this._updateItems(M))}_updateItems(s){this.update.emit(this.items),!1!==s&&this._zone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._panelService.setDimensions(0,this._scrollablePanel.clientHeight),this._handleDropdownPosition(),this.scrollTo(this.markedItem,s)})})}_updateItemsRange(s){this._zone.runOutsideAngular(()=>{this._measureDimensions().then(()=>{s?(this._renderItemsRange(this._startOffset),this._handleDropdownPosition()):this._renderItemsRange()})})}_onContentScrolled(s){this.virtualScroll&&this._renderItemsRange(s),this._lastScrollPosition=s,this._fireScrollToEnd(s)}_updateVirtualHeight(s){this._updateScrollHeight&&(this._virtualPadding.style.height=`${s}px`,this._updateScrollHeight=!1)}_setVirtualHeight(){this._virtualPadding&&(this._virtualPadding.style.height="0px")}_onItemsLengthChanged(){this._updateScrollHeight=!0}_renderItemsRange(s=null){if(s&&this._lastScrollPosition===s)return;const M=this._panelService.calculateItems(s=s||this._scrollablePanel.scrollTop,this.itemsLength,this.bufferAmount);this._updateVirtualHeight(M.scrollHeight),this._contentPanel.style.transform=`translateY(${M.topPadding}px)`,this._zone.run(()=>{this.update.emit(this.items.slice(M.start,M.end)),this.scroll.emit({start:M.start,end:M.end})}),ot(s)&&0===this._lastScrollPosition&&(this._scrollablePanel.scrollTop=s,this._lastScrollPosition=s)}_measureDimensions(){if(this._panelService.dimensions.itemHeight>0||0===this.itemsLength)return Promise.resolve(this._panelService.dimensions);const[s]=this.items;return this.update.emit([s]),Promise.resolve().then(()=>{const k=this._dropdown.querySelector(`#${s.htmlId}`).clientHeight;return this._virtualPadding.style.height=k*this.itemsLength+"px",this._panelService.setDimensions(k,this._scrollablePanel.clientHeight),this._panelService.dimensions})}_fireScrollToEnd(s){this._scrollToEndFired||0===s||s+this._dropdown.clientHeight>=(this.virtualScroll?this._virtualPadding:this._contentPanel).clientHeight-1&&(this._zone.run(()=>this.scrollToEnd.emit()),this._scrollToEndFired=!0)}_calculateCurrentPosition(s){if("auto"!==this.position)return this.position;const M=this._select.getBoundingClientRect(),k=document.documentElement.scrollTop||document.body.scrollTop;return M.top+window.pageYOffset+M.height+s.getBoundingClientRect().height>k+document.documentElement.clientHeight?"top":"bottom"}_appendDropdown(){if(this.appendTo){if(this._parent=document.querySelector(this.appendTo),!this._parent)throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);this._updateXPosition(),this._parent.appendChild(this._dropdown)}}_updateXPosition(){const s=this._select.getBoundingClientRect(),M=this._parent.getBoundingClientRect();this._dropdown.style.left=s.left-M.left+"px",this._dropdown.style.width=s.width+"px",this._dropdown.style.minWidth=s.width+"px"}_updateYPosition(){const s=this._select.getBoundingClientRect(),M=this._parent.getBoundingClientRect(),k=s.height;"top"===this._currentPosition?(this._dropdown.style.bottom=M.bottom-s.bottom+k+"px",this._dropdown.style.top="auto"):"bottom"===this._currentPosition&&(this._dropdown.style.top=s.top-M.top+k+"px",this._dropdown.style.bottom="auto")}_setupMousedownListener(){this._zone.runOutsideAngular(()=>{(0,h.R)(this._dropdown,"mousedown").pipe((0,Y.Q)(this._destroy$)).subscribe(s=>{"INPUT"!==s.target.tagName&&s.preventDefault()})})}static{this.\u0275fac=function(M){return new(M||w)(t.rXU(t.sFG),t.rXU(t.SKi),t.rXU(jt),t.rXU(t.aKT),t.rXU(c.qQ,8))}}static{this.\u0275cmp=t.VBU({type:w,selectors:[["ng-dropdown-panel"]],viewQuery:function(M,
1k){if(1&M&&(t.GBs(O,7,t.aKT),t.GBs(I,7,t.aKT),t.GBs(g,7,t.aKT)),2&M){let q;t.mGM(q=t.lsd())&&(k.contentElementRef=q.first),t.mGM(q=t.lsd())&&(k.scrollElementRef=q.first),t.mGM(q=t.lsd())&&(k.paddingElementRef=q.first)}},inputs:{items:"items",markedItem:"markedItem",position:"position",appendTo:"appendTo",bufferAmount:"bufferAmount",virtualScroll:"virtualScroll",headerTemplate:"headerTemplate",footerTemplate:"footerTemplate",filterValue:"filterValue"},outputs:{update:"update",scroll:"scroll",scrollToEnd:"scrollToEnd",outsideClick:"outsideClick"},features:[t.OA$],ngContentSelectors:p,decls:9,vars:6,consts:[["scroll",""],["padding",""],["content",""],["class","ng-dropdown-header",4,"ngIf"],["role","listbox",1,"ng-dropdown-panel-items","scroll-host"],["class","ng-dropdown-footer",4,"ngIf"],[1,"ng-dropdown-header"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng-dropdown-footer"]],template:function(M,k){1&M&&(t.NAR(),t.DNE(0,o,2,4,"div",3),t.j41(1,"div",4,0),t.nrm(3,"div",null,1),t.j41(5,"div",null,2),t.SdG(7),t.k0s()(),t.DNE(8,i,2,4,"div",5)),2&M&&(t.Y8G("ngIf",k.headerTemplate),t.R7$(3),t.AVh("total-padding",k.virtualScroll),t.R7$(2),t.AVh("scrollable-content",k.virtualScroll&&k.items.length),t.R7$(3),t.Y8G("ngIf",k.footerTemplate))},dependencies:[c.bT,c.T3],encapsulation:2,changeDetection:0})}}return w})(),Ht=(()=>{class w{get disabled(){return this._disabled}set disabled(s){this._disabled=this._isDisabled(s)}constructor(s){this.elementRef=s,this.stateChange$=new A.B,this._disabled=!1}get label(){return(this.elementRef.nativeElement.textContent||"").trim()}ngOnChanges(s){s.disabled&&this.stateChange$.next({value:this.value,disabled:this._disabled})}ngAfterViewChecked(){this.label!==this._previousLabel&&(this._previousLabel=this.label,this.stateChange$.next({value:this.value,disabled:this._disabled,label:this.elementRef.nativeElement.innerHTML}))}ngOnDestroy(){this.stateChange$.complete()}_isDisabled(s){return null!=s&&"false"!=`${s}`}static{this.\u0275fac=function(M){return new(M||w)(t.rXU(t.aKT))}}static{this.\u0275cmp=t.VBU({type:w,selectors:[["ng-option"]],inputs:{value:"value",disabled:"disabled"},features:[t.OA$],ngContentSelectors:p,decls:1,vars:0,template:function(M,k){1&M&&(t.NAR(),t.SdG(0))},encapsulation:2,changeDetection:0})}}return w})(),Yt=(()=>{class w{constructor(){this.notFoundText="No items found",this.typeToSearchText="Type to search",this.addTagText="Add item",this.loadingText="Loading...",this.clearAllText="Clear all",this.disableVirtualScroll=!0,this.openOnEnter=!0,this.appearance="underline"}static{this.\u0275fac=function(M){return new(M||w)}}static{this.\u0275prov=t.jDH({token:w,factory:w.\u0275fac,providedIn:"root"})}}return w})(),Vt=(()=>{class w{warn(s){console.warn(s)}static{this.\u0275fac=function(M){return new(M||w)}}static{this.\u0275prov=t.jDH({token:w,factory:w.\u0275fac,providedIn:"root"})}}return w})();const $t=new t.nKC("ng-select-selection-model");let Kt=(()=>{class w{get items(){return this._items}set items(s){null===s&&(s=[]),this._itemsAreUsed=!0,this._items=s}get compareWith(){return this._compareWith}set compareWith(s){if(null!=s&&!vt(s))throw Error("`compareWith` must be a function.");this._compareWith=s}get clearSearchOnAdd(){return ot(this._clearSearchOnAdd)?this._clearSearchOnAdd:ot(this.config.clearSearchOnAdd)?this.config.clearSearchOnAdd:this.closeOnSelect}set clearSearchOnAdd(s){this._clearSearchOnAdd=s}get deselectOnClick(){return ot(this._deselectOnClick)?this._deselectOnClick:ot(this.config.deselectOnClick)?this.config.deselectOnClick:this.multiple}set deselectOnClick(s){this._deselectOnClick=s}get disabled(){return this.readonly||this._disabled}get filtered(){return!!this.searchTerm&&this.searchable||this._isComposing}get single(){return!this.multiple}get _editableSearchTerm(){return this.editableSearchTerm&&!this.multiple}constructor(s,M,k,q,at,yt,Pt){this.classes=s,this.autoFocus=M,this.config=k,this._cd=yt,this._console=Pt,this.markFirst=!0,this.dropdownPosition="auto",this.loading=!1,this.closeOnSelect=!0,this.hideSelected=!1,this.selectOnTab=!1,this.bufferAmount=4,this.selectableGroup=!1,this.selectableGroupAsModel=!0,this.searchFn=null,this.trackByFn=null,this.clearOnBackspace=!0,this.labelForId=null,this.inputAttrs={},this.readonly=!1,this.searchWhileComposing=!0,this.minTermLength=0,this.editableSearchTerm=!1,this.keyDownFn=Ot=>!0,this.multiple=!1,this.addTag=!1,this.searchable=!0,this.clearable=!0,this.isOpen=!1,this.blurEvent=ne
1w t.bkB,this.focusEvent=new t.bkB,this.changeEvent=new t.bkB,this.openEvent=new t.bkB,this.closeEvent=new t.bkB,this.searchEvent=new t.bkB,this.clearEvent=new t.bkB,this.addEvent=new t.bkB,this.removeEvent=new t.bkB,this.scroll=new t.bkB,this.scrollToEnd=new t.bkB,this.useDefaultClass=!0,this.viewPortItems=[],this.searchTerm=null,this.dropdownId=It(),this.escapeHTML=!0,this._items=[],this._defaultLabel="label",this._pressedKeys=[],this._isComposing=!1,this._destroy$=new A.B,this._keyPress$=new A.B,this._onChange=Ot=>{},this._onTouched=()=>{},this.clearItem=Ot=>{const Gt=this.selectedItems.find(Lt=>Lt.value===Ot);this.unselect(Gt)},this.trackByOption=(Ot,Gt)=>this.trackByFn?this.trackByFn(Gt.value):Gt,this._mergeGlobalConfig(k),this.itemsList=new Nt(this,q()),this.element=at.nativeElement}get selectedItems(){return this.itemsList.selectedItems}get selectedValues(){return this.selectedItems.map(s=>s.value)}get hasValue(){return this.selectedItems.length>0}get currentPanelPosition(){if(this.dropdownPanel)return this.dropdownPanel.currentPosition}ngOnInit(){this._handleKeyPresses(),this._setInputAttributes()}ngOnChanges(s){s.multiple&&this.itemsList.clearSelected(),s.items&&this._setItems(s.items.currentValue||[]),s.isOpen&&(this._manualOpen=ot(s.isOpen.currentValue))}ngAfterViewInit(){this._itemsAreUsed||(this.escapeHTML=!1,this._setItemsFromNgOptions()),ot(this.autoFocus)&&this.focus()}ngOnDestroy(){this._destroy$.next(),this._destroy$.complete()}handleKeyDown(s){if(Bt[s.which]){if(!1===this.keyDownFn(s))return;this.handleKeyCode(s)}else s.key&&1===s.key.length&&this._keyPress$.next(s.key.toLocaleLowerCase())}handleKeyCode(s){this.clearButton&&this.clearButton.nativeElement===s.target?this.handleKeyCodeClear(s):this.handleKeyCodeInput(s)}handleKeyCodeInput(s){switch(s.which){case Bt.ArrowDown:this._handleArrowDown(s);break;case Bt.ArrowUp:this._handleArrowUp(s);break;case Bt.Space:this._handleSpace(s);break;case Bt.Enter:this._handleEnter(s);break;case Bt.Tab:this._handleTab(s);break;case Bt.Esc:this.close(),s.preventDefault();break;case Bt.Backspace:this._handleBackspace()}}handleKeyCodeClear(s){s.which===Bt.Enter&&(this.handleClearClick(),s.preventDefault())}handleMousedown(s){const M=s.target;"INPUT"!==M.tagName&&s.preventDefault(),M.classList.contains("ng-clear-wrapper")?this.handleClearClick():M.classList.contains("ng-arrow-wrapper")?this.handleArrowClick():M.classList.contains("ng-value-icon")||(this.focused||this.focus(),this.searchable?this.open():this.toggle())}handleArrowClick(){this.isOpen?this.close():this.open()}handleClearClick(){this.hasValue&&(this.itemsList.clearSelected(!0),this._updateNgModel()),this._clearSearch(),this.focus(),this.clearEvent.emit(),this._onSelectionChanged()}clearModel(){this.clearable&&(this.itemsList.clearSelected(),this._updateNgModel())}writeValue(s){this.itemsList.clearSelected(),this._handleWriteValue(s),this._cd.markForCheck()}registerOnChange(s){this._onChange=s}registerOnTouched(s){this._onTouched=s}setDisabledState(s){this._disabled=s,this._cd.markForCheck()}toggle(){this.isOpen?this.close():this.open()}open(){this.disabled||this.isOpen||this._manualOpen||!this._isTypeahead&&!this.addTag&&this.itemsList.noItemsToSelect||(this.isOpen=!0,this.itemsList.markSelectedOrDefault(this.markFirst),this.openEvent.emit(),this.searchTerm||this.focus(),this.detectChanges())}close(){!this.isOpen||this._manualOpen||(this.isOpen=!1,this._isComposing=!1,this._editableSearchTerm?this.itemsList.resetFilteredItems():this._clearSearch(),this.itemsList.unmarkItem(),this._onTouched(),this.closeEvent.emit(),this._cd.markForCheck())}toggleItem(s){!s||s.disabled||this.disabled||(this.deselectOnClick&&s.selected?this.unselect(s):this.select(s),this._editableSearchTerm&&this._setSearchTermFromItems(),this._onSelectionChanged())}select(s){s.selected||(this.itemsList.select(s),this.clearSearchOnAdd&&!this._editableSearchTerm&&this._clearSearch(),this._updateNgModel(),this.multiple&&this.addEvent.emit(s.value)),(this.closeOnSelect||this.itemsList.noItemsToSelect)&&this.close()}focus(){this.searchInput.nativeElement.focus()}blur(){this.searchInput.nativeElement.blur()}unselect(s){s&&(this.itemsList.unselect(s),this.focus(),this._updateNgModel(),this.removeEvent.emit(s.value))}selectTag(){let s;s=vt(this.addTag)?this.addTag(this.searchTerm):this._primitive?this.searchTerm:{[this.bindLabel]:this.searchTerm};const M=k=>this._isTypeahead||!this.isOpen?this.itemsList.mapItem(k,null):this.itemsList.addItem(k);!function ht(w){return w instanceof Promise}(s)?s&&this.select(M(s)):s.then(k=>this.select(M(k))).catch(()=>{})}showClear(){return this.clearable&&(this.hasValue||this.searchTerm)&&!this.disabled}focusOnClear(){this.blur(),this.clearButton&&this.clearButton.nativeElement.focus()}
1get showAddTag(){if(!this._validTerm)return!1;const s=this.searchTerm.toLowerCase().trim();return this.addTag&&!this.itemsList.filteredItems.some(M=>M.label.toLowerCase()===s)&&(!this.hideSelected&&this.isOpen||!this.selectedItems.some(M=>M.label.toLowerCase()===s))&&!this.loading}showNoItemsFound(){const s=0===this.itemsList.filteredItems.length;return(s&&!this._isTypeahead&&!this.loading||s&&this._isTypeahead&&this._validTerm&&!this.loading)&&!this.showAddTag}showTypeToSearch(){return 0===this.itemsList.filteredItems.length&&this._isTypeahead&&!this._validTerm&&!this.loading}onCompositionStart(){this._isComposing=!0}onCompositionEnd(s){this._isComposing=!1,!this.searchWhileComposing&&this.filter(s)}filter(s){this._isComposing&&!this.searchWhileComposing||(this.searchTerm=s,this._isTypeahead&&(this._validTerm||0===this.minTermLength)&&this.typeahead.next(s),this._isTypeahead||(this.itemsList.filter(this.searchTerm),this.isOpen&&this.itemsList.markSelectedOrDefault(this.markFirst)),this.searchEvent.emit({term:s,items:this.itemsList.filteredItems.map(M=>M.value)}),this.open())}onInputFocus(s){this.focused||(this._editableSearchTerm&&this._setSearchTermFromItems(),this.element.classList.add("ng-select-focused"),this.focusEvent.emit(s),this.focused=!0)}onInputBlur(s){this.element.classList.remove("ng-select-focused"),this.blurEvent.emit(s),!this.isOpen&&!this.disabled&&this._onTouched(),this._editableSearchTerm&&this._setSearchTermFromItems(),this.focused=!1}onItemHover(s){s.disabled||this.itemsList.markItem(s)}detectChanges(){this._cd.destroyed||this._cd.detectChanges()}_setSearchTermFromItems(){const s=this.selectedItems&&this.selectedItems[0];this.searchTerm=s&&s.label||null}_setItems(s){const M=s[0];this.bindLabel=this.bindLabel||this._defaultLabel,this._primitive=ot(M)?!lt(M):this._primitive||this.bindLabel===this._defaultLabel,this.itemsList.setItems(s),s.length>0&&this.hasValue&&this.itemsList.mapSelectedItems(),this.isOpen&&ot(this.searchTerm)&&!this._isTypeahead&&this.itemsList.filter(this.searchTerm),(this._isTypeahead||this.isOpen)&&this.itemsList.markSelectedOrDefault(this.markFirst)}_setItemsFromNgOptions(){const s=k=>{this.items=k.map(q=>({$ngOptionValue:q.value,$ngOptionLabel:q.elementRef.nativeElement.innerHTML,disabled:q.disabled})),this.itemsList.setItems(this.items),this.hasValue&&this.itemsList.mapSelectedItems(),this.detectChanges()},M=()=>{const k=(0,u.h)(this.ngOptions.changes,this._destroy$);(0,u.h)(...this.ngOptions.map(q=>q.stateChange$)).pipe((0,Y.Q)(k)).subscribe(q=>{const at=this.itemsList.findItem(q.value);at.disabled=q.disabled,at.label=q.label||at.label,this._cd.detectChanges()})};this.ngOptions.changes.pipe((0,G.Z)(this.ngOptions),(0,Y.Q)(this._destroy$)).subscribe(k=>{this.bindLabel=this._defaultLabel,s(k),M()})}_isValidWriteValue(s){if(!ot(s)||this.multiple&&""===s||Array.isArray(s)&&0===s.length)return!1;const M=k=>!(!ot(this.compareWith)&&lt(k)&&this.bindValue&&(this._console.warn(`Setting object(${JSON.stringify(k)}) as your model with bindValue is not allowed unless [compareWith] is used.`),1));return this.multiple?Array.isArray(s)?s.every(k=>M(k)):(this._console.warn("Multiple select ngModel should be array."),!1):M(s)}_handleWriteValue(s){if(!this._isValidWriteValue(s))return;const M=k=>{let q=this.itemsList.findItem(k);if(q)this.itemsList.select(q);else{const at=lt(k);at||!at&&!this.bindValue?this.itemsList.select(this.itemsList.mapItem(k,null)):this.bindValue&&(q={[this.bindLabel]:null,[this.bindValue]:k},this.itemsList.select(this.itemsList.mapItem(q,null)))}};this.multiple?s.forEach(k=>M(k)):M(s)}_handleKeyPresses(){this.searchable||this._keyPress$.pipe((0,Y.Q)(this._destroy$),(0,C.M)(s=>this._pressedKeys.push(s)),(0,y.B)(200),(0,T.p)(()=>this._pressedKeys.length>0),(0,E.T)(()=>this._pressedKeys.join(""))).subscribe(s=>{const M=this.itemsList.findByLabel(s);M&&(this.isOpen?(this.itemsList.markItem(M),this._scrollToMarked(),this._cd.markForCheck()):this.select(M)),this._pressedKeys=[]})}_setInputAttributes(){const s=this.searchInput.nativeElement,M={type:"text",autocorrect:"off",autocapitalize:"off",autocomplete:this.labelForId?"off":this.dropdownId,...this.inputAttrs};for(const k of Object.keys(M))s.setAttribute(k,M[k])}_updateNgModel(){const s=[];for(const k of this.selectedItems)if(this.bindValue){let q=null;q=k.children?k.value[(this.groupValue?this.bindValue:this.groupBy)||this.groupBy]:this.itemsList.resolveNested(k.value,this.bindValue),s.push(q)}else s.push(k.value);const M=this.selectedItems.map(k=>k.value);this.multiple?(this._onChange(s),this.changeEvent.emit(M)):(this._onChange(ot(s[0])?s[0]:null),this.changeEvent.emit(M[0])),this._cd.markForCheck()}_clearSearch(){this.searchTerm&&(this._changeSearch(null),this.itemsList.resetFilteredItems())}_changeSearch(s){this.searchTerm=s,this._isTypeahead&&this.typeahead.next(s)}_scrollToMarked(){!this.isOpen||!this.dropdownPanel||this.dropdownPanel.scrollTo(this.itemsList.markedItem)}_scrollToTag(){!this.isOpen||!this.dropdownPanel||this.dropdownPanel.scrollToTag()}_onSelectionChanged(){this.isOpen&&this.deselectOnClick&&this.appendTo&&(this._cd.detectChanges(),this.dropdownPanel.adjustPosition())}_handleTab(s){if(!1===this.isOpen)if(this.showClear())this.focusOnClear(),s.preventDefault();else if(!this.addTag)return;this.selectOnTab?this.itemsList.markedItem?(this.toggleItem(this.itemsList.markedItem),s.preventDefault()):this.showAddTag?(this.selectTag(),s.preventDefault()):this.close():this.close()}_handleEnter(s){if(this.isOpen||this._manualOpen)this.itemsList.markedItem?this.toggleItem(this.itemsList.markedItem):this.showAddTag&&this.selectTag();else{if(!this.openOnEnter)return;this.open()}s.preventDefault()}_handleSpace(s){this.isOpen||this._manualOpen||(this.open(),s.preventDefault())}_handleArrowDown(s){this._nextItemIsTag(1)?(this.itemsList.unmarkItem(),this._scrollToTag()):(this.itemsList.markNextItem(),this._scrollToMarked()),this.open(),s.preventDefault()}_handleArrowUp(s){this.isOpen&&(this._nextItemIsTag(-1)?(this.itemsList.unmarkItem(),this._scrollToTag()):(this.itemsList.markPreviousItem(),this._scrollToMarked()),s.preventDefault())}_nextItemIsTag(s){const M=this.itemsList.markedIndex+s;return this.addTag&&this.searchTerm&&this.itemsList.markedItem&&(M<0||M===this.itemsList.filteredItems.length)}_handleBackspace(){this.searchTerm||!this.clearable||!this.clearOnBackspace||!this.hasValue||(this.multiple?this.unselect(this.itemsList.lastSelectedItem):this.clearModel())}get _isTypeahead(){return this.typeahead&&this.typeahead.observers.length>0}get _validTerm(){const s=this.searchTerm&&this.searchTerm.trim();return s&&s.length>=this.minTermLength}_mergeGlobalConfig(s){this.placeholder=this.placeholder||s.placeholder,this.notFoundText=this.notFoundText||s.notFoundText,this.typeToSearchText=this.typeToSearchText||s.typeToSearchText,this.addTagText=this.addTagText||s.addTagText,this.loadingText=this.loadingText||s.loadingText,this.clearAllText=this.clearAllText||s.clearAllText,this.virtualScroll=ot(this.virtualScroll)?this.virtualScroll:!!ot(s.disableVirtualScroll)&&!s.disableVirtualScroll,this.openOnEnter=ot(this.openOnEnter)?this.openOnEnter:s.openOnEnter,this.appendTo=this.appendTo||s.appendTo,this.bindValue=this.bindValue||s.bindValue,this.bindLabel=this.bindLabel||s.bindLabel,this.appearance=this.appearance||s.appearance}static{this.\u0275fac=function(M){return new(M||w)(t.kS0("class"),t.kS0("autofocus"),t.rXU(Yt),t.rXU($t),t.rXU(t.aKT),t.rXU(t.gRc),t.rXU(Vt))}}static{this.\u0275cmp=t.VBU({type:w,selectors:[["ng-select"]],contentQueries:function(M,
1k,q){if(1&M&&(t.wni(q,Ct,5,t.C4Q),t.wni(q,gt,5,t.C4Q),t.wni(q,ft,5,t.C4Q),t.wni(q,bt,5,t.C4Q),t.wni(q,xt,5,t.C4Q),t.wni(q,Dt,5,t.C4Q),t.wni(q,Mt,5,t.C4Q),t.wni(q,Tt,5,t.C4Q),t.wni(q,At,5,t.C4Q),t.wni(q,Ft,5,t.C4Q),t.wni(q,St,5,t.C4Q),t.wni(q,Ht,5)),2&M){let at;t.mGM(at=t.lsd())&&(k.optionTemplate=at.first),t.mGM(at=t.lsd())&&(k.optgroupTemplate=at.first),t.mGM(at=t.lsd())&&(k.labelTemplate=at.first),t.mGM(at=t.lsd())&&(k.multiLabelTemplate=at.first),t.mGM(at=t.lsd())&&(k.headerTemplate=at.first),t.mGM(at=t.lsd())&&(k.footerTemplate=at.first),t.mGM(at=t.lsd())&&(k.notFoundTemplate=at.first),t.mGM(at=t.lsd())&&(k.typeToSearchTemplate=at.first),t.mGM(at=t.lsd())&&(k.loadingTextTemplate=at.first),t.mGM(at=t.lsd())&&(k.tagTemplate=at.first),t.mGM(at=t.lsd())&&(k.loadingSpinnerTemplate=at.first),t.mGM(at=t.lsd())&&(k.ngOptions=at)}},viewQuery:function(M,k){if(1&M&&(t.GBs(Ut,5),t.GBs(e,7),t.GBs(r,5)),2&M){let q;t.mGM(q=t.lsd())&&(k.dropdownPanel=q.first),t.mGM(q=t.lsd())&&(k.searchInput=q.first),t.mGM(q=t.lsd())&&(k.clearButton=q.first)}},hostVars:20,hostBindings:function(M,k){1&M&&t.bIt("keydown",function(at){return k.handleKeyDown(at)}),2&M&&t.AVh("ng-select-typeahead",k.typeahead)("ng-select-multiple",k.multiple)("ng-select-taggable",k.addTag)("ng-select-searchable",k.searchable)("ng-select-clearable",k.clearable)("ng-select-opened",k.isOpen)("ng-select",k.useDefaultClass)("ng-select-disabled",k.disabled)("ng-select-filtered",k.filtered)("ng-select-single",k.single)},inputs:{bindLabel:"bindLabel",bindValue:"bindValue",markFirst:"markFirst",placeholder:"placeholder",notFoundText:"notFoundText",typeToSearchText:"typeToSearchText",addTagText:"addTagText",loadingText:"loadingText",clearAllText:"clearAllText",appearance:"appearance",dropdownPosition:"dropdownPosition",appendTo:"appendTo",loading:"loading",closeOnSelect:"closeOnSelect",hideSelected:"hideSelected",selectOnTab:"selectOnTab",openOnEnter:"openOnEnter",maxSelectedItems:"maxSelectedItems",groupBy:"groupBy",groupValue:"groupValue",bufferAmount:"bufferAmount",virtualScroll:"virtualScroll",selectableGroup:"selectableGroup",selectableGroupAsModel:"selectableGroupAsModel",searchFn:"searchFn",trackByFn:"trackByFn",clearOnBackspace:"clearOnBackspace",labelForId:"labelForId",inputAttrs:"inputAttrs",tabIndex:"tabIndex",readonly:"readonly",searchWhileComposing:"searchWhileComposing",minTermLength:"minTermLength",editableSearchTerm:"editableSearchTerm",keyDownFn:"keyDownFn",typeahead:"typeahead",multiple:"multiple",addTag:"addTag",searchable:"searchable",clearable:"clearable",isOpen:"isOpen",items:"items",compareWith:"compareWith",clearSearchOnAdd:"clearSearchOnAdd",deselectOnClick:"deselectOnClick"},outputs:{blurEvent:"blur",focusEvent:"focus",changeEvent:"change",openEvent:"open",closeEvent:"close",searchEvent:"search",clearEvent:"clear",addEvent:"add",removeEvent:"remove",scroll:"scroll",scrollToEnd:"scrollToEnd"},features:[t.Jv_([{provide:Z.kq,useExisting:(0,t.Rfq)(()=>w),multi:!0},jt]),t.OA$],decls:14,vars:19,consts:[["searchInput",""],["defaultLabelTemplate",""],["defaultLoadingSpinnerTemplate",""],["clearButton",""],["defaultOptionTemplate",""],["defaultTagTemplate",""],["defaultNotFoundTemplate",""],["defaultTypeToSearchTemplate",""],["defaultLoadingTextTemplate",""],[1,"ng-select-container",3,"mousedown"],[1,"ng-value-container"],[1,"ng-placeholder"],[4,"ngIf"],["role","combobox","aria-haspopup","listbox",1,"ng-input"],["aria-autocomplete","list",3,"input","compositionstart","compositionend","focus","blur","change","readOnly","disabled","value"],["class","ng-clear-wrapper","tabindex","0",3,"title",4,"ngIf"],[1,"ng-arrow-wrapper"],[1,"ng-arrow"],["class","ng-dropdown-panel","role","listbox","aria-label","Options list",3,"virtualScroll","bufferAmount","appendTo","position","headerTemplate","footerTemplate","filterValue","items","markedItem","ng-select-multiple","ngClass","id","update","scroll","scrollToEnd","outsideClick",4,"ngIf"],["class","ng-value",3,"ng-value-disabled",4,"ngFor","ngForOf","ngForTrackBy"],[1,"ng-value"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["aria-hidden","true",1,"ng-value-icon","left",3,"click"],[1,"ng-value-label",3,"ngItemLabel","escape"],[3,"ngTemplateOutlet"],[1,"ng-spinner-loader"],["tabindex","0",1,"ng-clear-wrapper",3,"title"],["aria-hidden","true",1,"ng-clear"],["role","listbox","aria-label","Options list",1,"ng-dropdown-panel",3,"update","scroll","scrollToEnd","outsideClick","virtualScroll","bufferAmount","appendTo","position","headerTemplate","footerTemplate","filterValue","items","markedItem","ngClass","id"],["class","ng-option",3,"ng-option-disabled","ng-option-selected","ng-optgroup","ng-option","ng-option-child","ng-option-marked","click","mouseover",4,"ngFor","ngForOf","ngForTrackBy"],["class","ng-option","role","option",3,"ng-option-marked","mouseover","click",4,"ngIf"],[1,"ng-option",3,"click","mouseover"],[1,"ng-option-label",3,"ngItemLabel","escape"],["role","option",1,"ng-option",3,"mouseover","click"],[1,"ng-tag-label"],[1,"ng-option","ng-option-disabled"]],template:function(M,
1k){if(1&M){const q=t.RV6();t.j41(0,"div",9),t.bIt("mousedown",function(yt){return t.eBV(q),t.Njj(k.handleMousedown(yt))}),t.j41(1,"div",10)(2,"div",11),t.EFF(3),t.k0s(),t.DNE(4,P,2,2,"ng-container",12)(5,R,1,5,null,12),t.j41(6,"div",13)(7,"input",14,0),t.bIt("input",function(){t.eBV(q);const yt=t.sdS(8);return t.Njj(k.filter(yt.value))})("compositionstart",function(){return t.eBV(q),t.Njj(k.onCompositionStart())})("compositionend",function(){t.eBV(q);const yt=t.sdS(8);return t.Njj(k.onCompositionEnd(yt.value))})("focus",function(yt){return t.eBV(q),t.Njj(k.onInputFocus(yt))})("blur",function(yt){return t.eBV(q),t.Njj(k.onInputBlur(yt))})("change",function(yt){return t.eBV(q),t.Njj(yt.stopPropagation())}),t.k0s()()(),t.DNE(9,L,4,1,"ng-container",12)(10,F,4,1,"span",15),t.j41(11,"span",16),t.nrm(12,"span",17),t.k0s()(),t.DNE(13,Q,7,19,"ng-dropdown-panel",18)}2&M&&(t.AVh("ng-appearance-outline","outline"===k.appearance)("ng-has-value",k.hasValue),t.R7$(3),t.JRh(k.placeholder),t.R7$(),t.Y8G("ngIf",(!k.multiLabelTemplate||!k.multiple)&&k.selectedItems.length>0),t.R7$(),t.Y8G("ngIf",k.multiple&&k.multiLabelTemplate&&k.selectedValues.length>0),t.R7$(),t.BMQ("aria-expanded",k.isOpen)("aria-owns",k.isOpen?k.dropdownId:null),t.R7$(),t.Y8G("readOnly",!k.searchable||k.itemsList.maxItemsSelected)("disabled",k.disabled)("value",k.searchTerm?k.searchTerm:""),t.BMQ("id",k.labelForId)("tabindex",k.tabIndex)("aria-activedescendant",k.isOpen?null==k.itemsList||null==k.itemsList.markedItem?null:k.itemsList.markedItem.htmlId:null)("aria-controls",k.isOpen?k.dropdownId:null),t.R7$(2),t.Y8G("ngIf",k.loading),t.R7$(),t.Y8G("ngIf",k.showClear()),t.R7$(3),t.Y8G("ngIf",k.isOpen))},dependencies:[c.YU,c.Sq,c.bT,c.T3,Ut,Et],styles:['@charset "UTF-8";.ng-select{position:relative;display:block;box-sizing:border-box}.ng-select div,.ng-select input,.ng-select span{box-sizing:border-box}.ng-select [hidden]{display:none}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input{opacity:1}.ng-select.ng-select-opened .ng-select-container{z-index:1001}.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder,.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{-webkit-user-select:none;user-select:none;cursor:default}.ng-select.ng-select-disabled .ng-arrow-wrapper{cursor:default}.ng-select.ng-select-filtered .ng-placeholder{display:none}.ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}.ng-select .ng-select-container .ng-value-container{display:flex;flex:1}.ng-select .ng-select-container .ng-value-container .ng-input{opacity:0}.ng-select .ng-select-container .ng-value-container .ng-input>input{box-sizing:content-box;background:none transparent;border:0 none;box-shadow:none;outline:none;padding:0;cursor:default;width:100%}.ng-select .ng-select-container .ng-value-container .ng-input>input::-ms-clear{display:none}.ng-select .ng-select-container .ng-value-container .ng-input>input[readonly]{-webkit-user-select:none;user-select:none;width:0;padding:0}.ng-select.ng-select-single.ng-select-filtered .ng-select-container .ng-value-container .ng-value{visibility:hidden}.ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{position:absolute;left:0;width:100%}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{flex-wrap:wrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{position:absolute}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{white-space:nowrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{cursor:pointer}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{flex:1;z-index:2}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{z-index:1}.ng-select .ng-clear-wrapper{cursor:pointer;position:relative;width:17px;-webkit-user-select:none;user-select:none}.ng-select .ng-clear-wrapper .ng-clear{display:inline-block;font-size:18px;line-height:1;pointer-events:none}.ng-select .ng-spinner-loader{border-radius:50%;width:17px;height:17px;margin-right:5px;font-size:10px;position:relative;text-indent:-9999em;border-top:2px solid rgba(66,66,66,.2);border-right:2px solid rgba(66,66,66,.2);border-bottom:2px solid rgba(66,66,66,.2);border-left:2px solid #424242;transform:translateZ(0);animation:load8 .8s infinite linear}.ng-select .ng-spinner-loader:after{border-radius:50%;width:17px;height:17px}@keyframes load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ng-select .ng-arrow-wrapper{cursor:pointer;position:relative;text-align:center;-webkit-user-select:none;user-select:none}.ng-select .ng-arrow-wrapper .ng-arrow{pointer-events:none;display:inline-block;height:0;width:0;position:relative}.ng-dropdown-panel{box-sizing:border-box;position:absolute;opacity:0;width:100%;z-index:1050;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .ng-dropdown-panel-items{display:block;height:auto;box-sizing:border-box;max-height:240px;overflow-y:auto}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;
1cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label:empty:before{content:"\\200b"}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .highlighted{font-weight:700;text-decoration:underline}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.disabled{cursor:default}.ng-dropdown-panel .scroll-host{overflow:hidden;overflow-y:auto;position:relative;display:block;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .scrollable-content{top:0;left:0;width:100%;height:100%;position:absolute}.ng-dropdown-panel .total-padding{width:1px;opacity:0}\n'],encapsulation:2,changeDetection:0})}}return w})();function Qt(){return new Zt}class Zt{constructor(){this._selected=[]}get value(){return this._selected}select(z,s,M){if(z.selected=!0,(!z.children||!s&&M)&&this._selected.push(z),s)if(z.parent){const k=z.parent.children.length,q=z.parent.children.filter(at=>at.selected).length;z.parent.selected=k===q}else z.children&&(this._setChildrenSelectedState(z.children,!0),this._removeChildren(z),this._selected=M&&this._activeChildren(z)?[...this._selected.filter(k=>k.parent!==z),z]:[...this._selected,...z.children.filter(k=>!k.disabled)])}unselect(z,s){if(this._selected=this._selected.filter(M=>M!==z),z.selected=!1,s)if(z.parent&&z.parent.selected){const M=z.parent.children;this._removeParent(z.parent),this._removeChildren(z.parent),this._selected.push(...M.filter(k=>k!==z&&!k.disabled)),z.parent.selected=!1}else z.children&&(this._setChildrenSelectedState(z.children,!1),this._removeChildren(z))}clear(z){this._selected=z?this._selected.filter(s=>s.disabled):[]}_setChildrenSelectedState(z,s){for(const M of z)M.disabled||(M.selected=s)}_removeChildren(z){this._selected=[...this._selected.filter(s=>s.parent!==z),...z.children.filter(s=>s.parent===z&&s.disabled&&s.selected)]}_removeParent(z){this._selected=this._selected.filter(s=>s!==z)}_activeChildren(z){return z.children.every(s=>!s.disabled||s.selected)}}let Jt=(()=>{class w{static{this.\u0275fac=function(M){return new(M||w)}}static{this.\u0275mod=t.$C({type:w})}static{this.\u0275inj=t.G2t({providers:[{provide:$t,useValue:Qt}],imports:[c.MD]})}}return w})()},66046:(_t,ut,f)=>{"use strict";f.d(ut,{H:()=>Z,_:()=>Y});var t=f(54438);let Z=(()=>{class n{constructor(C,y){this.el=C,this._zone=y,this.updateChange=new t.bkB(!0),this.chartInstance=new t.bkB}ngOnChanges(C){const y=C.update?.currentValue;(C.options||y)&&(this.wrappedUpdateOrCreateChart(),y&&this.updateChange.emit(!1))}wrappedUpdateOrCreateChart(){this.runOutsideAngular?this._zone.runOutsideAngular(()=>{this.updateOrCreateChart()}):this.updateOrCreateChart()}updateOrCreateChart(){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,this.chartInstance.emit(this.chart))}static{this.\u0275fac=function(y){return new(y||n)(t.rXU(t.aKT),t.rXU(t.SKi))}}static{this.\u0275cmp=t.VBU({type:n,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.OA$],decls:0,vars:0,template:function(y,T){},encapsulation:2})}}return n})(),Y=(()=>{class n{static{this.\u0275fac=function(y){return new(y||n)}}static{this.\u0275mod=t.$C({type:n})}static{this.\u0275inj=t.G2t({})}}return n})()}}]);

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